=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Generate rasterizer setup in domain shaders only when necessary.

Alexandre Julliard julliard at winehq.org
Wed May 17 15:58:29 CDT 2017


Module: wine
Branch: master
Commit: 553282a0ff09a31c6fc93b488621bbb9e39ec2a9
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=553282a0ff09a31c6fc93b488621bbb9e39ec2a9

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Wed May 17 15:42:35 2017 +0200

wined3d: Generate rasterizer setup in domain shaders only when necessary.

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/glsl_shader.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 76ec6f7..6f51939 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -7465,10 +7465,11 @@ static GLuint shader_glsl_generate_domain_shader(const struct wined3d_context *c
 
     shader_addline(buffer, "in shader_in_out { vec4 reg[%u]; } shader_in[];\n", shader->limits->packed_input);
 
-    if (!gl_info->supported[ARB_CLIP_CONTROL])
+    if (args->next_shader_type == WINED3D_SHADER_TYPE_PIXEL && !gl_info->supported[ARB_CLIP_CONTROL])
         shader_addline(buffer, "uniform vec4 pos_fixup;\n");
 
-    shader_glsl_generate_sm4_output_setup(priv, shader, args->output_count, gl_info, TRUE);
+    shader_glsl_generate_sm4_output_setup(priv, shader, args->output_count, gl_info,
+            args->next_shader_type == WINED3D_SHADER_TYPE_PIXEL);
     shader_addline(buffer, "void main()\n{\n");
 
     if (FAILED(shader_generate_main(shader, buffer, reg_maps, &priv_ctx)))




More information about the wine-cvs mailing list