diff --git a/include/QF/Vulkan/resource.h b/include/QF/Vulkan/resource.h index 595613fa4..4cc7c78c5 100644 --- a/include/QF/Vulkan/resource.h +++ b/include/QF/Vulkan/resource.h @@ -21,6 +21,7 @@ typedef struct qfv_resobj_s { VkDeviceSize size; VkBufferUsageFlags usage; VkBuffer buffer; + VkDeviceSize offset; } buffer; struct { unsigned buffer; @@ -39,6 +40,7 @@ typedef struct qfv_resobj_s { VkSampleCountFlags samples; VkImageUsageFlags usage; VkImage image; + VkDeviceSize offset; } image; struct { unsigned image; diff --git a/libs/video/renderer/vulkan/resource.c b/libs/video/renderer/vulkan/resource.c index d217cbe58..45906199d 100644 --- a/libs/video/renderer/vulkan/resource.c +++ b/libs/video/renderer/vulkan/resource.c @@ -163,6 +163,7 @@ QFV_CreateResource (qfv_device_t *device, qfv_resource_t *resource) __auto_type buffer = &obj->buffer; QFV_BindBufferMemory (device, buffer->buffer, resource->memory, offset); + buffer->offset = offset; } break; case qfv_res_image: @@ -170,6 +171,7 @@ QFV_CreateResource (qfv_device_t *device, qfv_resource_t *resource) __auto_type image = &obj->image; QFV_BindImageMemory (device, image->image, resource->memory, offset); + image->offset = offset; } break; case qfv_res_buffer_view: