diff options
author | Samuel Pitoiset <[email protected]> | 2019-06-26 16:35:44 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2019-06-27 08:56:37 +0200 |
commit | d5004f60be7e5f950f5bd8fc8ced75f7a6dc3421 (patch) | |
tree | 4a5e1826d7fd80c5b3b35e9d312c46974733720c /src/amd/vulkan/radv_shader.h | |
parent | 1e9ccc5429fcb5c6d6efa9fa35e19b364b8cabf7 (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.h | 2 |
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; }; |