diff options
author | Bas Nieuwenhuizen <[email protected]> | 2019-07-06 23:24:07 +0200 |
---|---|---|
committer | Bas Nieuwenhuizen <[email protected]> | 2019-07-07 17:51:32 +0200 |
commit | 9e37609d0bc1246a880571e78a169678bc9acf48 (patch) | |
tree | 17c8021cc45b1075f97e50f08bd792ea56e992c2 /src/amd/vulkan/radv_shader.h | |
parent | d0978427cbfebde6eda0a5e2e2bc71dd2b524553 (diff) |
radv: Combine vs and tes output keys parts.
That way the same deref is valid for both shader stages.
Reviewed-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_shader.h')
-rw-r--r-- | src/amd/vulkan/radv_shader.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/amd/vulkan/radv_shader.h b/src/amd/vulkan/radv_shader.h index c785a79ad17..1ee7fea5890 100644 --- a/src/amd/vulkan/radv_shader.h +++ b/src/amd/vulkan/radv_shader.h @@ -62,7 +62,17 @@ enum { RADV_ALPHA_ADJUST_SSCALED = 3, }; +struct radv_vs_out_key { + uint32_t as_es:1; + 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_vs_variant_key { + struct radv_vs_out_key out; + uint32_t instance_rate_inputs; uint32_t instance_rate_divisors[MAX_VERTEX_ATTRIBS]; uint8_t vertex_attribute_formats[MAX_VERTEX_ATTRIBS]; @@ -76,19 +86,11 @@ struct radv_vs_variant_key { /* For some formats the channels have to be shuffled. */ uint32_t post_shuffle; - - uint32_t as_es:1; - 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; + struct radv_vs_out_key out; + uint8_t num_patches; uint8_t tcs_num_outputs; }; |