aboutsummaryrefslogtreecommitdiffstats
path: root/src/vk-command-buffer.cpp
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2026-08-24 23:46:12 +0200
committerladevieq <ladevie.quentin@gmail.com>2026-08-24 23:46:12 +0200
commitc85ca6648401a32c4bda6ae4cc571614e53e71ce (patch)
treea72c6aead6c5380845fdb8ab2d231bc2965afd36 /src/vk-command-buffer.cpp
parentd7fb64a1b127e76200359bf5505df64c04cb33ca (diff)
Fix some descriptor heap usage errors
Change VKCHECK macro
Diffstat (limited to 'src/vk-command-buffer.cpp')
-rw-r--r--src/vk-command-buffer.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/vk-command-buffer.cpp b/src/vk-command-buffer.cpp
index aa87265..6b1f271 100644
--- a/src/vk-command-buffer.cpp
+++ b/src/vk-command-buffer.cpp
@@ -8,7 +8,7 @@ void command_buffer::start() const {
.pInheritanceInfo = nullptr
};
- VKCHECK(vkBeginCommandBuffer(vk_command_buffer, &begin_info));
+ VK_CHECK(vkBeginCommandBuffer(vk_command_buffer, &begin_info));
{
device_buffer* image_heap_buffer = vkdevice::get().get_buffer(image_heap);
@@ -21,7 +21,7 @@ void command_buffer::start() const {
.sType = VK_STRUCTURE_TYPE_BIND_HEAP_INFO_EXT,
.pNext = nullptr,
.heapRange = heap_range,
- .reservedRangeOffset = 0U,
+ .reservedRangeOffset = image_heap_buffer->size - descriptor_heap_props.minResourceHeapReservedRange,
.reservedRangeSize = descriptor_heap_props.minResourceHeapReservedRange,
};
@@ -40,7 +40,7 @@ void command_buffer::start() const {
.sType = VK_STRUCTURE_TYPE_BIND_HEAP_INFO_EXT,
.pNext = nullptr,
.heapRange = heap_range,
- .reservedRangeOffset = 0U,
+ .reservedRangeOffset = sampler_heap_buffer->size - descriptor_heap_props.minSamplerHeapReservedRange,
.reservedRangeSize = descriptor_heap_props.minSamplerHeapReservedRange,
};
@@ -49,7 +49,7 @@ void command_buffer::start() const {
}
void command_buffer::stop() const {
- VKCHECK(vkEndCommandBuffer(vk_command_buffer));
+ VK_CHECK(vkEndCommandBuffer(vk_command_buffer));
}
void command_buffer::barrier(handle<device_texture> texture_handle, VkPipelineStageFlags2 stage, VkAccessFlags2 access, VkImageLayout layout) const {
@@ -147,10 +147,10 @@ void graphics_command_buffer::dispatch(const dispatch_params& params, const void
}
void graphics_command_buffer::begin_renderpass(const renderpass_params& params) const {
- std::vector<VkRenderingAttachmentInfo> attachments_info(params.color_attachments_count);
+ VkRenderingAttachmentInfo* attachments_info = static_cast<VkRenderingAttachmentInfo*>(_malloca(sizeof(VkRenderingAttachmentInfo) * params.color_attachments_count));
- for (auto index{ 0U }; index < params.color_attachments_count; index++) {
- auto& attachment_info = attachments_info[index];
+ for (u32 index = 0U; index < params.color_attachments_count; index++) {
+ VkRenderingAttachmentInfo& attachment_info = attachments_info[index];
device_texture* attachment = vkdevice::get().get_texture(params.color_attachments[index]);
attachment_info.sType = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO;
@@ -194,8 +194,8 @@ void graphics_command_buffer::begin_renderpass(const renderpass_params& params)
.renderArea = scissor,
.layerCount = 1U,
.viewMask = 0U,
- .colorAttachmentCount = static_cast<uint32_t>(attachments_info.size()),
- .pColorAttachments = attachments_info.data(),
+ .colorAttachmentCount = static_cast<uint32_t>(params.color_attachments_count),
+ .pColorAttachments = attachments_info,
.pDepthAttachment = nullptr,
.pStencilAttachment = nullptr,
};