vrend/shader: Add missing indirect range correction for generic/patch outputs

Apply the same logic as done in commit 08e7afd116 for
the input as we also need to take the indirect output into account.

Fixes running these two dEQP tests:
dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_loop_write_static_loop_read
dEQP-GLES2.functional.shaders.indexing.uniform_array.vec4_static_read_vertex

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
macos/master
Corentin Noël 3 years ago committed by Corentin Noël
parent e420a5aab9
commit 7e928cf8bd
  1. 5
      src/vrend_shader.c

@ -4704,6 +4704,11 @@ void rewrite_io_ranged(struct dump_ctx *ctx)
ctx->generic_ios.output_range.io.last = ctx->outputs[i].sid;
}
}
if (ctx->key->output.num_indirect_generic > 0)
ctx->generic_ios.output_range.io.last = ctx->generic_ios.output_range.io.sid + ctx->key->output.num_indirect_generic - 1;
if (ctx->key->output.num_indirect_patch > 0)
ctx->patch_ios.output_range.io.last = ctx->patch_ios.output_range.io.sid + ctx->key->output.num_indirect_patch - 1;
}
snprintf(ctx->patch_ios.output_range.io.glsl_name, 64, "%s_p%d",
get_stage_output_name_prefix(ctx->prog_type), ctx->patch_ios.output_range.io.sid);

Loading…
Cancel
Save