summaryrefslogtreecommitdiff
path: root/src/amd/vulkan/radv_shader.h
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2019-07-06 23:24:07 +0200
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2019-07-07 17:51:32 +0200
commit9e37609d0bc1246a880571e78a169678bc9acf48 (patch)
tree17c8021cc45b1075f97e50f08bd792ea56e992c2 /src/amd/vulkan/radv_shader.h
parentd0978427cbfebde6eda0a5e2e2bc71dd2b524553 (diff)
downloadmesa-9e37609d0bc1246a880571e78a169678bc9acf48.tar.gz
radv: Combine vs and tes output keys parts.
That way the same deref is valid for both shader stages. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Diffstat (limited to 'src/amd/vulkan/radv_shader.h')
-rw-r--r--src/amd/vulkan/radv_shader.h22
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;
};