pvr: Use common vk_buffer implementation.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com> Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719>
This commit is contained in:
parent
405a407d42
commit
8ef42c25a6
|
@ -2017,7 +2017,7 @@ void pvr_CmdBindIndexBuffer(VkCommandBuffer commandBuffer,
|
|||
PVR_FROM_HANDLE(pvr_buffer, index_buffer, buffer);
|
||||
struct pvr_cmd_buffer_state *const state = &cmd_buffer->state;
|
||||
|
||||
assert(offset < index_buffer->size);
|
||||
assert(offset < index_buffer->vk.size);
|
||||
assert(indexType == VK_INDEX_TYPE_UINT32 ||
|
||||
indexType == VK_INDEX_TYPE_UINT16);
|
||||
|
||||
|
|
|
@ -1355,12 +1355,12 @@ pvr_descriptor_update_buffer_info(const struct pvr_device *device,
|
|||
const pvr_dev_addr_t addr =
|
||||
PVR_DEV_ADDR_OFFSET(buffer->dev_addr, buffer_info->offset);
|
||||
uint32_t range = (buffer_info->range == VK_WHOLE_SIZE)
|
||||
? (buffer->size - buffer_info->offset)
|
||||
? (buffer->vk.size - buffer_info->offset)
|
||||
: (buffer_info->range);
|
||||
|
||||
set->descriptors[desc_idx].type = write_set->descriptorType;
|
||||
set->descriptors[desc_idx].buffer_dev_addr = addr;
|
||||
set->descriptors[desc_idx].buffer_create_info_size = buffer->size;
|
||||
set->descriptors[desc_idx].buffer_create_info_size = buffer->vk.size;
|
||||
set->descriptors[desc_idx].buffer_desc_range = range;
|
||||
|
||||
if (is_dynamic)
|
||||
|
|
|
@ -1755,7 +1755,7 @@ VkResult pvr_BindBufferMemory2(VkDevice _device,
|
|||
VkResult result = pvr_bind_memory(device,
|
||||
mem,
|
||||
pBindInfos[i].memoryOffset,
|
||||
buffer->size,
|
||||
buffer->vk.size,
|
||||
buffer->alignment,
|
||||
&buffer->vma,
|
||||
&buffer->dev_addr);
|
||||
|
@ -1834,14 +1834,11 @@ VkResult pvr_CreateBuffer(VkDevice _device,
|
|||
if (pCreateInfo->size >= ULONG_MAX - alignment)
|
||||
return VK_ERROR_OUT_OF_DEVICE_MEMORY;
|
||||
|
||||
buffer = vk_object_zalloc(&device->vk,
|
||||
pAllocator,
|
||||
sizeof(*buffer),
|
||||
VK_OBJECT_TYPE_BUFFER);
|
||||
buffer =
|
||||
vk_buffer_create(&device->vk, pCreateInfo, pAllocator, sizeof(*buffer));
|
||||
if (!buffer)
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
buffer->size = pCreateInfo->size;
|
||||
buffer->alignment = alignment;
|
||||
|
||||
*pBuffer = pvr_buffer_to_handle(buffer);
|
||||
|
@ -1862,7 +1859,7 @@ void pvr_DestroyBuffer(VkDevice _device,
|
|||
if (buffer->vma)
|
||||
pvr_unbind_memory(device, buffer->vma);
|
||||
|
||||
vk_object_free(&device->vk, pAllocator, buffer);
|
||||
vk_buffer_destroy(&device->vk, pAllocator, &buffer->vk);
|
||||
}
|
||||
|
||||
VkResult pvr_gpu_upload(struct pvr_device *device,
|
||||
|
@ -2434,7 +2431,7 @@ void pvr_GetBufferMemoryRequirements2(
|
|||
|
||||
pMemoryRequirements->memoryRequirements.alignment = buffer->alignment;
|
||||
pMemoryRequirements->memoryRequirements.size =
|
||||
ALIGN_POT(buffer->size, buffer->alignment);
|
||||
ALIGN_POT(buffer->vk.size, buffer->alignment);
|
||||
}
|
||||
|
||||
void pvr_GetImageMemoryRequirements2(VkDevice _device,
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
#include "util/log.h"
|
||||
#include "util/macros.h"
|
||||
#include "util/u_dynarray.h"
|
||||
#include "vk_buffer.h"
|
||||
#include "vk_command_buffer.h"
|
||||
#include "vk_device.h"
|
||||
#include "vk_image.h"
|
||||
|
@ -322,10 +323,7 @@ struct pvr_image {
|
|||
};
|
||||
|
||||
struct pvr_buffer {
|
||||
struct vk_object_base base;
|
||||
|
||||
/* Saved information from pCreateInfo */
|
||||
VkDeviceSize size;
|
||||
struct vk_buffer vk;
|
||||
|
||||
/* Derived and other state */
|
||||
uint32_t alignment;
|
||||
|
@ -1361,7 +1359,10 @@ VK_DEFINE_NONDISP_HANDLE_CASTS(pvr_pipeline_cache,
|
|||
base,
|
||||
VkPipelineCache,
|
||||
VK_OBJECT_TYPE_PIPELINE_CACHE)
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(pvr_buffer, base, VkBuffer, VK_OBJECT_TYPE_BUFFER)
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(pvr_buffer,
|
||||
vk.base,
|
||||
VkBuffer,
|
||||
VK_OBJECT_TYPE_BUFFER)
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(pvr_image_view,
|
||||
vk.base,
|
||||
VkImageView,
|
||||
|
|
Loading…
Reference in New Issue