diff --git a/patches/kernel32-FindFirstFile/0001-kernel32-Strip-invalid-characters-from-mask-in-FindF.patch b/patches/kernel32-FindFirstFile/0001-kernel32-Strip-invalid-characters-from-mask-in-FindF.patch index 54a5a493..54f7d320 100644 --- a/patches/kernel32-FindFirstFile/0001-kernel32-Strip-invalid-characters-from-mask-in-FindF.patch +++ b/patches/kernel32-FindFirstFile/0001-kernel32-Strip-invalid-characters-from-mask-in-FindF.patch @@ -1,4 +1,4 @@ -From 339d3f797f4ba20feac9c887dc79734cd15a2c10 Mon Sep 17 00:00:00 2001 +From 6b8f0a1f1283cb47bf1156745a42e50bb32d3d2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 6 Feb 2016 18:31:25 +0100 Subject: [PATCH] kernel32: Strip invalid characters from mask in @@ -9,10 +9,10 @@ Subject: [PATCH] kernel32: Strip invalid characters from mask in 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c -index 89c5f85cb20..542531e895c 100644 +index 6591a110732..fd411b7baac 100644 --- a/dlls/kernelbase/file.c +++ b/dlls/kernelbase/file.c -@@ -795,6 +795,7 @@ HANDLE WINAPI DECLSPEC_HOTPATCH FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_ +@@ -790,6 +790,7 @@ HANDLE WINAPI DECLSPEC_HOTPATCH FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_ WCHAR *mask; BOOL has_wildcard = FALSE; FIND_FIRST_INFO *info = NULL; @@ -20,7 +20,7 @@ index 89c5f85cb20..542531e895c 100644 UNICODE_STRING nt_name; OBJECT_ATTRIBUTES attr; IO_STATUS_BLOCK io; -@@ -826,6 +827,8 @@ HANDLE WINAPI DECLSPEC_HOTPATCH FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_ +@@ -821,6 +822,8 @@ HANDLE WINAPI DECLSPEC_HOTPATCH FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_ return INVALID_HANDLE_VALUE; } @@ -28,8 +28,8 @@ index 89c5f85cb20..542531e895c 100644 + if (!mask && (device = RtlIsDosDeviceName_U( filename ))) { - static const WCHAR dotW[] = {'.',0}; -@@ -860,8 +863,26 @@ HANDLE WINAPI DECLSPEC_HOTPATCH FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_ + WCHAR *dir = NULL; +@@ -854,8 +857,26 @@ HANDLE WINAPI DECLSPEC_HOTPATCH FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_ } else { @@ -57,7 +57,7 @@ index 89c5f85cb20..542531e895c 100644 size = has_wildcard ? 8192 : max_entry_size; } -@@ -922,9 +943,6 @@ HANDLE WINAPI DECLSPEC_HOTPATCH FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_ +@@ -916,9 +937,6 @@ HANDLE WINAPI DECLSPEC_HOTPATCH FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_ } else { @@ -68,5 +68,5 @@ index 89c5f85cb20..542531e895c 100644 FileBothDirectoryInformation, FALSE, &mask_str, TRUE ); if (status) -- -2.17.1 +2.25.1 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 16354ca3..3d7dd700 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "26ffc40bfb42b7c05ce9513bf479e31eb85294b1" + echo "d731208602393877709d3bb0bdeb28c80f9719b0" } # Show version information @@ -315,7 +315,6 @@ patch_enable_all () enable_wined3d_SWVP_shaders="$1" enable_wined3d_Silence_FIXMEs="$1" enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$1" - enable_wined3d_WINED3D_RS_COLORWRITEENABLE="$1" enable_wined3d_WINED3D_TEXF_ANISOTROPIC="$1" enable_wined3d_mesa_texture_download="$1" enable_wined3d_unset_flip_gdi="$1" @@ -1058,9 +1057,6 @@ patch_enable () wined3d-WINED3DFMT_B8G8R8X8_UNORM) enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$2" ;; - wined3d-WINED3D_RS_COLORWRITEENABLE) - enable_wined3d_WINED3D_RS_COLORWRITEENABLE="$2" - ;; wined3d-WINED3D_TEXF_ANISOTROPIC) enable_wined3d_WINED3D_TEXF_ANISOTROPIC="$2" ;; @@ -6677,20 +6673,6 @@ if test "$enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM" -eq 1; then ) >> "$patchlist" fi -# Patchset wined3d-WINED3D_RS_COLORWRITEENABLE -# | -# | Modified files: -# | * dlls/d3d11/device.c, dlls/d3d11/state.c, dlls/wined3d/context.c, dlls/wined3d/device.c, dlls/wined3d/state.c, -# | dlls/wined3d/stateblock.c, dlls/wined3d/surface.c, dlls/wined3d/utils.c, dlls/wined3d/wined3d_private.h, -# | include/wine/wined3d.h -# | -if test "$enable_wined3d_WINED3D_RS_COLORWRITEENABLE" -eq 1; then - patch_apply wined3d-WINED3D_RS_COLORWRITEENABLE/0001-wined3d-Implement-all-8-d3d11-color-write-masks.patch - ( - printf '%s\n' '+ { "Michael Müller", "wined3d: Implement all 8 d3d11 color write masks.", 1 },'; - ) >> "$patchlist" -fi - # Patchset wined3d-WINED3D_TEXF_ANISOTROPIC # | # | This patchset fixes the following Wine bugs: diff --git a/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch b/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch index bf529bcf..edcadcc8 100644 --- a/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch +++ b/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch @@ -1,4 +1,4 @@ -From da06f7e98aef148d821d9319cd16ad741b8f836f Mon Sep 17 00:00:00 2001 +From cd8cb8bb9d05340eb8c055e6684f421789c5657e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 18 Aug 2017 23:51:59 +0200 Subject: [PATCH] wined3d: Implement dual source blending. @@ -14,10 +14,10 @@ Subject: [PATCH] wined3d: Implement dual source blending. 7 files changed, 79 insertions(+), 9 deletions(-) diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c -index ad79e419b09..d94170f33e5 100644 +index 58544f9d6e8..1d98ee499ed 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c -@@ -29819,7 +29819,7 @@ static void test_dual_blending(void) +@@ -30199,7 +30199,7 @@ static void test_dual_blending(void) ID3D11DeviceContext_ClearRenderTargetView(context, rtv[1], white); ID3D11DeviceContext_Draw(context, 3, 0); @@ -27,10 +27,10 @@ index ad79e419b09..d94170f33e5 100644 ID3D11BlendState_Release(blend_state); diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c -index 6499fcf3aef..133c9d26d75 100644 +index c8924505e18..5e7ff6e2fae 100644 --- a/dlls/wined3d/adapter_gl.c +++ b/dlls/wined3d/adapter_gl.c -@@ -2987,6 +2987,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info) +@@ -2991,6 +2991,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info) gl_info->limits.buffers = min(MAX_RENDER_TARGET_VIEWS, gl_max); TRACE("Max draw buffers: %u.\n", gl_max); } @@ -43,7 +43,7 @@ index 6499fcf3aef..133c9d26d75 100644 if (gl_info->supported[ARB_MULTITEXTURE]) { if (gl_info->supported[WINED3D_GL_LEGACY_CONTEXT]) -@@ -5157,6 +5163,7 @@ static void wined3d_adapter_gl_init_d3d_info(struct wined3d_adapter_gl *adapter_ +@@ -5120,6 +5126,7 @@ static void wined3d_adapter_gl_init_d3d_info(struct wined3d_adapter_gl *adapter_ struct fragment_caps fragment_caps; struct shader_caps shader_caps; GLfloat f[2]; @@ -51,7 +51,7 @@ index 6499fcf3aef..133c9d26d75 100644 adapter_gl->a.shader_backend->shader_get_caps(&adapter_gl->a, &shader_caps); adapter_gl->a.vertex_pipe->vp_get_caps(&adapter_gl->a, &vertex_caps); -@@ -5177,6 +5184,10 @@ static void wined3d_adapter_gl_init_d3d_info(struct wined3d_adapter_gl *adapter_ +@@ -5140,6 +5147,10 @@ static void wined3d_adapter_gl_init_d3d_info(struct wined3d_adapter_gl *adapter_ d3d_info->limits.ffp_vertex_blend_matrices = vertex_caps.max_vertex_blend_matrices; d3d_info->limits.active_light_count = vertex_caps.max_active_lights; @@ -63,10 +63,10 @@ index 6499fcf3aef..133c9d26d75 100644 d3d_info->limits.max_clip_distances = gl_info->limits.user_clip_distances; d3d_info->limits.texture_size = gl_info->limits.texture_size; diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c -index e9750c41c50..883bc6531e5 100644 +index eda09d95afd..d8e42938c2e 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c -@@ -3142,10 +3142,23 @@ static uint32_t find_draw_buffers_mask(const struct wined3d_context_gl *context_ +@@ -3446,10 +3446,23 @@ static uint32_t find_draw_buffers_mask(const struct wined3d_context_gl *context_ else if (!context_gl->c.render_offscreen) return context_generate_rt_mask_from_resource(rts[0]->resource); @@ -92,10 +92,10 @@ index e9750c41c50..883bc6531e5 100644 { i = wined3d_bit_scan(&mask); diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index 0e0977e1d48..d45c1313e77 100644 +index 4a2fbce553e..d48c35c9ce2 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c -@@ -2820,6 +2820,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register * +@@ -2829,6 +2829,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register * break; case WINED3DSPR_COLOROUT: @@ -103,7 +103,7 @@ index 0e0977e1d48..d45c1313e77 100644 if (reg->idx[0].offset >= gl_info->limits.buffers) WARN("Write to render target %u, only %d supported.\n", reg->idx[0].offset, gl_info->limits.buffers); -@@ -7735,7 +7736,10 @@ static GLuint shader_glsl_generate_fragment_shader(const struct wined3d_context_ +@@ -7772,7 +7773,10 @@ static GLuint shader_glsl_generate_fragment_shader(const struct wined3d_context_ { const struct wined3d_shader_signature *output_signature = &shader->output_signature; @@ -115,7 +115,7 @@ index 0e0977e1d48..d45c1313e77 100644 if (output_signature->element_count) { for (i = 0; i < output_signature->element_count; ++i) -@@ -7750,7 +7754,12 @@ static GLuint shader_glsl_generate_fragment_shader(const struct wined3d_context_ +@@ -7787,7 +7791,12 @@ static GLuint shader_glsl_generate_fragment_shader(const struct wined3d_context_ continue; } if (shader_glsl_use_explicit_attrib_location(gl_info)) @@ -129,7 +129,7 @@ index 0e0977e1d48..d45c1313e77 100644 shader_addline(buffer, "out %s4 color_out%u;\n", component_type_info[output->component_type].glsl_vector_type, output->semantic_idx); } -@@ -7763,7 +7772,12 @@ static GLuint shader_glsl_generate_fragment_shader(const struct wined3d_context_ +@@ -7800,7 +7809,12 @@ static GLuint shader_glsl_generate_fragment_shader(const struct wined3d_context_ { i = wined3d_bit_scan(&mask); if (shader_glsl_use_explicit_attrib_location(gl_info)) @@ -144,10 +144,10 @@ index 0e0977e1d48..d45c1313e77 100644 } } diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c -index 3b9a96abc69..5c96d3be7ef 100644 +index 13e55cff8aa..e308acccb74 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c -@@ -4168,6 +4168,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3 +@@ -4167,6 +4167,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3 if (rtv && rtv->format->id == WINED3DFMT_A8_UNORM && !is_identity_fixup(rtv->format->color_fixup)) args->rt_alpha_swizzle |= 1u << i; } @@ -157,17 +157,17 @@ index 3b9a96abc69..5c96d3be7ef 100644 static HRESULT pixel_shader_init(struct wined3d_shader *shader, struct wined3d_device *device, diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c -index 4bc371b8e7a..2f90fd55072 100644 +index aa85193bdd7..32c7c946165 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c -@@ -533,12 +533,14 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st +@@ -532,12 +532,14 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st const struct wined3d_format *rt_format; GLenum src_blend, dst_blend; unsigned int rt_fmt_flags; + BOOL enable_dual_blend; BOOL enable_blend; - enable_blend = state->fb->render_targets[0] && state->render_states[WINED3D_RS_ALPHABLENDENABLE]; + enable_blend = state->fb->render_targets[0] && b && b->desc.enable; - if (enable_blend) + enable_dual_blend = wined3d_dualblend_enabled(state, gl_info); + @@ -177,7 +177,7 @@ index 4bc371b8e7a..2f90fd55072 100644 rt_fmt_flags = state->fb->render_targets[0]->format_flags; /* Disable blending in all cases even without pixelshaders. -@@ -548,6 +550,13 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st +@@ -547,6 +549,13 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st enable_blend = FALSE; } @@ -191,19 +191,19 @@ index 4bc371b8e7a..2f90fd55072 100644 if (!enable_blend) { gl_info->gl_ops.gl.p_glDisable(GL_BLEND); -@@ -558,6 +567,7 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st +@@ -557,6 +566,7 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st gl_info->gl_ops.gl.p_glEnable(GL_BLEND); checkGLcall("glEnable(GL_BLEND)"); + rt_format = state->fb->render_targets[0]->format; - gl_blend_from_d3d(&src_blend, &dst_blend, - state->render_states[WINED3D_RS_SRCBLEND], + gl_blend_from_d3d(&src_blend, &dst_blend, b->desc.src, state->render_states[WINED3D_RS_DESTBLEND], rt_format); + diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 337e7a9fb46..73925ae62fb 100644 +index 20af49e5546..ca7dec19947 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -199,6 +199,7 @@ struct wined3d_d3d_info +@@ -205,6 +205,7 @@ struct wined3d_d3d_info { struct wined3d_d3d_limits limits; struct wined3d_ffp_attrib_ops ffp_attrib_ops; @@ -211,7 +211,7 @@ index 337e7a9fb46..73925ae62fb 100644 uint32_t wined3d_creation_flags; uint32_t xyzrhw : 1; uint32_t emulated_flatshading : 1; -@@ -1397,7 +1398,8 @@ struct ps_compile_args +@@ -1393,7 +1394,8 @@ struct ps_compile_args DWORD alpha_test_func : 3; DWORD render_offscreen : 1; DWORD rt_alpha_swizzle : 8; /* MAX_RENDER_TARGET_VIEWS, 8 */ @@ -231,7 +231,7 @@ index 337e7a9fb46..73925ae62fb 100644 DWORD constant_update_mask; DWORD numbered_array_mask; -@@ -2682,6 +2685,7 @@ struct wined3d_fbo_ops +@@ -2718,6 +2721,7 @@ struct wined3d_fbo_ops struct wined3d_gl_limits { UINT buffers; @@ -239,7 +239,7 @@ index 337e7a9fb46..73925ae62fb 100644 UINT lights; UINT textures; UINT texture_coords; -@@ -3186,6 +3190,22 @@ struct wined3d_state +@@ -3230,6 +3234,22 @@ struct wined3d_state struct wined3d_rasterizer_state *rasterizer_state; }; @@ -263,5 +263,5 @@ index 337e7a9fb46..73925ae62fb 100644 { GLuint tex_1d; -- -2.17.1 +2.25.1 diff --git a/patches/wined3d-SWVP-shaders/0004-wined3d-Support-SWVP-vertex-shader-constants-limit-i.patch b/patches/wined3d-SWVP-shaders/0004-wined3d-Support-SWVP-vertex-shader-constants-limit-i.patch index 8e7676c1..b977c8c5 100644 --- a/patches/wined3d-SWVP-shaders/0004-wined3d-Support-SWVP-vertex-shader-constants-limit-i.patch +++ b/patches/wined3d-SWVP-shaders/0004-wined3d-Support-SWVP-vertex-shader-constants-limit-i.patch @@ -1,4 +1,4 @@ -From d6f79f90c4dcb5b37a5cd56feed9da7c21cef8fb Mon Sep 17 00:00:00 2001 +From 9f047af5beb62d323a14c9d36183d20d3286ea12 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Mon, 25 Feb 2019 15:05:12 +0300 Subject: [PATCH] wined3d: Support SWVP vertex shader constants limit in state @@ -61,24 +61,23 @@ index cb84ef6f284..2d6e1fa688f 100644 hr = IDirect3DDevice9_BeginScene(device); diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c -index 1ce4b321a69..3eadc8165e5 100644 +index 99787fcb39e..152072d5935 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c -@@ -3483,11 +3483,12 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device, +@@ -3513,10 +3513,11 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device, struct wined3d_stateblock *stateblock) { const struct wined3d_stateblock_state *state = &stateblock->stateblock_state; + const struct wined3d_d3d_info *d3d_info = &device->adapter->d3d_info; const struct wined3d_saved_states *changed = &stateblock->changed; const unsigned int word_bit_count = sizeof(DWORD) * CHAR_BIT; - BOOL set_blend_state, set_rasterizer_state = FALSE; -+ unsigned int i, j, start, idx, vs_uniform_count; - struct wined3d_blend_state *blend_state; + BOOL set_blend_state = FALSE, set_rasterizer_state = FALSE; - unsigned int i, j, start, idx; - struct wined3d_color colour; ++ unsigned int i, j, start, idx, vs_uniform_count; struct wined3d_range range; DWORD map, stage; -@@ -3499,9 +3500,13 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device, + +@@ -3527,9 +3528,13 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device, if (changed->pixelShader) wined3d_device_set_pixel_shader(device, state->ps); @@ -94,7 +93,7 @@ index 1ce4b321a69..3eadc8165e5 100644 wined3d_device_set_vs_consts_f(device, range.offset, range.size, &state->vs_consts_f[range.offset]); diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index 4f7cc772beb..a88f92cc039 100644 +index 412b12184f1..33666d5eb8c 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -1913,7 +1913,7 @@ static void shader_glsl_update_float_vertex_constants(struct wined3d_device *dev @@ -107,10 +106,10 @@ index 4f7cc772beb..a88f92cc039 100644 update_heap_entry(heap, i, priv->next_constant_version); } diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c -index 70943afddaa..22862403e90 100644 +index 248f413f623..2423411916d 100644 --- a/dlls/wined3d/stateblock.c +++ b/dlls/wined3d/stateblock.c -@@ -720,9 +720,10 @@ static void wined3d_state_record_lights(struct wined3d_light_state *dst_state, +@@ -713,9 +713,10 @@ static void wined3d_state_record_lights(struct wined3d_light_state *dst_state, void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock, const struct wined3d_stateblock *device_state) { @@ -122,7 +121,7 @@ index 70943afddaa..22862403e90 100644 DWORD map; TRACE("stateblock %p, device_state %p.\n", stateblock, device_state); -@@ -738,9 +739,13 @@ void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock, +@@ -731,9 +732,13 @@ void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock, stateblock->stateblock_state.vs = state->vs; } @@ -137,7 +136,7 @@ index 70943afddaa..22862403e90 100644 break; memcpy(&stateblock->stateblock_state.vs_consts_f[range.offset], &state->vs_consts_f[range.offset], -@@ -989,9 +994,10 @@ void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock, +@@ -976,9 +981,10 @@ void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock, void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock, struct wined3d_stateblock *device_state) { @@ -149,7 +148,7 @@ index 70943afddaa..22862403e90 100644 DWORD map; TRACE("stateblock %p, device_state %p.\n", stateblock, device_state); -@@ -999,9 +1005,13 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock, +@@ -986,9 +992,13 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock, if (stateblock->changed.vertexShader) wined3d_stateblock_set_vertex_shader(device_state, state->vs); @@ -164,7 +163,7 @@ index 70943afddaa..22862403e90 100644 break; wined3d_stateblock_set_vs_consts_f(device_state, range.offset, range.size, &state->vs_consts_f[range.offset]); } -@@ -1207,12 +1217,16 @@ HRESULT CDECL wined3d_stateblock_set_vs_consts_f(struct wined3d_stateblock *stat +@@ -1190,12 +1200,16 @@ HRESULT CDECL wined3d_stateblock_set_vs_consts_f(struct wined3d_stateblock *stat unsigned int start_idx, unsigned int count, const struct wined3d_vec4 *constants) { const struct wined3d_d3d_info *d3d_info = &stateblock->device->adapter->d3d_info; @@ -183,7 +182,7 @@ index 70943afddaa..22862403e90 100644 return WINED3DERR_INVALIDCALL; memcpy(&stateblock->stateblock_state.vs_consts_f[start_idx], constants, count * sizeof(*constants)); -@@ -1976,7 +1990,7 @@ static HRESULT stateblock_init(struct wined3d_stateblock *stateblock, const stru +@@ -1949,7 +1963,7 @@ static HRESULT stateblock_init(struct wined3d_stateblock *stateblock, const stru stateblock_init_lights(stateblock->stateblock_state.light_state->light_map, device_state->stateblock_state.light_state->light_map); stateblock_savedstates_set_all(&stateblock->changed, @@ -192,7 +191,7 @@ index 70943afddaa..22862403e90 100644 break; case WINED3D_SBT_PIXEL_STATE: -@@ -1988,7 +2002,7 @@ static HRESULT stateblock_init(struct wined3d_stateblock *stateblock, const stru +@@ -1961,7 +1975,7 @@ static HRESULT stateblock_init(struct wined3d_stateblock *stateblock, const stru stateblock_init_lights(stateblock->stateblock_state.light_state->light_map, device_state->stateblock_state.light_state->light_map); stateblock_savedstates_set_vertex(&stateblock->changed, @@ -202,10 +201,10 @@ index 70943afddaa..22862403e90 100644 default: diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 43406b25dfe..8de94efeb4c 100644 +index e9dc5f7846b..946d60f0e93 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -3204,7 +3204,7 @@ struct wined3d_state +@@ -3209,7 +3209,7 @@ struct wined3d_state struct wined3d_shader_resource_view *shader_resource_view[WINED3D_SHADER_TYPE_COUNT][MAX_SHADER_RESOURCE_VIEWS]; struct wined3d_unordered_access_view *unordered_access_view[WINED3D_PIPELINE_COUNT][MAX_UNORDERED_ACCESS_VIEWS]; @@ -214,7 +213,7 @@ index 43406b25dfe..8de94efeb4c 100644 struct wined3d_ivec4 vs_consts_i[WINED3D_MAX_CONSTS_I]; BOOL vs_consts_b[WINED3D_MAX_CONSTS_B]; -@@ -3922,7 +3922,7 @@ struct wined3d_vertex_declaration +@@ -3944,7 +3944,7 @@ struct wined3d_vertex_declaration struct wined3d_saved_states { @@ -224,10 +223,10 @@ index 43406b25dfe..8de94efeb4c 100644 WORD vertexShaderConstantsB; /* WINED3D_MAX_CONSTS_B, 16 */ DWORD ps_consts_f[WINED3D_MAX_PS_CONSTS_F >> 5]; diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h -index 4837ff8f970..c1bc1e95e68 100644 +index ce420f164f6..34ed79fb668 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h -@@ -2152,7 +2152,7 @@ struct wined3d_stateblock_state +@@ -2166,7 +2166,7 @@ struct wined3d_stateblock_state int base_vertex_index; struct wined3d_shader *vs; diff --git a/patches/wined3d-WINED3D_RS_COLORWRITEENABLE/definition b/patches/wined3d-WINED3D_RS_COLORWRITEENABLE/definition index a7e66189..e8d03636 100644 --- a/patches/wined3d-WINED3D_RS_COLORWRITEENABLE/definition +++ b/patches/wined3d-WINED3D_RS_COLORWRITEENABLE/definition @@ -1 +1,2 @@ Fixes: Implement support for all d3d11 color write masks in wined3d +Disabled: true