Mesa (master): tgsi/scan: fix num_inputs/ num_outputs for shaders with overlapping arrays
Nicolai Hähnle
nh at kemper.freedesktop.org
Wed Oct 12 16:50:26 UTC 2016
Module: Mesa
Branch: master
Commit: f9a01f3872fa854c316b36351b166e2e4ebb5570
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9a01f3872fa854c316b36351b166e2e4ebb5570
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: Fri Oct 7 12:53:55 2016 +0200
tgsi/scan: fix num_inputs/num_outputs for shaders with overlapping arrays
v2: remove a tautological left-over assert (Marek)
Reviewed-by: Edward O'Callaghan <funfunctor at folklore1984.net> (v1)
Reviewed-by: Dave Airlie <airlied at redhat.com> (v1)
---
src/gallium/auxiliary/tgsi/tgsi_scan.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c
index c7745ce..b862078 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_scan.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_scan.c
@@ -401,12 +401,7 @@ scan_declaration(struct tgsi_shader_info *info,
info->input_cylindrical_wrap[reg] = (ubyte)fulldecl->Interp.CylindricalWrap;
/* Vertex shaders can have inputs with holes between them. */
- if (info->processor == PIPE_SHADER_VERTEX)
- info->num_inputs = MAX2(info->num_inputs, reg + 1);
- else {
- info->num_inputs++;
- assert(reg < info->num_inputs);
- }
+ info->num_inputs = MAX2(info->num_inputs, reg + 1);
if (semName == TGSI_SEMANTIC_PRIMID)
info->uses_primid = TRUE;
@@ -456,8 +451,7 @@ scan_declaration(struct tgsi_shader_info *info,
else if (file == TGSI_FILE_OUTPUT) {
info->output_semantic_name[reg] = (ubyte) semName;
info->output_semantic_index[reg] = (ubyte) semIndex;
- info->num_outputs++;
- assert(reg < info->num_outputs);
+ info->num_outputs = MAX2(info->num_outputs, reg + 1);
if (semName == TGSI_SEMANTIC_COLOR)
info->colors_written |= 1 << semIndex;
More information about the mesa-commit
mailing list