22#define RENDER_PIPELINE_CACHE_DECLARE(CACHE, SPEC) \
24 struct CACHE##_pipeline_cache; \
26 xrt_result_t CACHE##_pipeline_cache_create(const char *debug_name, struct CACHE##_pipeline_cache **out_cache); \
28 xrt_result_t CACHE##_pipeline_cache_init(struct CACHE##_pipeline_cache *cache, VkShaderModule shader, \
29 VkPipelineLayout layout, VkPipelineCache pipeline_cache); \
31 xrt_result_t CACHE##_pipeline_cache_get(struct CACHE##_pipeline_cache *cache, struct vk_bundle *vk, \
32 const struct SPEC *key, VkPipeline *out_pipeline); \
34 xrt_result_t CACHE##_pipeline_cache_prewarm(struct CACHE##_pipeline_cache *cache, struct vk_bundle *vk, \
35 const struct SPEC *keys, size_t key_count); \
37 void CACHE##_pipeline_cache_destroy(struct CACHE##_pipeline_cache **cache, struct vk_bundle *vk);
39RENDER_SHADER_SPECIALIZATION_ENTRIES(RENDER_PIPELINE_CACHE_DECLARE)
41#undef RENDER_PIPELINE_CACHE_DECLARE
Shader specialization structs for render compute shaders.
Common Vulkan code header.
Internal result type for XRT.