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
Added patch to dirtify vertex shader on transformed update, fixes graphical corruption.
This commit is contained in:
@@ -253,6 +253,7 @@ patch_enable_all ()
|
||||
enable_wined3d_CSMT_Helper="$1"
|
||||
enable_wined3d_CSMT_Main="$1"
|
||||
enable_wined3d_DXTn="$1"
|
||||
enable_wined3d_Dirtify_Vertex_Shader="$1"
|
||||
enable_wined3d_Multisampling="$1"
|
||||
enable_wined3d_Revert_PixelFormat="$1"
|
||||
enable_wined3d_UnhandledBlendFactor="$1"
|
||||
@@ -818,6 +819,9 @@ patch_enable ()
|
||||
wined3d-DXTn)
|
||||
enable_wined3d_DXTn="$2"
|
||||
;;
|
||||
wined3d-Dirtify_Vertex_Shader)
|
||||
enable_wined3d_Dirtify_Vertex_Shader="$2"
|
||||
;;
|
||||
wined3d-Multisampling)
|
||||
enable_wined3d_Multisampling="$2"
|
||||
;;
|
||||
@@ -2467,6 +2471,21 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Dirtify_Vertex_Shader
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#38539] Dirtify vertex shader on transformed update to fix graphical corruption
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/glsl_shader.c
|
||||
# |
|
||||
if test "$enable_wined3d_Dirtify_Vertex_Shader" -eq 1; then
|
||||
patch_apply wined3d-Dirtify_Vertex_Shader/0001-wined3d-Dirtify-vertex-shader-on-transformed-untrans.patch
|
||||
(
|
||||
echo '+ { "Matteo Bruni", "wined3d: Dirtify vertex shader on transformed <-> untransformed transition.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Multisampling
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@@ -0,0 +1,28 @@
|
||||
From e921966b9073171d4a76ef6a96ba93413023e029 Mon Sep 17 00:00:00 2001
|
||||
From: Matteo Bruni <mbruni@codeweavers.com>
|
||||
Date: Thu, 7 May 2015 16:07:53 +0200
|
||||
Subject: wined3d: Dirtify vertex shader on transformed <-> untransformed
|
||||
transition.
|
||||
|
||||
---
|
||||
dlls/wined3d/glsl_shader.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index 0a130e1..8e618e5 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -7682,6 +7682,10 @@ static void glsl_vertex_pipe_vdecl(struct wined3d_context *context,
|
||||
|
||||
context->last_was_rhw = transformed;
|
||||
|
||||
+ /* Transformed position forces FFP draws. */
|
||||
+ if (transformed != wasrhw)
|
||||
+ context->shader_update_mask |= 1 << WINED3D_SHADER_TYPE_VERTEX;
|
||||
+
|
||||
if (!use_vs(state))
|
||||
{
|
||||
if (context->last_was_vshader)
|
||||
--
|
||||
2.4.0
|
||||
|
1
patches/wined3d-Dirtify_Vertex_Shader/definition
Normal file
1
patches/wined3d-Dirtify_Vertex_Shader/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [38539] Dirtify vertex shader on transformed update to fix graphical corruption
|
Reference in New Issue
Block a user