aboutsummaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan/radv_shader.h
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2019-06-26 16:35:44 +0200
committerSamuel Pitoiset <[email protected]>2019-06-27 08:56:37 +0200
commitd5004f60be7e5f950f5bd8fc8ced75f7a6dc3421 (patch)
tree4a5e1826d7fd80c5b3b35e9d312c46974733720c /src/amd/vulkan/radv_shader.h
parent1e9ccc5429fcb5c6d6efa9fa35e19b364b8cabf7 (diff)
radv: only export clip/cull distances if PS reads them
The only exception is the GS copy shader which emits them unconditionally. Totals from affected shaders: SGPRS: 71320 -> 71008 (-0.44 %) VGPRS: 54372 -> 54240 (-0.24 %) Code Size: 2952628 -> 2941368 (-0.38 %) bytes Max Waves: 9689 -> 9723 (0.35 %) This helps Dota2, Doom, GTAV and Hitman 2. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_shader.h')
-rw-r--r--src/amd/vulkan/radv_shader.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_shader.h b/src/amd/vulkan/radv_shader.h
index bfd2787a123..17779cd0c42 100644
--- a/src/amd/vulkan/radv_shader.h
+++ b/src/amd/vulkan/radv_shader.h
@@ -81,12 +81,14 @@ struct radv_vs_variant_key {
uint32_t as_ls:1;
uint32_t export_prim_id:1;
uint32_t export_layer_id:1;
+ uint32_t export_clip_dists:1;
};
struct radv_tes_variant_key {
uint32_t as_es:1;
uint32_t export_prim_id:1;
uint32_t export_layer_id:1;
+ uint32_t export_clip_dists:1;
uint8_t num_patches;
uint8_t tcs_num_outputs;
};