You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I just spend a couple hours finding a rogue/stray layout change in my code, which came from an incorrectly setup VkRenderPass.
I actually found the problem doing "by hand" what this feature suggests. I noticed the relevant code seems to be in CoreChecks::SetImageLayout from source/Vulkan-ValidationLayers/layers/buffer_validation.cpp
I just waited with breakpoints until layout and image_state.image were the ones I was expecting; and walked up the stack.
It would be cool if there was an official way to do this, like registering a listener so we get:
old layout
new layout
image ptr
name (if vkDebugMarkerSetObjectNameEXT was called on it)
The text was updated successfully, but these errors were encountered:
@darksylinc, that sounds pretty cool, but might be slightly outside the purview of the default set of work done in the Validation Layers. I will add it to the Best Practices tracking issue (though it doesn't quite fit that either) just so it doesn't get lost. This might be something better suited to GfxReconstruct or RenderDoc maybe?
RenderDoc may be able to do it, but is not very well suited for this; as the goal is to break and evaluate the C++ state whenever that rogue transition changes.
Conceptually speaking, what I am proposing is very similar to _crtBreakAlloc
By the time RenderDoc or GFXReconstruct's replay is run, all the info I want to inspect has long been lost because it's not even part of Vulkan at all.
Hi!
I just spend a couple hours finding a rogue/stray layout change in my code, which came from an incorrectly setup VkRenderPass.
I actually found the problem doing "by hand" what this feature suggests. I noticed the relevant code seems to be in
CoreChecks::SetImageLayout
from source/Vulkan-ValidationLayers/layers/buffer_validation.cppI just waited with breakpoints until layout and image_state.image were the ones I was expecting; and walked up the stack.
It would be cool if there was an official way to do this, like registering a listener so we get:
The text was updated successfully, but these errors were encountered: