You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against 6038e2ab7957b65dd2e13ddd414c206718fb14b7.
This commit is contained in:
@@ -1193,7 +1193,7 @@ diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
|
||||
default:
|
||||
mat._14 = mat._24 = mat._34 = 0.0f; mat._44 = 1.0f;
|
||||
}
|
||||
@@ -4316,7 +4335,11 @@
|
||||
@@ -4382,7 +4401,11 @@
|
||||
unsigned int i;
|
||||
DWORD ttff;
|
||||
DWORD cop, aop, carg0, carg1, carg2, aarg0, aarg1, aarg2;
|
||||
@@ -1264,7 +1264,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader
|
||||
shader_arb_ps_local_constants(compiled, context, state, rt_height);
|
||||
}
|
||||
|
||||
@@ -7827,7 +7835,11 @@
|
||||
@@ -7839,7 +7847,11 @@
|
||||
|
||||
/* Now load the surface */
|
||||
if (wined3d_settings.offscreen_rendering_mode != ORM_FBO
|
||||
@@ -1276,7 +1276,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader
|
||||
== WINED3D_LOCATION_DRAWABLE
|
||||
&& !wined3d_resource_is_offscreen(&src_surface->container->resource))
|
||||
{
|
||||
@@ -7857,6 +7869,7 @@
|
||||
@@ -7869,6 +7881,7 @@
|
||||
/* Leave the opengl state valid for blitting */
|
||||
arbfp_blit_unset(context->gl_info);
|
||||
|
||||
@@ -1284,7 +1284,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader
|
||||
if (wined3d_settings.cs_multithreaded)
|
||||
context->gl_info->gl_ops.gl.p_glFinish();
|
||||
else if (wined3d_settings.strict_draw_ordering
|
||||
@@ -7868,6 +7881,17 @@
|
||||
@@ -7880,6 +7893,17 @@
|
||||
|
||||
wined3d_resource_validate_location(&dst_surface->resource, dst_surface->container->resource.draw_binding);
|
||||
wined3d_resource_invalidate_location(&dst_surface->resource, ~dst_surface->container->resource.draw_binding);
|
||||
@@ -4592,7 +4592,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -1548,9 +1548,17 @@
|
||||
@@ -1547,9 +1547,17 @@
|
||||
const struct wined3d_shader_reg_maps *reg_maps, const struct shader_glsl_ctx_priv *ctx_priv)
|
||||
{
|
||||
const struct wined3d_shader_version *version = ®_maps->shader_version;
|
||||
@@ -4610,7 +4610,7 @@ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
unsigned int i, extra_constants_needed = 0;
|
||||
const struct wined3d_shader_lconst *lconst;
|
||||
const char *prefix;
|
||||
@@ -1810,7 +1818,11 @@
|
||||
@@ -1809,7 +1817,11 @@
|
||||
{
|
||||
UINT in_count = min(vec4_varyings(version->major, gl_info), shader->limits->packed_input);
|
||||
|
||||
@@ -4622,7 +4622,7 @@ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
shader_addline(buffer, "varying vec4 %s_link[%u];\n", prefix, in_count);
|
||||
shader_addline(buffer, "vec4 %s_in[%u];\n", prefix, in_count);
|
||||
}
|
||||
@@ -1851,6 +1863,7 @@
|
||||
@@ -1850,6 +1862,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4630,7 +4630,7 @@ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
/* This happens because we do not have proper tracking of the
|
||||
* constant registers that are actually used, only the max
|
||||
* limit of the shader version.
|
||||
@@ -1859,6 +1872,23 @@
|
||||
@@ -1858,6 +1871,23 @@
|
||||
* it and just create the uniform.
|
||||
*/
|
||||
FIXME("Cannot find a free uniform for vpos correction params\n");
|
||||
@@ -5588,7 +5588,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
+
|
||||
+ if (op->set)
|
||||
+ {
|
||||
+ switch (op->flags & ~WINED3D_CKEY_COLORSPACE)
|
||||
+ switch (op->flags)
|
||||
+ {
|
||||
+ case WINED3D_CKEY_DST_BLT:
|
||||
+ texture->async.dst_blt_color_key = op->color_key;
|
||||
@@ -5620,7 +5620,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ switch (op->flags & ~WINED3D_CKEY_COLORSPACE)
|
||||
+ switch (op->flags)
|
||||
+ {
|
||||
+ case WINED3D_CKEY_DST_BLT:
|
||||
+ texture->async.color_key_flags &= ~WINED3D_CKEY_DST_BLT;
|
||||
@@ -6076,7 +6076,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
texture->lod = lod;
|
||||
|
||||
texture->texture_rgb.base_level = ~0u;
|
||||
@@ -602,6 +632,7 @@
|
||||
@@ -596,6 +626,7 @@
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -6084,7 +6084,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
/*
|
||||
if (wined3d_settings.cs_multithreaded)
|
||||
{
|
||||
@@ -610,6 +641,7 @@
|
||||
@@ -604,6 +635,7 @@
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -6092,7 +6092,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
wined3d_cs_emit_set_color_key(device->cs, texture, flags, color_key);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -665,10 +697,14 @@
|
||||
@@ -659,10 +691,14 @@
|
||||
}
|
||||
|
||||
if (device->d3d_initialized)
|
||||
@@ -6107,7 +6107,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
|
||||
texture->resource.format = format;
|
||||
texture->resource.multisample_type = multisample_type;
|
||||
@@ -794,6 +830,7 @@
|
||||
@@ -788,6 +824,7 @@
|
||||
static void texture2d_sub_resource_load(struct wined3d_resource *sub_resource,
|
||||
struct wined3d_context *context, BOOL srgb)
|
||||
{
|
||||
@@ -6115,7 +6115,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
surface_load(surface_from_resource(sub_resource), context, srgb);
|
||||
}
|
||||
|
||||
@@ -808,6 +845,19 @@
|
||||
@@ -802,6 +839,19 @@
|
||||
wined3d_resource_load_location(&surface->resource, context, surface->resource.map_binding);
|
||||
context_release(context);
|
||||
wined3d_resource_invalidate_location(&surface->resource, ~surface->resource.map_binding);
|
||||
@@ -6135,7 +6135,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
}
|
||||
|
||||
static void texture2d_sub_resource_cleanup(struct wined3d_resource *sub_resource)
|
||||
@@ -819,12 +869,25 @@
|
||||
@@ -813,12 +863,25 @@
|
||||
|
||||
static void texture2d_sub_resource_invalidate_location(struct wined3d_resource *sub_resource, DWORD location)
|
||||
{
|
||||
@@ -6161,7 +6161,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
}
|
||||
|
||||
static void texture2d_sub_resource_upload_data(struct wined3d_resource *sub_resource,
|
||||
@@ -903,6 +966,7 @@
|
||||
@@ -897,6 +960,7 @@
|
||||
|
||||
if (gl_info->supported[APPLE_CLIENT_STORAGE])
|
||||
{
|
||||
@@ -6169,7 +6169,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
if (surface->flags & (SFLAG_NONPOW2)
|
||||
|| texture->flags & WINED3D_TEXTURE_CONVERTED)
|
||||
{
|
||||
@@ -911,12 +975,26 @@
|
||||
@@ -905,12 +969,26 @@
|
||||
* WINED3D_TEXTURE_CONVERTED: The conversion destination memory is freed after loading the surface
|
||||
* heap_memory == NULL: Not defined in the extension. Seems to disable client storage effectively
|
||||
*/
|
||||
@@ -6196,7 +6196,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
surface->flags |= SFLAG_CLIENT;
|
||||
mem = surface->resource.heap_memory;
|
||||
|
||||
@@ -986,6 +1064,7 @@
|
||||
@@ -980,6 +1058,7 @@
|
||||
wined3d_texture_unload_gl_texture(texture);
|
||||
}
|
||||
|
||||
@@ -6204,7 +6204,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
static void wined3d_texture_load_location_invalidated(struct wined3d_resource *resource, DWORD location)
|
||||
{
|
||||
ERR("Should not be called on textures.\n");
|
||||
@@ -1005,6 +1084,13 @@
|
||||
@@ -999,6 +1078,13 @@
|
||||
wined3d_texture_unload,
|
||||
wined3d_texture_load_location_invalidated,
|
||||
wined3d_texture_load_location,
|
||||
@@ -6218,7 +6218,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
};
|
||||
|
||||
static HRESULT cubetexture_init(struct wined3d_texture *texture, const struct wined3d_resource_desc *desc,
|
||||
@@ -1021,7 +1107,9 @@
|
||||
@@ -1015,7 +1101,9 @@
|
||||
if (WINED3DFMT_UNKNOWN >= desc->format)
|
||||
{
|
||||
WARN("(%p) : Texture cannot be created with a format of WINED3DFMT_UNKNOWN.\n", texture);
|
||||
@@ -6228,7 +6228,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -1031,6 +1119,7 @@
|
||||
@@ -1025,6 +1113,7 @@
|
||||
if (!gl_info->supported[SGIS_GENERATE_MIPMAP])
|
||||
{
|
||||
WARN("No mipmap generation support, returning D3DERR_INVALIDCALL.\n");
|
||||
@@ -6236,7 +6236,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
HeapFree(GetProcessHeap(), 0, texture);
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
@@ -1039,6 +1128,14 @@
|
||||
@@ -1033,6 +1122,14 @@
|
||||
{
|
||||
WARN("WINED3DUSAGE_AUTOGENMIPMAP is set, and level count != 1, returning D3DERR_INVALIDCALL.\n");
|
||||
HeapFree(GetProcessHeap(), 0, texture);
|
||||
@@ -6251,7 +6251,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
}
|
||||
@@ -1059,7 +1156,9 @@
|
||||
@@ -1053,7 +1150,9 @@
|
||||
else
|
||||
{
|
||||
WARN("Attempted to create a NPOT cube texture (edge length %u) without GL support.\n", desc->width);
|
||||
@@ -6261,7 +6261,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
}
|
||||
@@ -1069,7 +1168,9 @@
|
||||
@@ -1063,7 +1162,9 @@
|
||||
surface_flags, device, parent, parent_ops, &texture_resource_ops)))
|
||||
{
|
||||
WARN("Failed to initialize texture, returning %#x\n", hr);
|
||||
@@ -6271,7 +6271,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return hr;
|
||||
}
|
||||
|
||||
@@ -1132,7 +1233,9 @@
|
||||
@@ -1126,7 +1227,9 @@
|
||||
if (WINED3DFMT_UNKNOWN >= desc->format)
|
||||
{
|
||||
WARN("(%p) : Texture cannot be created with a format of WINED3DFMT_UNKNOWN.\n", texture);
|
||||
@@ -6281,7 +6281,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -1163,7 +1266,9 @@
|
||||
@@ -1157,7 +1260,9 @@
|
||||
else
|
||||
{
|
||||
WARN("Attempted to create a mipmapped NPOT texture without unconditional NPOT support.\n");
|
||||
@@ -6291,7 +6291,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
}
|
||||
@@ -1176,6 +1281,7 @@
|
||||
@@ -1170,6 +1275,7 @@
|
||||
if (!gl_info->supported[SGIS_GENERATE_MIPMAP])
|
||||
{
|
||||
WARN("No mipmap generation support, returning WINED3DERR_INVALIDCALL.\n");
|
||||
@@ -6299,7 +6299,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
HeapFree(GetProcessHeap(), 0, texture);
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
@@ -1184,6 +1290,14 @@
|
||||
@@ -1178,6 +1284,14 @@
|
||||
{
|
||||
WARN("WINED3DUSAGE_AUTOGENMIPMAP is set, and level count != 1, returning WINED3DERR_INVALIDCALL.\n");
|
||||
HeapFree(GetProcessHeap(), 0, texture);
|
||||
@@ -6314,7 +6314,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
}
|
||||
@@ -1192,7 +1306,9 @@
|
||||
@@ -1186,7 +1300,9 @@
|
||||
surface_flags, device, parent, parent_ops, &texture_resource_ops)))
|
||||
{
|
||||
WARN("Failed to initialize texture, returning %#x.\n", hr);
|
||||
@@ -6324,7 +6324,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return hr;
|
||||
}
|
||||
|
||||
@@ -1278,12 +1394,25 @@
|
||||
@@ -1272,12 +1388,25 @@
|
||||
|
||||
static void texture3d_sub_resource_invalidate_location(struct wined3d_resource *sub_resource, DWORD location)
|
||||
{
|
||||
@@ -6350,7 +6350,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
}
|
||||
|
||||
static void texture3d_sub_resource_upload_data(struct wined3d_resource *sub_resource,
|
||||
@@ -1293,7 +1422,11 @@
|
||||
@@ -1287,7 +1416,11 @@
|
||||
struct wined3d_const_bo_address addr;
|
||||
unsigned int row_pitch, slice_pitch;
|
||||
|
||||
@@ -6362,7 +6362,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
if (row_pitch != data->row_pitch || slice_pitch != data->slice_pitch)
|
||||
FIXME("Ignoring row/slice pitch (%u/%u).\n", data->row_pitch, data->slice_pitch);
|
||||
|
||||
@@ -1318,7 +1451,11 @@
|
||||
@@ -1312,7 +1445,11 @@
|
||||
void *mem = NULL;
|
||||
|
||||
if (gl_info->supported[APPLE_CLIENT_STORAGE] && !format->convert
|
||||
@@ -6374,7 +6374,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
{
|
||||
TRACE("Enabling GL_UNPACK_CLIENT_STORAGE_APPLE for volume %p\n", volume);
|
||||
gl_info->gl_ops.gl.p_glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_TRUE);
|
||||
@@ -1365,6 +1502,7 @@
|
||||
@@ -1359,6 +1496,7 @@
|
||||
if (WINED3DFMT_UNKNOWN >= desc->format)
|
||||
{
|
||||
WARN("(%p) : Texture cannot be created with a format of WINED3DFMT_UNKNOWN.\n", texture);
|
||||
@@ -6382,7 +6382,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
HeapFree(GetProcessHeap(), 0, texture);
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
@@ -1373,6 +1511,14 @@
|
||||
@@ -1367,6 +1505,14 @@
|
||||
{
|
||||
WARN("(%p) : Texture cannot be created - no volume texture support.\n", texture);
|
||||
HeapFree(GetProcessHeap(), 0, texture);
|
||||
@@ -6397,7 +6397,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -1382,6 +1528,7 @@
|
||||
@@ -1376,6 +1522,7 @@
|
||||
if (!gl_info->supported[SGIS_GENERATE_MIPMAP])
|
||||
{
|
||||
WARN("No mipmap generation support, returning D3DERR_INVALIDCALL.\n");
|
||||
@@ -6405,7 +6405,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
HeapFree(GetProcessHeap(), 0, texture);
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
@@ -1390,6 +1537,14 @@
|
||||
@@ -1384,6 +1531,14 @@
|
||||
{
|
||||
WARN("WINED3DUSAGE_AUTOGENMIPMAP is set, and level count != 1, returning D3DERR_INVALIDCALL.\n");
|
||||
HeapFree(GetProcessHeap(), 0, texture);
|
||||
@@ -6420,7 +6420,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
}
|
||||
@@ -1417,7 +1572,9 @@
|
||||
@@ -1411,7 +1566,9 @@
|
||||
{
|
||||
WARN("Attempted to create a NPOT volume texture (%u, %u, %u) without GL support.\n",
|
||||
desc->width, desc->height, desc->depth);
|
||||
@@ -6430,7 +6430,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
}
|
||||
@@ -1427,7 +1584,9 @@
|
||||
@@ -1421,7 +1578,9 @@
|
||||
0, device, parent, parent_ops, &texture_resource_ops)))
|
||||
{
|
||||
WARN("Failed to initialize texture, returning %#x.\n", hr);
|
||||
@@ -6440,7 +6440,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return hr;
|
||||
}
|
||||
|
||||
@@ -1504,6 +1663,9 @@
|
||||
@@ -1498,6 +1657,9 @@
|
||||
if (FAILED(hr))
|
||||
{
|
||||
WARN("Failed to initialize texture, returning %#x.\n", hr);
|
||||
|
Reference in New Issue
Block a user