radv: only write 32 bytes for combined image/sampler on GFX11+

It should be slightly more optimal.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36762>
This commit is contained in:
Samuel Pitoiset 2025-08-13 16:16:09 +02:00 committed by Marge Bot
parent b6d093c4f5
commit 897201d710
2 changed files with 5 additions and 2 deletions

View file

@ -134,7 +134,7 @@ radv_GetDescriptorEXT(VkDevice _device, const VkDescriptorGetInfoEXT *pDescripto
if (sampler->vk.ycbcr_conversion) {
radv_write_image_descriptor_ycbcr(pDescriptor, pDescriptorInfo->data.pCombinedImageSampler);
} else {
radv_write_image_descriptor(pDescriptor, 64, pDescriptorInfo->type,
radv_write_image_descriptor(pDescriptor, radv_get_sampled_image_desc_size(pdev), pDescriptorInfo->type,
pDescriptorInfo->data.pCombinedImageSampler);
radv_write_sampler_descriptor((uint32_t *)pDescriptor + RADV_COMBINED_IMAGE_SAMPLER_DESC_SAMPLER_OFFSET / 4,
pDescriptorInfo->data.pCombinedImageSampler->sampler);

View file

@ -267,7 +267,10 @@ radv_write_combined_image_sampler_descriptor(struct radv_device *device, struct
VkDescriptorType descriptor_type, const VkDescriptorImageInfo *image_info,
bool has_sampler)
{
radv_write_image_descriptor_impl(device, cmd_buffer, 64, dst, buffer_list, descriptor_type, image_info);
const struct radv_physical_device *pdev = radv_device_physical(device);
const uint32_t desc_size = radv_get_sampled_image_desc_size(pdev);
radv_write_image_descriptor_impl(device, cmd_buffer, desc_size, dst, buffer_list, descriptor_type, image_info);
/* copy over sampler state */
if (has_sampler) {
const uint32_t sampler_offset = RADV_COMBINED_IMAGE_SAMPLER_DESC_SAMPLER_OFFSET;