Skip to content

Ensuring Update-After-Bind is supporting by the Device#492

Merged
jnyfah merged 17 commits intodevelopfrom
user/kernel/fix-updateafter-
Feb 2, 2026
Merged

Ensuring Update-After-Bind is supporting by the Device#492
jnyfah merged 17 commits intodevelopfrom
user/kernel/fix-updateafter-

Conversation

@JeanPhilippeKernel
Copy link
Owner

@JeanPhilippeKernel JeanPhilippeKernel commented Jan 19, 2026

In this PR, I revisited the process of Shader source reflexion to generate DescriptorSet and Layout.

I introduced the TextureArray as global binding across all shaders instead of per- shader.

I also revisited the logic around DescriptorPool size creation, which was consumed large resources than needed.

Then, I hardened the detection and support of Bindless resource of the Device so we can switch to a fallback option in case of no support.

Close #493

@JeanPhilippeKernel JeanPhilippeKernel changed the title User/kernel/fix updateafter Ensuring Update-After-Bind is supporting by the Device Jan 20, 2026
@JeanPhilippeKernel JeanPhilippeKernel added vulkan-api area-macOS Work on macOS system area-window Work on Window system area-linux Work on Linux system labels Jan 20, 2026
@JeanPhilippeKernel JeanPhilippeKernel moved this to In Progress in ZEngine Board Jan 20, 2026
@JeanPhilippeKernel JeanPhilippeKernel added this to the Born baby (0.2.0) milestone Jan 20, 2026
@JeanPhilippeKernel JeanPhilippeKernel self-assigned this Jan 20, 2026
@JeanPhilippeKernel JeanPhilippeKernel marked this pull request as ready for review January 21, 2026 08:48
@JeanPhilippeKernel JeanPhilippeKernel marked this pull request as draft January 22, 2026 04:57
@JeanPhilippeKernel JeanPhilippeKernel added the bug Something isn't working label Jan 26, 2026
@JeanPhilippeKernel JeanPhilippeKernel marked this pull request as ready for review January 26, 2026 13:38
@JeanPhilippeKernel
Copy link
Owner Author

@MathewBensonCode It will be great if you can test the linux artificat of this PR :)

@MathewBensonCode
Copy link
Contributor

Interesting you should ask this now as I was working on this yesterday.

It works fine and the previous issue is not present.

A new issue actually arises because of the change in Swapchain Image count affecting the commandbuffer manager and other related code.

I Wasn't sure how to raise up this new issue when this pr wasn't yet merged. So I was going to wait.

check out the afterbind branch on my repo to see a proposed solution to the new issue.

@JeanPhilippeKernel
Copy link
Owner Author

check out the afterbind branch on my repo to see a proposed solution to the new issue.

Interesting !
I got Zero warning on macOS 🤦🏽‍♂️ !

I think you can open a PR against this branch, so we can iterate on your proposal - just checked and It seems correct but there are few adjustments.

…ount (#495)

* Re-Arrange Code flow after swapchainimage count change

- The code that relies on the SwapchainImageCount such as the command
  buffer are re-arranged to ensure that they run after we establish the
  correct number of Swapchain Images

* Pull Request #495 Requested Changes
- Removed Redundant parameter to the CommandBufferManager.Initialize
  method
- Moved the EnquedCommandBuffers.init method to be called right after
  the m_buffer_manager.Initialize function call

---------

Co-authored-by: Mathew Benson <mathew@benson.co.ke>
@JeanPhilippeKernel JeanPhilippeKernel marked this pull request as draft January 29, 2026 05:29
@JeanPhilippeKernel JeanPhilippeKernel marked this pull request as ready for review January 29, 2026 08:14
@JeanPhilippeKernel
Copy link
Owner Author

@MathewBensonCode It'b be great if you can make a final testing on linux for this PR artificat - We should be pretty solid now on all platforms

@MathewBensonCode
Copy link
Contributor

Linux is showing the UI as expected. Able to launch Obelisk through the Panzerfaust UI.

@JeanPhilippeKernel
Copy link
Owner Author

On Windows, i'm observing a crash due to dangling pointers in Shader and RenderPass classes - mostly on how we manipulate/process string

@JeanPhilippeKernel JeanPhilippeKernel linked an issue Jan 30, 2026 that may be closed by this pull request
@MathewBensonCode
Copy link
Contributor

I tried this on windows yesterday and it worked ok.

@jnyfah
Copy link
Collaborator

jnyfah commented Feb 2, 2026

merging this since its confirmed working

@jnyfah jnyfah merged commit 3f78f0c into develop Feb 2, 2026
21 checks passed
@jnyfah jnyfah deleted the user/kernel/fix-updateafter- branch February 2, 2026 20:04
@github-project-automation github-project-automation bot moved this from In Progress to Done in ZEngine Board Feb 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-linux Work on Linux system area-macOS Work on macOS system area-window Work on Window system bug Something isn't working vulkan-api

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Shader Creation Failure - Running out of VRAM when Creating DescriptorPool Make the Engine run on Linux Debian

3 participants