summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/radeonsi/si_shader.h
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2018-08-14 02:01:18 -0400
committerMarek Olšák <marek.olsak@amd.com>2019-05-16 13:13:34 -0400
commitc9b7a37b8f7979433655e269a2b161d33eb41659 (patch)
tree0d3fe57fefbbfe09dc6b25370c1330126927bbe1 /src/gallium/drivers/radeonsi/si_shader.h
parent187f1c999f90c3bef5b657bf386f076436149c1c (diff)
radeonsi: cull primitives with async compute for large draw calls
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de> Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_shader.h')
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h
index 3a63292658b..bc9299bda66 100644
--- a/src/gallium/drivers/radeonsi/si_shader.h
+++ b/src/gallium/drivers/radeonsi/si_shader.h
@@ -340,6 +340,7 @@ struct si_shader_selector {
unsigned type;
bool vs_needs_prolog;
bool force_correct_derivs_after_kill;
+ bool prim_discard_cs_allowed;
unsigned pa_cl_vs_out_cntl;
ubyte clipdist_mask;
ubyte culldist_mask;
@@ -554,6 +555,19 @@ struct si_shader_key {
* possible, because it's in the "opt" group.
*/
unsigned prefer_mono:1;
+
+ /* Primitive discard compute shader. */
+ unsigned vs_as_prim_discard_cs:1;
+ unsigned cs_prim_type:4;
+ unsigned cs_indexed:1;
+ unsigned cs_instancing:1;
+ unsigned cs_primitive_restart:1;
+ unsigned cs_provoking_vertex_first:1;
+ unsigned cs_need_correct_orientation:1;
+ unsigned cs_cull_front:1;
+ unsigned cs_cull_back:1;
+ unsigned cs_cull_z:1;
+ unsigned cs_halfz_clip_space:1;
} opt;
};