summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_shader.h
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2016-11-13 18:41:43 +0100
committerMarek Olšák <[email protected]>2016-11-21 21:44:35 +0100
commited3190b3f3a776fc8c75b1e6130a88079166d115 (patch)
treed91eb6553426550e1488f36445c83b143b7162f1 /src/gallium/drivers/radeonsi/si_shader.h
parentd984a324bf8702adde68c006f1c3454233871e1c (diff)
radeonsi: don't export ClipVertex and ClipDistance[] if clipping is disabled
This is the first user of optimized monolithic shader variants. Cull distances can't be disabled by states. Tested-by: Edmondo Tommasina <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_shader.h')
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h
index 38aa361d496..4cbd1c24742 100644
--- a/src/gallium/drivers/radeonsi/si_shader.h
+++ b/src/gallium/drivers/radeonsi/si_shader.h
@@ -320,8 +320,6 @@ struct si_vs_prolog_bits {
struct si_vs_epilog_bits {
unsigned export_prim_id:1; /* when PS needs it and GS is disabled */
/* TODO:
- * - skip clipdist, culldist (including clipvertex code) exports based
- * on which clip_plane_enable bits are set
* - skip layer, viewport, clipdist, and culldist parameter exports
* if PS doesn't read them
*/
@@ -438,6 +436,9 @@ struct si_shader_key {
/* Optimization flags for asynchronous compilation only. */
union {
+ struct {
+ unsigned clip_disable:1;
+ } hw_vs; /* HW VS (it can be VS, TES, GS) */
} opt;
};