projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
radv: Enable YCBCR conversion feature.
[mesa.git]
/
src
/
amd
/
vulkan
/
radv_private.h
diff --git
a/src/amd/vulkan/radv_private.h
b/src/amd/vulkan/radv_private.h
index 852dfd259c601db952ab7e8cbd9755ffb0b641c8..352072f8ff3f176f4df93889c76083066fcb127e 100644
(file)
--- a/
src/amd/vulkan/radv_private.h
+++ b/
src/amd/vulkan/radv_private.h
@@
-809,7
+809,8
@@
struct radv_descriptor_update_template_entry {
uint32_t buffer_offset;
/* Only valid for combined image samplers and samplers */
uint32_t buffer_offset;
/* Only valid for combined image samplers and samplers */
- uint16_t has_sampler;
+ uint8_t has_sampler;
+ uint8_t sampler_offset;
/* In bytes */
size_t src_offset;
/* In bytes */
size_t src_offset;
@@
-1670,6
+1671,16
@@
radv_init_metadata(struct radv_device *device,
struct radv_image *image,
struct radeon_bo_metadata *metadata);
struct radv_image *image,
struct radeon_bo_metadata *metadata);
+union radv_descriptor {
+ struct {
+ uint32_t plane0_descriptor[8];
+ uint32_t fmask_descriptor[8];
+ };
+ struct {
+ uint32_t plane_descriptors[3][8];
+ };
+};
+
struct radv_image_view {
struct radv_image *image; /**< VkImageViewCreateInfo::image */
struct radeon_winsys_bo *bo;
struct radv_image_view {
struct radv_image *image; /**< VkImageViewCreateInfo::image */
struct radeon_winsys_bo *bo;
@@
-1678,18
+1689,19
@@
struct radv_image_view {
VkImageAspectFlags aspect_mask;
VkFormat vk_format;
unsigned plane_id;
VkImageAspectFlags aspect_mask;
VkFormat vk_format;
unsigned plane_id;
+ bool multiple_planes;
uint32_t base_layer;
uint32_t layer_count;
uint32_t base_mip;
uint32_t level_count;
VkExtent3D extent; /**< Extent of VkImageViewCreateInfo::baseMipLevel. */
uint32_t base_layer;
uint32_t layer_count;
uint32_t base_mip;
uint32_t level_count;
VkExtent3D extent; /**< Extent of VkImageViewCreateInfo::baseMipLevel. */
- u
int32_t descriptor[16]
;
+ u
nion radv_descriptor descriptor
;
/* Descriptor for use as a storage image as opposed to a sampled image.
* This has a few differences for cube maps (e.g. type).
*/
/* Descriptor for use as a storage image as opposed to a sampled image.
* This has a few differences for cube maps (e.g. type).
*/
- u
int32_t storage_descriptor[16]
;
+ u
nion radv_descriptor storage_descriptor
;
};
struct radv_image_create_info {
};
struct radv_image_create_info {
@@
-1716,6
+1728,15
@@
void radv_image_view_init(struct radv_image_view *view,
VkFormat radv_get_aspect_format(struct radv_image *image, VkImageAspectFlags mask);
VkFormat radv_get_aspect_format(struct radv_image *image, VkImageAspectFlags mask);
+struct radv_sampler_ycbcr_conversion {
+ VkFormat format;
+ VkSamplerYcbcrModelConversion ycbcr_model;
+ VkSamplerYcbcrRange ycbcr_range;
+ VkComponentMapping components;
+ VkChromaLocation chroma_offsets[2];
+ VkFilter chroma_filter;
+};
+
struct radv_buffer_view {
struct radeon_winsys_bo *bo;
VkFormat vk_format;
struct radv_buffer_view {
struct radeon_winsys_bo *bo;
VkFormat vk_format;
@@
-1771,6
+1792,7
@@
radv_image_extent_compare(const struct radv_image *image,
struct radv_sampler {
uint32_t state[4];
struct radv_sampler {
uint32_t state[4];
+ struct radv_sampler_ycbcr_conversion *ycbcr_sampler;
};
struct radv_color_buffer_info {
};
struct radv_color_buffer_info {
@@
-2041,6
+2063,7
@@
RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_pipeline_layout, VkPipelineLayout)
RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_query_pool, VkQueryPool)
RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_render_pass, VkRenderPass)
RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_sampler, VkSampler)
RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_query_pool, VkQueryPool)
RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_render_pass, VkRenderPass)
RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_sampler, VkSampler)
+RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_sampler_ycbcr_conversion, VkSamplerYcbcrConversion)
RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_shader_module, VkShaderModule)
RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_semaphore, VkSemaphore)
RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_shader_module, VkShaderModule)
RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_semaphore, VkSemaphore)