Description
Version/Branch of Dear ImGui:
Latest Version(Any Version)
Back-ends:
imgui_impl_win32 + imgui_impl_dx12
Compiler, OS:
Windows 11, MSVS 2022
Full config/build information:
No response
Details:
Hi, I have a compatibility issue between my DX12 based renderer and ImGui DX12 backend.
My Dx12 renderer creates two(Num Frames In Flight) gpu visible descriptor heaps.
Descriptors are allocated as a growing continues list.
At the end of the frame heaps are being swapped and previous frame heap gets reset.
ImGui DX12 backend expects me to provide alloc/free callbacks.
This is easy enough to do. I could allocate new descriptors at the top of current frame heap while free function can simply do nothing(Whole heap will be reset at the end of the frame anyway).
But ImGui DX12 backend creates one descriptor at the start(presumably for font texture) and this descriptor is supposed to be valid through
application lifetime.
So this creates architectural problem...
What is the best strategy to circumvent this issue?
Should I use single descriptor heap and split it internally into two parts?
Because that would be undesirable since it will make architecture more cumbersome.
Thank you in advance!
Screenshots/Video:
No response