1 /* 2 * Copyright 2019 Google LLC 3 * SPDX-License-Identifier: MIT 4 * 5 * based in part on anv and radv which are: 6 * Copyright © 2015 Intel Corporation 7 * Copyright © 2016 Red Hat. 8 * Copyright © 2016 Bas Nieuwenhuizen 9 */ 10 11 #ifndef VN_PIPELINE_H 12 #define VN_PIPELINE_H 13 14 #include "vn_common.h" 15 16 struct vn_shader_module { 17 struct vn_object_base base; 18 }; 19 VK_DEFINE_NONDISP_HANDLE_CASTS(vn_shader_module, 20 base.base, 21 VkShaderModule, 22 VK_OBJECT_TYPE_SHADER_MODULE) 23 24 struct vn_pipeline_layout { 25 struct vn_object_base base; 26 }; 27 VK_DEFINE_NONDISP_HANDLE_CASTS(vn_pipeline_layout, 28 base.base, 29 VkPipelineLayout, 30 VK_OBJECT_TYPE_PIPELINE_LAYOUT) 31 32 struct vn_pipeline_cache { 33 struct vn_object_base base; 34 }; 35 VK_DEFINE_NONDISP_HANDLE_CASTS(vn_pipeline_cache, 36 base.base, 37 VkPipelineCache, 38 VK_OBJECT_TYPE_PIPELINE_CACHE) 39 40 struct vn_pipeline { 41 struct vn_object_base base; 42 }; 43 VK_DEFINE_NONDISP_HANDLE_CASTS(vn_pipeline, 44 base.base, 45 VkPipeline, 46 VK_OBJECT_TYPE_PIPELINE) 47 48 #endif /* VN_PIPELINE_H */ 49