diff options
author | Marek Olšák <[email protected]> | 2014-12-07 19:08:28 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-12-10 21:59:36 +0100 |
commit | 8115797801c10c5757c34294ef12018702c6bd91 (patch) | |
tree | 5a62e05c4a153eb6f35cd0bafc3dc79e5b29d361 /src/gallium/auxiliary/tgsi | |
parent | 946eb08e6a95510596471168285a20bbe1554bb3 (diff) |
tgsi: add clip and cull distance writemasks into tgsi_shader_info
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/tgsi')
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_scan.c | 4 | ||||
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_scan.h | 2 |
2 files changed, 6 insertions, 0 deletions
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; /** |