Added wined3d-CompareInterpolationMode patchset

This commit is contained in:
Alistair Leslie-Hughes 2018-05-27 11:30:07 +10:00
parent eb816d477a
commit d0cc6096d1
3 changed files with 48 additions and 0 deletions

View File

@ -369,6 +369,7 @@ patch_enable_all ()
enable_winecfg_Unmounted_Devices="$1"
enable_wined3d_Accounting="$1"
enable_wined3d_CSMT_Main="$1"
enable_wined3d_CompareInterpolationMode="$1"
enable_wined3d_DXTn="$1"
enable_wined3d_Dual_Source_Blending="$1"
enable_wined3d_Indexed_Vertex_Blending="$1"
@ -1282,6 +1283,9 @@ patch_enable ()
wined3d-CSMT_Main)
enable_wined3d_CSMT_Main="$2"
;;
wined3d-CompareInterpolationMode)
enable_wined3d_CompareInterpolationMode="$2"
;;
wined3d-DXTn)
enable_wined3d_DXTn="$2"
;;
@ -7673,6 +7677,21 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-CompareInterpolationMode
# |
# | This patchset fixes the following Wine bugs:
# | * [#45127] Correctly compare Interpolation mode values
# |
# | Modified files:
# | * dlls/wined3d/glsl_shader.c
# |
if test "$enable_wined3d_CompareInterpolationMode" -eq 1; then
patch_apply wined3d-CompareInterpolationMode/0001-wined3d-Correctly-compare-Interpolation-mode-values.patch
(
printf '%s\n' '+ { "Matteo Bruni", "wined3d: Correctly compare Interpolation mode values.", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-WINED3D_RS_COLORWRITEENABLE
# |
# | This patchset has the following (direct or indirect) dependencies:

View File

@ -0,0 +1,27 @@
From 76727eeb72952a3ded2b75917a15d76429efbaa3 Mon Sep 17 00:00:00 2001
From: Matteo Bruni <mbruni@codeweavers.com>
Date: Sun, 27 May 2018 11:22:33 +1000
Subject: [PATCH] wined3d: Correctly compare Interpolation mode values
---
dlls/wined3d/glsl_shader.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 41bd1fd055..b54e2833ba 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -8281,7 +8281,9 @@ static inline BOOL vs_args_equal(const struct vs_compile_args *stored, const str
return FALSE;
if (stored->next_shader_input_count != new->next_shader_input_count)
return FALSE;
- return stored->fog_src == new->fog_src;
+ if (stored->fog_src != new->fog_src)
+ return FALSE;
+ return !memcmp(stored->interpolation_mode, new->interpolation_mode, sizeof(new->interpolation_mode));
}
static GLuint find_glsl_vshader(const struct wined3d_context *context, struct shader_glsl_priv *priv,
--
2.17.0

View File

@ -0,0 +1,2 @@
Fixes: [45127] Correctly compare Interpolation mode values