summaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan/radv_private.h
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2017-09-11 07:14:05 +0100
committerDave Airlie <[email protected]>2017-09-11 23:55:15 +0100
commitded1dbfd9616945ea235d186bc877b667d853d1e (patch)
treec53c1bac75336072d2809eef4931fe19165f8f49 /src/amd/vulkan/radv_private.h
parentd2490eb2d1c73054c0022f02d425d5f9c6d56c56 (diff)
radv: calculate non-draw related ia_multi_vgt_param bits in pipeline
This moves a bunch of non-draw dependent calcs into the pipeline code, to reduce CPU overheads in the draw path. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_private.h')
-rw-r--r--src/amd/vulkan/radv_private.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index c647efdcbcc..af3024f30ed 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -1044,6 +1044,8 @@ struct radv_vertex_elements_info {
uint32_t count;
};
+#define SI_GS_PER_ES 128
+
struct radv_pipeline {
struct radv_device * device;
uint32_t dynamic_state_mask;
@@ -1075,6 +1077,7 @@ struct radv_pipeline {
uint32_t vgt_gs_mode;
bool vgt_primitiveid_en;
bool prim_restart_enable;
+ bool partial_es_wave;
uint8_t primgroup_size;
unsigned esgs_ring_size;
unsigned gsvs_ring_size;
@@ -1083,6 +1086,9 @@ struct radv_pipeline {
uint32_t pa_cl_vs_out_cntl;
uint32_t vgt_shader_stages_en;
uint32_t vtx_base_sgpr;
+ bool wd_switch_on_eop;
+ bool ia_switch_on_eoi;
+ bool partial_vs_wave;
uint8_t vtx_emit_num;
struct radv_prim_vertex_count prim_vertex_count;
bool can_use_guardband;