radv: Remove offset parameter from radv_make_texel_buffer_descriptor.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

This is already only used in vkCreateBufferView, and causes a vkd3d-proton
test to fail with >4GB offsets since the parameter was 32-bit only.

Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34760>
This commit is contained in:
Philip Rebohle 2025-04-30 12:25:32 +02:00 committed by Marge Bot
parent 96765935e8
commit 4cb358f1c2
3 changed files with 7 additions and 9 deletions

View file

@ -20,8 +20,8 @@
#include "vk_log.h"
void
radv_make_texel_buffer_descriptor(struct radv_device *device, uint64_t va, VkFormat vk_format, unsigned offset,
unsigned range, uint32_t *state)
radv_make_texel_buffer_descriptor(struct radv_device *device, uint64_t va, VkFormat vk_format, unsigned range,
uint32_t *state)
{
const struct radv_physical_device *pdev = radv_device_physical(device);
const struct util_format_description *desc;
@ -33,8 +33,6 @@ radv_make_texel_buffer_descriptor(struct radv_device *device, uint64_t va, VkFor
radv_compose_swizzle(desc, NULL, swizzle);
va += offset;
if (pdev->info.gfx_level != GFX8 && stride) {
range /= stride;
}
@ -73,7 +71,7 @@ radv_CreateBufferView(VkDevice _device, const VkBufferViewCreateInfo *pCreateInf
view->bo = buffer->bo;
radv_make_texel_buffer_descriptor(device, buffer->vk.device_address, view->vk.format, view->vk.offset,
radv_make_texel_buffer_descriptor(device, buffer->vk.device_address + view->vk.offset, view->vk.format,
view->vk.range, view->state);
*pView = radv_buffer_view_to_handle(view);

View file

@ -23,7 +23,7 @@ struct radv_buffer_view {
VK_DEFINE_NONDISP_HANDLE_CASTS(radv_buffer_view, vk.base, VkBufferView, VK_OBJECT_TYPE_BUFFER_VIEW)
void radv_make_texel_buffer_descriptor(struct radv_device *device, uint64_t va, 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 range,
uint32_t *state);
#endif /* RADV_BUFFER_VIEW_H */

View file

@ -1702,7 +1702,7 @@ radv_GetDescriptorEXT(VkDevice _device, const VkDescriptorGetInfoEXT *pDescripto
const VkDescriptorAddressInfoEXT *addr_info = pDescriptorInfo->data.pUniformTexelBuffer;
if (addr_info && addr_info->address) {
radv_make_texel_buffer_descriptor(device, addr_info->address, addr_info->format, 0, addr_info->range,
radv_make_texel_buffer_descriptor(device, addr_info->address, addr_info->format, addr_info->range,
pDescriptor);
} else {
memset(pDescriptor, 0, 4 * 4);
@ -1713,7 +1713,7 @@ radv_GetDescriptorEXT(VkDevice _device, const VkDescriptorGetInfoEXT *pDescripto
const VkDescriptorAddressInfoEXT *addr_info = pDescriptorInfo->data.pStorageTexelBuffer;
if (addr_info && addr_info->address) {
radv_make_texel_buffer_descriptor(device, addr_info->address, addr_info->format, 0, addr_info->range,
radv_make_texel_buffer_descriptor(device, addr_info->address, addr_info->format, addr_info->range,
pDescriptor);
} else {
memset(pDescriptor, 0, 4 * 4);