summaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan/radv_private.h
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <[email protected]>2017-10-24 20:46:35 +0200
committerBas Nieuwenhuizen <[email protected]>2017-10-26 00:28:40 +0200
commit49d035122ee8ff17522f8fa87a862f348904218f (patch)
tree34e4c1d99de7acd40169fdff9ebb01679d18d244 /src/amd/vulkan/radv_private.h
parentde38491a5719b0c56cfa79b3ef1e6f947cc524d5 (diff)
radv: Add single pipeline cache key.
To decouple the key used for info gathering and the cache from whatever we pass to the compiler. Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_private.h')
-rw-r--r--src/amd/vulkan/radv_private.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index 83529015c5d..e80c47482c6 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -320,6 +320,16 @@ struct radv_pipeline_cache {
VkAllocationCallbacks alloc;
};
+struct radv_pipeline_key {
+ uint32_t instance_rate_inputs;
+ unsigned tess_input_vertices;
+ uint32_t col_format;
+ uint32_t is_int8;
+ uint32_t is_int10;
+ uint32_t multisample : 1;
+ uint32_t has_multiview_view_index : 1;
+};
+
void
radv_pipeline_cache_init(struct radv_pipeline_cache *cache,
struct radv_device *device);
@@ -976,7 +986,6 @@ struct radv_event {
};
struct radv_shader_module;
-struct ac_shader_variant_key;
#define RADV_HASH_SHADER_IS_GEOM_COPY_SHADER (1 << 0)
#define RADV_HASH_SHADER_SISCHED (1 << 1)
@@ -985,7 +994,7 @@ void
radv_hash_shaders(unsigned char *hash,
const VkPipelineShaderStageCreateInfo **stages,
const struct radv_pipeline_layout *layout,
- const struct ac_shader_variant_key *keys,
+ const struct radv_pipeline_key *key,
uint32_t flags);
static inline gl_shader_stage