From 553282a0ff09a31c6fc93b488621bbb9e39ec2a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Wed, 17 May 2017 15:42:35 +0200 Subject: [PATCH] wined3d: Generate rasterizer setup in domain shaders only when necessary. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Józef Kucia Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- 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 76ec6f7fefe..6f51939895a 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)))