1 /* 2 * Copyright 2020 Google LLC 3 * SPDX-License-Identifier: MIT 4 */ 5 6 #ifndef VKR_PIPELINE_H 7 #define VKR_PIPELINE_H 8 9 #include "vkr_common.h" 10 11 struct vkr_shader_module { 12 struct vkr_object base; 13 }; 14 VKR_DEFINE_OBJECT_CAST(shader_module, VK_OBJECT_TYPE_SHADER_MODULE, VkShaderModule) 15 16 struct vkr_pipeline_layout { 17 struct vkr_object base; 18 }; 19 VKR_DEFINE_OBJECT_CAST(pipeline_layout, VK_OBJECT_TYPE_PIPELINE_LAYOUT, VkPipelineLayout) 20 21 struct vkr_pipeline_cache { 22 struct vkr_object base; 23 }; 24 VKR_DEFINE_OBJECT_CAST(pipeline_cache, VK_OBJECT_TYPE_PIPELINE_CACHE, VkPipelineCache) 25 26 struct vkr_pipeline { 27 struct vkr_object base; 28 }; 29 VKR_DEFINE_OBJECT_CAST(pipeline, VK_OBJECT_TYPE_PIPELINE, VkPipeline) 30 31 void 32 vkr_context_init_shader_module_dispatch(struct vkr_context *ctx); 33 34 void 35 vkr_context_init_pipeline_layout_dispatch(struct vkr_context *ctx); 36 37 void 38 vkr_context_init_pipeline_cache_dispatch(struct vkr_context *ctx); 39 40 void 41 vkr_context_init_pipeline_dispatch(struct vkr_context *ctx); 42 43 #endif /* VKR_PIPELINE_H */ 44