From: Marek Olšák Date: Sun, 7 Dec 2014 18:08:28 +0000 (+0100) Subject: tgsi: add clip and cull distance writemasks into tgsi_shader_info X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8115797801c10c5757c34294ef12018702c6bd91;p=mesa.git tgsi: add clip and cull distance writemasks into tgsi_shader_info Reviewed-by: Brian Paul --- diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c index b6c88af3a9e..9d155c908f5 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_scan.c +++ b/src/gallium/auxiliary/tgsi/tgsi_scan.c @@ -227,10 +227,14 @@ tgsi_scan_shader(const struct tgsi_token *tokens, if (semName == TGSI_SEMANTIC_CLIPDIST) { info->num_written_clipdistance += util_bitcount(fulldecl->Declaration.UsageMask); + info->clipdist_writemask |= + fulldecl->Declaration.UsageMask << (semIndex*4); } else if (semName == TGSI_SEMANTIC_CULLDIST) { info->num_written_culldistance += util_bitcount(fulldecl->Declaration.UsageMask); + info->culldist_writemask |= + fulldecl->Declaration.UsageMask << (semIndex*4); } else if (semName == TGSI_SEMANTIC_VIEWPORT_INDEX) { info->writes_viewport_index = TRUE; diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.h b/src/gallium/auxiliary/tgsi/tgsi_scan.h index b50b650c801..56079977bf1 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_scan.h +++ b/src/gallium/auxiliary/tgsi/tgsi_scan.h @@ -81,6 +81,8 @@ struct tgsi_shader_info boolean writes_layer; boolean is_msaa_sampler[PIPE_MAX_SAMPLERS]; + unsigned clipdist_writemask; + unsigned culldist_writemask; unsigned num_written_culldistance; unsigned num_written_clipdistance; /**