wined3d: Pass correct input count to shader_glsl_setup_sm3_rasterizer_input().

We declare min(vec4_varyings(4, gl_info), input_count) shader outputs.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Józef Kucia 2017-05-08 09:48:02 +02:00 committed by Alexandre Julliard
parent 2da2b9669c
commit 620e2d6718
1 changed files with 2 additions and 1 deletions

View File

@ -6791,8 +6791,9 @@ static void shader_glsl_generate_sm4_rasterizer_input_setup(struct shader_glsl_p
{ {
struct wined3d_string_buffer *buffer = &priv->shader_buffer; struct wined3d_string_buffer *buffer = &priv->shader_buffer;
input_count = min(vec4_varyings(4, gl_info), input_count);
if (input_count) if (input_count)
declare_out_varying(gl_info, buffer, FALSE, "vec4 ps_link[%u];\n", min(vec4_varyings(4, gl_info), input_count)); declare_out_varying(gl_info, buffer, FALSE, "vec4 ps_link[%u];\n", input_count);
shader_addline(buffer, "void setup_%s_output(in vec4 outputs[%u])\n{\n", shader_addline(buffer, "void setup_%s_output(in vec4 outputs[%u])\n{\n",
shader_glsl_get_prefix(shader->reg_maps.shader_version.type), shader->limits->packed_output); shader_glsl_get_prefix(shader->reg_maps.shader_version.type), shader->limits->packed_output);