Skip to content

Lua Editor Part 2#57

Merged
Pursche merged 2 commits into
masterfrom
pursche/LuaEditorPart2
Jun 30, 2026
Merged

Lua Editor Part 2#57
Pursche merged 2 commits into
masterfrom
pursche/LuaEditorPart2

Conversation

@Pursche

@Pursche Pursche commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Moves Hierarchy, Inspector and AssetBrowser to Luau editors with the CanvasRenderer, gets rid of their C++/ImGui counterparts. Also cleans up old C++/ImGui based MapSelector.

Pursche added 2 commits June 1, 2026 22:21
…functions

Add assert to UploadBufferHandler to prevent usage during the Render functions
Descriptor binding affected in-flight frames

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Vulkan renderer’s per-frame synchronization around descriptor updates and staging uploads by introducing deferred buffer-descriptor writes (applied after the relevant frame-slot fence wait) and adding an explicit “unlock uploads” hook to re-enable staging uploads for the next frame phase.

Changes:

  • Defer buffer descriptor writes via DescriptorHandlerVK::FlushPendingBufferWrites() and invoke it from RendererVK::FlipFrame() after waiting the frame fence.
  • Add Renderer::UnlockUploads() / UploadBufferHandlerVK::UnlockUploads() and introduce an upload lock + assert to prevent render-thread staging uploads after the per-frame submit point.
  • Adjust BindDescriptor APIs to bind buffer descriptors by BufferID (resolving the VkBuffer later at flush time).

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
Source/Renderer/Renderer/Renderers/Vulkan/RendererVK.h Adds UnlockUploads() override to the Vulkan renderer interface.
Source/Renderer/Renderer/Renderers/Vulkan/RendererVK.cpp Updates buffer descriptor binding semantics and flushes deferred buffer writes during FlipFrame; forwards UnlockUploads().
Source/Renderer/Renderer/Renderers/Vulkan/Backend/UploadBufferHandlerVK.h Adds UnlockUploads() API for the upload handler.
Source/Renderer/Renderer/Renderers/Vulkan/Backend/UploadBufferHandlerVK.cpp Introduces a per-frame upload lock + render-thread assert; implements UnlockUploads().
Source/Renderer/Renderer/Renderers/Vulkan/Backend/DescriptorHandlerVK.h Changes buffer BindDescriptor signature and adds FlushPendingBufferWrites() + internal helper.
Source/Renderer/Renderer/Renderers/Vulkan/Backend/DescriptorHandlerVK.cpp Implements pending per-slot buffer writes and per-frame-slot flush of vkUpdateDescriptorSets.
Source/Renderer/Renderer/Renderer.h Extends the renderer interface with UnlockUploads() and documents intended usage.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Source/Renderer/Renderer/Renderers/Vulkan/RendererVK.cpp
@Pursche Pursche merged commit d07d720 into master Jun 30, 2026
1 of 2 checks passed
@Pursche Pursche deleted the pursche/LuaEditorPart2 branch June 30, 2026 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants