xref: /aosp_15_r20/external/virglrenderer/src/venus/vkr_image.h (revision bbecb9d118dfdb95f99bd754f8fa9be01f189df3)
1 /*
2  * Copyright 2020 Google LLC
3  * SPDX-License-Identifier: MIT
4  */
5 
6 #ifndef VKR_IMAGE_H
7 #define VKR_IMAGE_H
8 
9 #include "vkr_common.h"
10 
11 struct vkr_image {
12    struct vkr_object base;
13 };
14 VKR_DEFINE_OBJECT_CAST(image, VK_OBJECT_TYPE_IMAGE, VkImage)
15 
16 struct vkr_image_view {
17    struct vkr_object base;
18 };
19 VKR_DEFINE_OBJECT_CAST(image_view, VK_OBJECT_TYPE_IMAGE_VIEW, VkImageView)
20 
21 struct vkr_sampler {
22    struct vkr_object base;
23 };
24 VKR_DEFINE_OBJECT_CAST(sampler, VK_OBJECT_TYPE_SAMPLER, VkSampler)
25 
26 struct vkr_sampler_ycbcr_conversion {
27    struct vkr_object base;
28 };
29 VKR_DEFINE_OBJECT_CAST(sampler_ycbcr_conversion,
30                        VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
31                        VkSamplerYcbcrConversion)
32 
33 void
34 vkr_context_init_image_dispatch(struct vkr_context *ctx);
35 
36 void
37 vkr_context_init_image_view_dispatch(struct vkr_context *ctx);
38 
39 void
40 vkr_context_init_sampler_dispatch(struct vkr_context *ctx);
41 
42 void
43 vkr_context_init_sampler_ycbcr_conversion_dispatch(struct vkr_context *ctx);
44 
45 #endif /* VKR_IMAGE_H */
46