rendertarget multi frame rewrite complete

This commit is contained in:
Jorijn van der Graaf 2026-03-13 01:06:55 +01:00
commit bc97c13a0b
6 changed files with 76 additions and 22 deletions

View file

@ -619,7 +619,7 @@ void Window::UpdateCursorImage() {
void Window::StartSync() {
#ifdef CRAFTER_GRAPHICS_WINDOW_WAYLAND
while (open && wl_display_dispatch(Device::display) != -1) {
onBeforeUpdate.Invoke();
}
#endif
#ifdef CRAFTER_GRAPHICS_WINDOW_WIN32
@ -629,6 +629,7 @@ void Window::StartSync() {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
onBeforeUpdate.Invoke();
if(updating) {
Update();
}
@ -997,6 +998,31 @@ void Window::FinishInit() {
Device::CheckVkResult(vkQueueWaitIdle(Device::queue));
}
VkCommandBuffer Window::GetCmd() {
VkCommandBufferBeginInfo cmdBufInfo {};
cmdBufInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
Device::CheckVkResult(vkBeginCommandBuffer(drawCmdBuffers[currentBuffer], &cmdBufInfo));
VkImageSubresourceRange range{};
range.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
range.baseMipLevel = 0;
range.levelCount = VK_REMAINING_MIP_LEVELS;
range.baseArrayLayer = 0;
range.layerCount = VK_REMAINING_ARRAY_LAYERS;
return drawCmdBuffers[currentBuffer];
}
void Window::EndCmd(VkCommandBuffer cmd) {
VkSubmitInfo submitInfo{};
submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
submitInfo.commandBufferCount = 1;
submitInfo.pCommandBuffers = &drawCmdBuffers[currentBuffer];
Device::CheckVkResult(vkEndCommandBuffer(drawCmdBuffers[currentBuffer]));
Device::CheckVkResult(vkQueueSubmit(Device::queue, 1, &submitInfo, VK_NULL_HANDLE));
Device::CheckVkResult(vkQueueWaitIdle(Device::queue));
}
#endif
#ifdef CRAFTER_GRAPHICS_WINDOW_WAYLAND