-
-
Notifications
You must be signed in to change notification settings - Fork 10.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dx12/vulkan texture management & custom binding #2697
base: master
Are you sure you want to change the base?
Conversation
…g rendering. DX12: Only generate the Font texture if it doesn't already exist. Only set texture if it actually changes. These changes can enable better integration to existing rendereres by ensuring that all ImTextureID objects are the same type as defined by the user.
* Pool allocates linearly and resets each frame. * If pool limit is reached a new pool will be allocated at double the size up to 1024 then it increments in steps of 1024 * Add usage of SetTextureFn, otherwise assumes TextureId is a VkImageView * Users of SetTextureFn can set textures using ImGui_ImplVulkan_SetTexture
…ser callbacks are still processed.
892020e
to
4fb09ae
Compare
Hello, I realize this is not the full merge you've been waiting for, but I just noticed that the 1st commit (fix minor Vulkan edge case) could be merged so it's merged now: 73c30aa It's possible this will now conflicts, you might drop the first commit and then rebase if you have time. (FYI we're working on another thing which overlaps this topic so this may be dragged in toward the full solution.) Thanks again! |
Hi, thanks for looking back at this. unfortunately other things have caused me to go for a custom render backend so I'm handling this all internally now. |
Err? This is useful reference for dear imgui, I wish you didn’t delete that branch. |
Oh, sorry, I thought github would do better at keeping it alive, I managed to find it locally to resurrect it. |
0c1e5bd
to
bb6a60b
Compare
8b83e0a
to
d735066
Compare
b3b85d8
to
0755767
Compare
c817acb
to
8d39063
Compare
Hello @kudaba, we'll be working on a larger set of changes which are likely to include something close to this as part of them. Question: |
I hope you don't mind that I put a few related changes into a single request:
For more details about the descriptor management: From what I can tell, resetting the descriptor pool and building the descriptor sets every frame is actually fairly cheap. The only costly bit would be any time the pool has to grow, but I don't think it will cause any issues for most normal use cases.