From: Roland Scheidegger <srol...@vmware.com> Also report if a shader writes the layer semantic --- src/gallium/auxiliary/draw/draw_context.c | 2 +- src/gallium/auxiliary/tgsi/tgsi_scan.c | 5 +++++ src/gallium/auxiliary/tgsi/tgsi_scan.h | 1 + src/gallium/auxiliary/tgsi/tgsi_strings.c | 1 + 4 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index 58ce270..35063b9 100644 --- a/src/gallium/auxiliary/draw/draw_context.c +++ b/src/gallium/auxiliary/draw/draw_context.c @@ -548,7 +548,7 @@ draw_get_shader_info(const struct draw_context *draw) * function to find those attributes. * * -1 is returned if the attribute is not found since this is - * an undefined situtation. Note, that zero is valid and can + * an undefined situation. Note, that zero is valid and can * be used by any of the attributes, because position is not * required to be attribute 0 or even at all present. */ diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c index 0230267..d331257 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_scan.c +++ b/src/gallium/auxiliary/tgsi/tgsi_scan.c @@ -217,6 +217,11 @@ tgsi_scan_shader(const struct tgsi_token *tokens, TGSI_SEMANTIC_VIEWPORT_INDEX) { info->writes_viewport_index = TRUE; } + if (procType == TGSI_PROCESSOR_GEOMETRY && + fulldecl->Semantic.Name == + TGSI_SEMANTIC_LAYER) { + info->writes_layer = TRUE; + } } } diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.h b/src/gallium/auxiliary/tgsi/tgsi_scan.h index 676abf0..a5b7024 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_scan.h +++ b/src/gallium/auxiliary/tgsi/tgsi_scan.h @@ -76,6 +76,7 @@ struct tgsi_shader_info boolean pixel_center_integer; boolean color0_writes_all_cbufs; boolean writes_viewport_index; + boolean writes_layer; unsigned num_written_clipdistance; /** diff --git a/src/gallium/auxiliary/tgsi/tgsi_strings.c b/src/gallium/auxiliary/tgsi/tgsi_strings.c index 6abf927..625107c 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_strings.c +++ b/src/gallium/auxiliary/tgsi/tgsi_strings.c @@ -80,6 +80,7 @@ const char *tgsi_semantic_names[TGSI_SEMANTIC_COUNT] = "TEXCOORD", "PCOORD", "VIEWPORT_INDEX" + "LAYER" }; const char *tgsi_texture_names[TGSI_TEXTURE_COUNT] = -- 1.7.9.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev