radv: use radv_write_sampler_descriptor() for combined image/sampler
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:
committed by
Marge Bot
parent
3fb33aada6
commit
f2b5446cc4
@@ -254,6 +254,13 @@ radv_write_image_descriptor_ycbcr_impl(struct radv_device *device, struct radv_c
|
||||
}
|
||||
}
|
||||
|
||||
static ALWAYS_INLINE void
|
||||
radv_write_sampler_descriptor(unsigned *dst, VkSampler _sampler)
|
||||
{
|
||||
VK_FROM_HANDLE(radv_sampler, sampler, _sampler);
|
||||
memcpy(dst, sampler->state, RADV_SAMPLER_DESC_SIZE);
|
||||
}
|
||||
|
||||
static ALWAYS_INLINE void
|
||||
radv_write_combined_image_sampler_descriptor(struct radv_device *device, struct radv_cmd_buffer *cmd_buffer,
|
||||
unsigned *dst, struct radeon_winsys_bo **buffer_list,
|
||||
@@ -263,20 +270,12 @@ radv_write_combined_image_sampler_descriptor(struct radv_device *device, struct
|
||||
radv_write_image_descriptor_impl(device, cmd_buffer, 64, dst, buffer_list, descriptor_type, image_info);
|
||||
/* copy over sampler state */
|
||||
if (has_sampler) {
|
||||
VK_FROM_HANDLE(radv_sampler, sampler, image_info->sampler);
|
||||
const uint32_t sampler_offset = RADV_COMBINED_IMAGE_SAMPLER_DESC_SAMPLER_OFFSET;
|
||||
|
||||
memcpy(dst + sampler_offset / sizeof(*dst), sampler->state, RADV_SAMPLER_DESC_SIZE);
|
||||
radv_write_sampler_descriptor(dst + sampler_offset / sizeof(*dst), image_info->sampler);
|
||||
}
|
||||
}
|
||||
|
||||
static ALWAYS_INLINE void
|
||||
radv_write_sampler_descriptor(unsigned *dst, VkSampler _sampler)
|
||||
{
|
||||
VK_FROM_HANDLE(radv_sampler, sampler, _sampler);
|
||||
memcpy(dst, sampler->state, RADV_SAMPLER_DESC_SIZE);
|
||||
}
|
||||
|
||||
static ALWAYS_INLINE void
|
||||
radv_write_accel_struct_descriptor(struct radv_device *device, void *ptr, VkDeviceAddress va)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user