radv: rework and rename radv_make_buffer_descriptor()
Pass the VA directly and rename to radv_make_texel_buffer_descriptor(). This helper will be re-used for future work. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18750>
This commit is contained in:
committed by
Marge Bot
parent
81d7a6bdff
commit
31dc15b977
@@ -704,14 +704,12 @@ radv_compose_swizzle(const struct util_format_description *desc, const VkCompone
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
radv_make_buffer_descriptor(struct radv_device *device, struct radv_buffer *buffer,
|
||||
VkFormat vk_format, unsigned offset, unsigned range, uint32_t *state)
|
||||
void
|
||||
radv_make_texel_buffer_descriptor(struct radv_device *device, uint64_t va, VkFormat vk_format,
|
||||
unsigned offset, unsigned range, uint32_t *state)
|
||||
{
|
||||
const struct util_format_description *desc;
|
||||
unsigned stride;
|
||||
uint64_t gpu_address = radv_buffer_get_va(buffer->bo);
|
||||
uint64_t va = gpu_address + buffer->offset;
|
||||
unsigned num_format, data_format;
|
||||
int first_non_void;
|
||||
enum pipe_swizzle swizzle[4];
|
||||
@@ -2548,14 +2546,15 @@ radv_buffer_view_init(struct radv_buffer_view *view, struct radv_device *device,
|
||||
const VkBufferViewCreateInfo *pCreateInfo)
|
||||
{
|
||||
RADV_FROM_HANDLE(radv_buffer, buffer, pCreateInfo->buffer);
|
||||
uint64_t va = radv_buffer_get_va(buffer->bo) + buffer->offset;
|
||||
|
||||
vk_object_base_init(&device->vk, &view->base, VK_OBJECT_TYPE_BUFFER_VIEW);
|
||||
|
||||
view->bo = buffer->bo;
|
||||
view->range = vk_buffer_range(&buffer->vk, pCreateInfo->offset, pCreateInfo->range);
|
||||
|
||||
radv_make_buffer_descriptor(device, buffer, pCreateInfo->format, pCreateInfo->offset, view->range,
|
||||
view->state);
|
||||
radv_make_texel_buffer_descriptor(device, va, pCreateInfo->format, pCreateInfo->offset,
|
||||
view->range, view->state);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -2722,6 +2722,10 @@ void radv_meta_push_descriptor_set(struct radv_cmd_buffer *cmd_buffer,
|
||||
uint32_t set, uint32_t descriptorWriteCount,
|
||||
const VkWriteDescriptorSet *pDescriptorWrites);
|
||||
|
||||
void radv_make_texel_buffer_descriptor(struct radv_device *device, uint64_t va,
|
||||
VkFormat vk_format, unsigned offset, unsigned range,
|
||||
uint32_t *state);
|
||||
|
||||
uint32_t radv_init_dcc(struct radv_cmd_buffer *cmd_buffer, struct radv_image *image,
|
||||
const VkImageSubresourceRange *range, uint32_t value);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user