From c9b8050f9dcdb6355aabf477e736911d15774cd3 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 2 Aug 2019 08:48:28 +1000 Subject: [PATCH] Rebase against 559842ffc15f85b54a8731b6c6603468f9dd740b --- ...XME-in-RtlCaptureStackBackTrace-stub.patch | 25 --------- .../ntdll-RtlCaptureStackBackTrace/definition | 1 - patches/patchinstall.sh | 21 +------- ...for-vertex-shader-float-constants-if.patch | 52 +++++++++---------- ...d3d-Support-SWVP-mode-vertex-shaders.patch | 50 +++++++++--------- 5 files changed, 52 insertions(+), 97 deletions(-) delete mode 100644 patches/ntdll-RtlCaptureStackBackTrace/0001-ntdll-Silence-FIXME-in-RtlCaptureStackBackTrace-stub.patch delete mode 100644 patches/ntdll-RtlCaptureStackBackTrace/definition diff --git a/patches/ntdll-RtlCaptureStackBackTrace/0001-ntdll-Silence-FIXME-in-RtlCaptureStackBackTrace-stub.patch b/patches/ntdll-RtlCaptureStackBackTrace/0001-ntdll-Silence-FIXME-in-RtlCaptureStackBackTrace-stub.patch deleted file mode 100644 index 7d03ada1..00000000 --- a/patches/ntdll-RtlCaptureStackBackTrace/0001-ntdll-Silence-FIXME-in-RtlCaptureStackBackTrace-stub.patch +++ /dev/null @@ -1,25 +0,0 @@ -From c7dc4a7cb6ce194725d5f2eeaac279f6a27c0d40 Mon Sep 17 00:00:00 2001 -From: Jarkko Korpi -Date: Sun, 18 Dec 2016 00:53:33 +0200 -Subject: ntdll: Silence FIXME in RtlCaptureStackBackTrace stub function - ---- - dlls/ntdll/signal_x86_64.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c -index dbab1c5..be4d35d 100644 ---- a/dlls/ntdll/signal_x86_64.c -+++ b/dlls/ntdll/signal_x86_64.c -@@ -3942,7 +3942,7 @@ __ASM_GLOBAL_FUNC( RtlRaiseException, - */ - USHORT WINAPI RtlCaptureStackBackTrace( ULONG skip, ULONG count, PVOID *buffer, ULONG *hash ) - { -- FIXME( "(%d, %d, %p, %p) stub!\n", skip, count, buffer, hash ); -+ TRACE( "(%d, %d, %p, %p) stub!\n", skip, count, buffer, hash ); - return 0; - } - --- -2.9.0 - diff --git a/patches/ntdll-RtlCaptureStackBackTrace/definition b/patches/ntdll-RtlCaptureStackBackTrace/definition deleted file mode 100644 index 841d6570..00000000 --- a/patches/ntdll-RtlCaptureStackBackTrace/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [40868] Silence FIXME in RtlCaptureStackBackTrace stub function diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index dc845640..b585669b 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "fdf8d7176f59043999b34ff4facdcbee14a7d6aa" + echo "559842ffc15f85b54a8731b6c6603468f9dd740b" } # Show version information @@ -211,7 +211,6 @@ patch_enable_all () enable_ntdll_NtSetLdtEntries="$1" enable_ntdll_Pipe_SpecialCharacters="$1" enable_ntdll_ProcessQuotaLimits="$1" - enable_ntdll_RtlCaptureStackBackTrace="$1" enable_ntdll_RtlCreateUserThread="$1" enable_ntdll_RtlIpv4StringToAddress="$1" enable_ntdll_RtlQueryPackageIdentity="$1" @@ -765,9 +764,6 @@ patch_enable () ntdll-ProcessQuotaLimits) enable_ntdll_ProcessQuotaLimits="$2" ;; - ntdll-RtlCaptureStackBackTrace) - enable_ntdll_RtlCaptureStackBackTrace="$2" - ;; ntdll-RtlCreateUserThread) enable_ntdll_RtlCreateUserThread="$2" ;; @@ -5059,21 +5055,6 @@ if test "$enable_ntdll_ProcessQuotaLimits" -eq 1; then ) >> "$patchlist" fi -# Patchset ntdll-RtlCaptureStackBackTrace -# | -# | This patchset fixes the following Wine bugs: -# | * [#40868] Silence FIXME in RtlCaptureStackBackTrace stub function -# | -# | Modified files: -# | * dlls/ntdll/signal_x86_64.c -# | -if test "$enable_ntdll_RtlCaptureStackBackTrace" -eq 1; then - patch_apply ntdll-RtlCaptureStackBackTrace/0001-ntdll-Silence-FIXME-in-RtlCaptureStackBackTrace-stub.patch - ( - printf '%s\n' '+ { "Jarkko Korpi", "ntdll: Silence FIXME in RtlCaptureStackBackTrace stub function.", 1 },'; - ) >> "$patchlist" -fi - # Patchset ntdll-RtlIpv4StringToAddress # | # | This patchset fixes the following Wine bugs: diff --git a/patches/wined3d-SWVP-shaders/0001-wined3d-Use-UBO-for-vertex-shader-float-constants-if.patch b/patches/wined3d-SWVP-shaders/0001-wined3d-Use-UBO-for-vertex-shader-float-constants-if.patch index 552c8d96..6ede1584 100644 --- a/patches/wined3d-SWVP-shaders/0001-wined3d-Use-UBO-for-vertex-shader-float-constants-if.patch +++ b/patches/wined3d-SWVP-shaders/0001-wined3d-Use-UBO-for-vertex-shader-float-constants-if.patch @@ -1,4 +1,4 @@ -From 01ba7b49e6f47232502a0d5ad70c4e5ab238f4ac Mon Sep 17 00:00:00 2001 +From d200ec2393f74ab97b9e6b4aedc4d9960dfa2e9d Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Mon, 25 Feb 2019 13:17:01 +0300 Subject: [PATCH] wined3d: Use UBO for vertex shader float constants if @@ -17,10 +17,10 @@ Signed-off-by: Paul Gofman 8 files changed, 148 insertions(+), 14 deletions(-) diff --git a/dlls/d3d8/directx.c b/dlls/d3d8/directx.c -index f78ff3e5af..847cfd17bf 100644 +index c5239844c3d..274d5e14dee 100644 --- a/dlls/d3d8/directx.c +++ b/dlls/d3d8/directx.c -@@ -420,7 +420,7 @@ BOOL d3d8_init(struct d3d8 *d3d8) +@@ -416,7 +416,7 @@ BOOL d3d8_init(struct d3d8 *d3d8) DWORD flags = WINED3D_LEGACY_DEPTH_BIAS | WINED3D_VIDMEM_ACCOUNTING | WINED3D_HANDLE_RESTORE | WINED3D_PIXEL_CENTER_INTEGER | WINED3D_LEGACY_UNBOUND_RESOURCE_COLOR | WINED3D_NO_PRIMITIVE_RESTART @@ -30,10 +30,10 @@ index f78ff3e5af..847cfd17bf 100644 d3d8->IDirect3D8_iface.lpVtbl = &d3d8_vtbl; d3d8->refcount = 1; diff --git a/dlls/d3d9/directx.c b/dlls/d3d9/directx.c -index c507991aaa..7cdf5ddbb9 100644 +index 1d3754adf82..f42c5ea6229 100644 --- a/dlls/d3d9/directx.c +++ b/dlls/d3d9/directx.c -@@ -585,7 +585,7 @@ BOOL d3d9_init(struct d3d9 *d3d9, BOOL extended) +@@ -583,7 +583,7 @@ BOOL d3d9_init(struct d3d9 *d3d9, BOOL extended) DWORD flags = WINED3D_PRESENT_CONVERSION | WINED3D_HANDLE_RESTORE | WINED3D_PIXEL_CENTER_INTEGER | WINED3D_SRGB_READ_WRITE_CONTROL | WINED3D_LEGACY_UNBOUND_RESOURCE_COLOR | WINED3D_NO_PRIMITIVE_RESTART | WINED3D_LEGACY_CUBEMAP_FILTERING @@ -43,10 +43,10 @@ index c507991aaa..7cdf5ddbb9 100644 if (!extended) flags |= WINED3D_VIDMEM_ACCOUNTING; diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c -index c8ebe34643..4071ed0f82 100644 +index d76bf96be0f..3a4e427ef81 100644 --- a/dlls/wined3d/adapter_gl.c +++ b/dlls/wined3d/adapter_gl.c -@@ -3122,6 +3122,9 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info, struct +@@ -3140,6 +3140,9 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info, struct gl_info->limits.uniform_blocks[WINED3D_SHADER_TYPE_VERTEX] = min(gl_max, WINED3D_MAX_CBS); TRACE("Max vertex uniform blocks: %u (%d).\n", gl_info->limits.uniform_blocks[WINED3D_SHADER_TYPE_VERTEX], gl_max); @@ -57,7 +57,7 @@ index c8ebe34643..4071ed0f82 100644 } if (gl_info->supported[ARB_TESSELLATION_SHADER]) diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index 3c74ff7054..691fa98046 100644 +index 662b6078bf7..d266c70766e 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -138,6 +138,10 @@ struct shader_glsl_priv @@ -69,7 +69,7 @@ index 3c74ff7054..691fa98046 100644 + struct wined3d_vec4 vs_c_buffer[WINED3D_MAX_VS_CONSTS_F]; + const struct wined3d_vertex_pipe_ops *vertex_pipe; - const struct fragment_pipeline *fragment_pipe; + const struct wined3d_fragment_pipe_ops *fragment_pipe; struct wine_rb_tree ffp_vertex_shaders; @@ -189,6 +193,7 @@ struct glsl_vs_program GLint pointsize_l_att_location; @@ -226,7 +226,7 @@ index 3c74ff7054..691fa98046 100644 const struct wined3d_gl_info *gl_info = context_gl->c.gl_info; const struct wined3d_shader_indexable_temp *idx_temp_reg; unsigned int uniform_block_base, uniform_block_count; -@@ -2161,7 +2242,15 @@ static void shader_generate_glsl_declarations(const struct wined3d_context_gl *c +@@ -2162,7 +2243,15 @@ static void shader_generate_glsl_declarations(const struct wined3d_context_gl *c } /* Declare the constants (aka uniforms) */ @@ -243,7 +243,7 @@ index 3c74ff7054..691fa98046 100644 { unsigned max_constantsF; -@@ -2226,11 +2315,12 @@ static void shader_generate_glsl_declarations(const struct wined3d_context_gl *c +@@ -2227,11 +2316,12 @@ static void shader_generate_glsl_declarations(const struct wined3d_context_gl *c } else { @@ -258,7 +258,7 @@ index 3c74ff7054..691fa98046 100644 } /* Always declare the full set of constants, the compiler can remove the -@@ -9821,17 +9911,36 @@ static struct glsl_ffp_fragment_shader *shader_glsl_find_ffp_fragment_shader(str +@@ -9843,17 +9933,36 @@ static struct glsl_ffp_fragment_shader *shader_glsl_find_ffp_fragment_shader(str static void shader_glsl_init_vs_uniform_locations(const struct wined3d_gl_info *gl_info, @@ -300,15 +300,15 @@ index 3c74ff7054..691fa98046 100644 for (i = 0; i < WINED3D_MAX_CONSTS_I; ++i) { -@@ -10906,6 +11015,7 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win - const struct fragment_pipeline *fragment_pipe) +@@ -10928,6 +11037,7 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win + const struct wined3d_fragment_pipe_ops *fragment_pipe) { SIZE_T stack_size = wined3d_log2i(max(WINED3D_MAX_VS_CONSTS_F, WINED3D_MAX_PS_CONSTS_F)) + 1; + const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; struct fragment_caps fragment_caps; void *vertex_priv, *fragment_priv; struct shader_glsl_priv *priv; -@@ -10913,6 +11023,8 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win +@@ -10935,6 +11045,8 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win if (!(priv = heap_alloc_zero(sizeof(*priv)))) return E_OUTOFMEMORY; @@ -317,7 +317,7 @@ index 3c74ff7054..691fa98046 100644 string_buffer_list_init(&priv->string_buffers); if (!(vertex_priv = vertex_pipe->vp_alloc(&glsl_shader_backend, priv))) -@@ -10967,6 +11079,8 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win +@@ -10989,6 +11101,8 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win device->fragment_priv = fragment_priv; device->shader_priv = priv; @@ -326,7 +326,7 @@ index 3c74ff7054..691fa98046 100644 return WINED3D_OK; fail: -@@ -10994,6 +11108,13 @@ static void shader_glsl_free(struct wined3d_device *device, struct wined3d_conte +@@ -11016,6 +11130,13 @@ static void shader_glsl_free(struct wined3d_device *device, struct wined3d_conte priv->fragment_pipe->free_private(device, context); priv->vertex_pipe->vp_free(device, context); @@ -341,7 +341,7 @@ index 3c74ff7054..691fa98046 100644 device->shader_priv = NULL; } diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c -index a8fee07c6c..d7fdc9cfdb 100644 +index 871683e6987..8477f3de5d1 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -764,6 +764,8 @@ static BOOL shader_record_register_usage(struct wined3d_shader *shader, struct w @@ -354,10 +354,10 @@ index a8fee07c6c..d7fdc9cfdb 100644 } } diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c -index 06b30ba5e1..4d5b8be65a 100644 +index b2c7d3ff6b4..b6f50ef4a7f 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c -@@ -4389,6 +4389,11 @@ static void state_cb(struct wined3d_context *context, const struct wined3d_state +@@ -4399,6 +4399,11 @@ static void state_cb(struct wined3d_context *context, const struct wined3d_state unsigned int i, base, count; TRACE("context %p, state %p, state_id %#x.\n", context, state, state_id); @@ -370,10 +370,10 @@ index 06b30ba5e1..4d5b8be65a 100644 if (STATE_IS_GRAPHICS_CONSTANT_BUFFER(state_id)) shader_type = state_id - STATE_GRAPHICS_CONSTANT_BUFFER(0); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index b6f4b67018..0f82fc8e49 100644 +index 290f1c6c659..b99a55c4ed4 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -1065,6 +1065,7 @@ struct wined3d_shader_reg_maps +@@ -1066,6 +1066,7 @@ struct wined3d_shader_reg_maps struct wined3d_shader_tgsm *tgsm; SIZE_T tgsm_capacity; unsigned int tgsm_count; @@ -381,7 +381,7 @@ index b6f4b67018..0f82fc8e49 100644 }; /* Keeps track of details for TEX_M#x# instructions which need to maintain -@@ -2643,6 +2644,7 @@ struct wined3d_gl_limits +@@ -2662,6 +2663,7 @@ struct wined3d_gl_limits UINT glsl_varyings; UINT glsl_vs_float_constants; UINT glsl_ps_float_constants; @@ -390,10 +390,10 @@ index b6f4b67018..0f82fc8e49 100644 UINT arb_vs_float_constants; UINT arb_vs_native_constants; diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h -index abef3f0ad0..86e324a0df 100644 +index 59ae3447742..031e4bd99e9 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h -@@ -1335,6 +1335,7 @@ enum wined3d_shader_type +@@ -1333,6 +1333,7 @@ enum wined3d_shader_type #define WINED3D_NO_PRIMITIVE_RESTART 0x00000800 #define WINED3D_LEGACY_CUBEMAP_FILTERING 0x00001000 #define WINED3D_NORMALIZED_DEPTH_BIAS 0x00002000 @@ -402,5 +402,5 @@ index abef3f0ad0..86e324a0df 100644 #define WINED3D_RESZ_CODE 0x7fa05000 -- -2.21.0 +2.17.1 diff --git a/patches/wined3d-SWVP-shaders/0005-wined3d-Support-SWVP-mode-vertex-shaders.patch b/patches/wined3d-SWVP-shaders/0005-wined3d-Support-SWVP-mode-vertex-shaders.patch index 877f5e2f..99bf5e4e 100644 --- a/patches/wined3d-SWVP-shaders/0005-wined3d-Support-SWVP-mode-vertex-shaders.patch +++ b/patches/wined3d-SWVP-shaders/0005-wined3d-Support-SWVP-mode-vertex-shaders.patch @@ -1,4 +1,4 @@ -From bd4a8b38d89526f393445b1a19688bb7c0183758 Mon Sep 17 00:00:00 2001 +From 84e017b65146dad4a4d945118a583aa1f86abc37 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Mon, 25 Feb 2019 15:23:33 +0300 Subject: [PATCH] wined3d: Support SWVP mode vertex shaders. @@ -60,7 +60,7 @@ index 206bc273350..5679d496f51 100644 cleanup: refcount = IDirect3DDevice9_Release(device); diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c -index 7cb016d28f7..6387df1916b 100644 +index df1c373d04a..b090b173ec9 100644 --- a/dlls/d3d9/tests/visual.c +++ b/dlls/d3d9/tests/visual.c @@ -24637,7 +24637,6 @@ static void test_mvp_software_vertex_shaders(void) @@ -97,10 +97,10 @@ index 7cb016d28f7..6387df1916b 100644 expected_color, color); diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c -index 7c3bcfbc8c5..67525c9d0cd 100644 +index d2c4d256ea6..88233de0a6a 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c -@@ -4633,6 +4633,14 @@ void CDECL wined3d_device_set_software_vertex_processing(struct wined3d_device * +@@ -4529,6 +4529,14 @@ void CDECL wined3d_device_set_software_vertex_processing(struct wined3d_device * warned = TRUE; } @@ -116,7 +116,7 @@ index 7c3bcfbc8c5..67525c9d0cd 100644 } diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index a8f39e4ec57..7ee306c78c0 100644 +index b1a3c6bfcef..dbbe47dcab0 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -140,7 +140,9 @@ struct shader_glsl_priv @@ -129,7 +129,7 @@ index a8f39e4ec57..7ee306c78c0 100644 + unsigned int max_vs_consts_f; const struct wined3d_vertex_pipe_ops *vertex_pipe; - const struct fragment_pipeline *fragment_pipe; + const struct wined3d_fragment_pipe_ops *fragment_pipe; @@ -155,7 +157,7 @@ struct glsl_vs_program struct list shader_entry; GLuint id; @@ -243,7 +243,7 @@ index a8f39e4ec57..7ee306c78c0 100644 { update_heap_entry(heap, i, priv->next_constant_version); } -@@ -2248,7 +2264,7 @@ static void shader_generate_glsl_declarations(const struct wined3d_context_gl *c +@@ -2249,7 +2265,7 @@ static void shader_generate_glsl_declarations(const struct wined3d_context_gl *c shader_addline(buffer,"layout(std140) uniform vs_c_ubo\n" "{ \n" " vec4 %s_c[%u];\n" @@ -252,7 +252,7 @@ index a8f39e4ec57..7ee306c78c0 100644 } else if (shader->limits->constant_float > 0) { -@@ -9941,12 +9957,13 @@ static void shader_glsl_init_vs_uniform_locations(const struct wined3d_gl_info * +@@ -9956,12 +9972,13 @@ static void shader_glsl_init_vs_uniform_locations(const struct wined3d_gl_info * } else if (!priv->consts_ubo) { @@ -268,7 +268,7 @@ index a8f39e4ec57..7ee306c78c0 100644 } for (i = 0; i < WINED3D_MAX_CONSTS_I; ++i) -@@ -10265,6 +10282,10 @@ static void set_glsl_shader_program(const struct wined3d_context_gl *context_gl, +@@ -10280,6 +10297,10 @@ static void set_glsl_shader_program(const struct wined3d_context_gl *context_gl, vs_list = &ffp_shader->linked_programs; } @@ -279,16 +279,16 @@ index a8f39e4ec57..7ee306c78c0 100644 hshader = state->shader[WINED3D_SHADER_TYPE_HULL]; if (!(context_gl->c.shader_update_mask & (1u << WINED3D_SHADER_TYPE_HULL)) && ctx_data->glsl_program) hs_id = ctx_data->glsl_program->hs.id; -@@ -11021,7 +11042,7 @@ static void constant_heap_free(struct constant_heap *heap) +@@ -11036,7 +11057,7 @@ static void constant_heap_free(struct constant_heap *heap) static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe, - const struct fragment_pipeline *fragment_pipe) + const struct wined3d_fragment_pipe_ops *fragment_pipe) { - SIZE_T stack_size = wined3d_log2i(max(WINED3D_MAX_VS_CONSTS_F, WINED3D_MAX_PS_CONSTS_F)) + 1; + SIZE_T stack_size; const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; struct fragment_caps fragment_caps; void *vertex_priv, *fragment_priv; -@@ -11032,6 +11053,18 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win +@@ -11047,6 +11068,18 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win priv->consts_ubo = (device->adapter->d3d_info.wined3d_creation_flags & WINED3D_LEGACY_SHADER_CONSTANTS) && gl_info->supported[ARB_UNIFORM_BUFFER_OBJECT]; @@ -307,7 +307,7 @@ index a8f39e4ec57..7ee306c78c0 100644 string_buffer_list_init(&priv->string_buffers); if (!(vertex_priv = vertex_pipe->vp_alloc(&glsl_shader_backend, priv))) -@@ -11061,7 +11094,7 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win +@@ -11076,7 +11109,7 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win goto fail; } @@ -317,7 +317,7 @@ index a8f39e4ec57..7ee306c78c0 100644 ERR("Failed to initialize vertex shader constant heap\n"); goto fail; diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c -index 8986d9e9f71..10b42f389a9 100644 +index 8477f3de5d1..777e1c548e9 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -589,7 +589,7 @@ static void shader_delete_constant_list(struct list *clist) @@ -376,7 +376,7 @@ index 8986d9e9f71..10b42f389a9 100644 if (!(reg_maps->constf = heap_calloc(((min(shader->limits->constant_float, constf_size) + 31) / 32), sizeof(*reg_maps->constf)))) -@@ -3324,7 +3337,7 @@ static unsigned int shader_max_version_from_feature_level(enum wined3d_feature_l +@@ -3322,7 +3335,7 @@ static unsigned int shader_max_version_from_feature_level(enum wined3d_feature_l } static HRESULT shader_set_function(struct wined3d_shader *shader, struct wined3d_device *device, @@ -385,7 +385,7 @@ index 8986d9e9f71..10b42f389a9 100644 { const struct wined3d_d3d_info *d3d_info = &shader->device->adapter->d3d_info; struct wined3d_shader_reg_maps *reg_maps = &shader->reg_maps; -@@ -3349,7 +3362,7 @@ static HRESULT shader_set_function(struct wined3d_shader *shader, struct wined3d +@@ -3347,7 +3360,7 @@ static HRESULT shader_set_function(struct wined3d_shader *shader, struct wined3d shader_trace_init(fe, shader->frontend_data); /* Second pass: figure out which registers are used, what the semantics are, etc. */ @@ -394,7 +394,7 @@ index 8986d9e9f71..10b42f389a9 100644 return hr; if (version->type != type) -@@ -3689,14 +3702,19 @@ static HRESULT vertex_shader_init(struct wined3d_shader *shader, struct wined3d_ +@@ -3687,14 +3700,19 @@ static HRESULT vertex_shader_init(struct wined3d_shader *shader, struct wined3d_ const struct wined3d_shader_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops) { struct wined3d_shader_reg_maps *reg_maps = &shader->reg_maps; @@ -415,7 +415,7 @@ index 8986d9e9f71..10b42f389a9 100644 { shader_cleanup(shader); return hr; -@@ -3800,7 +3818,7 @@ static HRESULT geometry_shader_init_stream_output(struct wined3d_shader *shader, +@@ -3798,7 +3816,7 @@ static HRESULT geometry_shader_init_stream_output(struct wined3d_shader *shader, { shader->reg_maps.shader_version = shader_version; shader->reg_maps.shader_version.type = WINED3D_SHADER_TYPE_GEOMETRY; @@ -424,7 +424,7 @@ index 8986d9e9f71..10b42f389a9 100644 if (FAILED(hr = shader_scan_output_signature(shader))) return hr; } -@@ -3853,7 +3871,7 @@ static HRESULT geometry_shader_init(struct wined3d_shader *shader, struct wined3 +@@ -3851,7 +3869,7 @@ static HRESULT geometry_shader_init(struct wined3d_shader *shader, struct wined3 goto fail; if (shader->function @@ -433,7 +433,7 @@ index 8986d9e9f71..10b42f389a9 100644 goto fail; return WINED3D_OK; -@@ -4154,7 +4172,7 @@ static HRESULT pixel_shader_init(struct wined3d_shader *shader, struct wined3d_d +@@ -4188,7 +4206,7 @@ static HRESULT pixel_shader_init(struct wined3d_shader *shader, struct wined3d_d return hr; if (FAILED(hr = shader_set_function(shader, device, @@ -442,7 +442,7 @@ index 8986d9e9f71..10b42f389a9 100644 { shader_cleanup(shader); return hr; -@@ -4254,7 +4272,7 @@ HRESULT CDECL wined3d_shader_create_cs(struct wined3d_device *device, const stru +@@ -4280,7 +4298,7 @@ HRESULT CDECL wined3d_shader_create_cs(struct wined3d_device *device, const stru return hr; } @@ -451,7 +451,7 @@ index 8986d9e9f71..10b42f389a9 100644 { shader_cleanup(object); heap_free(object); -@@ -4288,7 +4306,7 @@ HRESULT CDECL wined3d_shader_create_ds(struct wined3d_device *device, const stru +@@ -4314,7 +4332,7 @@ HRESULT CDECL wined3d_shader_create_ds(struct wined3d_device *device, const stru return hr; } @@ -460,7 +460,7 @@ index 8986d9e9f71..10b42f389a9 100644 { shader_cleanup(object); heap_free(object); -@@ -4350,7 +4368,7 @@ HRESULT CDECL wined3d_shader_create_hs(struct wined3d_device *device, const stru +@@ -4376,7 +4394,7 @@ HRESULT CDECL wined3d_shader_create_hs(struct wined3d_device *device, const stru return hr; } @@ -483,10 +483,10 @@ index 0c6bb933174..1051307e88c 100644 WARN("Invalid shader version %u.%u (%#x).\n", major, minor, *byte_code); return NULL; diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 75631c00c84..2baaabdcfb2 100644 +index 5568297bcf6..aba465c05e6 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -4584,6 +4584,13 @@ static inline BOOL shader_constant_is_local(const struct wined3d_shader *shader, +@@ -4609,6 +4609,13 @@ static inline BOOL shader_constant_is_local(const struct wined3d_shader *shader, return FALSE; }