• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  * SPDX-License-Identifier: MIT
4  */
5 
6 #ifndef VKR_DESCRIPTOR_SET_H
7 #define VKR_DESCRIPTOR_SET_H
8 
9 #include "vkr_common.h"
10 
11 struct vkr_descriptor_set_layout {
12    struct vkr_object base;
13 };
14 VKR_DEFINE_OBJECT_CAST(descriptor_set_layout,
15                        VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT,
16                        VkDescriptorSetLayout)
17 
18 struct vkr_descriptor_pool {
19    struct vkr_object base;
20 
21    VkDescriptorPoolCreateFlags flags;
22 
23    struct list_head descriptor_sets;
24 };
25 VKR_DEFINE_OBJECT_CAST(descriptor_pool, VK_OBJECT_TYPE_DESCRIPTOR_POOL, VkDescriptorPool)
26 
27 struct vkr_descriptor_set {
28    struct vkr_object base;
29 
30    struct vkr_device *device;
31 };
32 VKR_DEFINE_OBJECT_CAST(descriptor_set, VK_OBJECT_TYPE_DESCRIPTOR_SET, VkDescriptorSet)
33 
34 struct vkr_descriptor_update_template {
35    struct vkr_object base;
36 };
37 VKR_DEFINE_OBJECT_CAST(descriptor_update_template,
38                        VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
39                        VkDescriptorUpdateTemplate)
40 
41 void
42 vkr_context_init_descriptor_set_layout_dispatch(struct vkr_context *ctx);
43 
44 void
45 vkr_context_init_descriptor_pool_dispatch(struct vkr_context *ctx);
46 
47 void
48 vkr_context_init_descriptor_set_dispatch(struct vkr_context *ctx);
49 
50 void
51 vkr_context_init_descriptor_update_template_dispatch(struct vkr_context *ctx);
52 
53 #endif /* VKR_DESCRIPTOR_SET_H */
54