Skip to content
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

EXT_debug_utils label functions call a null ptr if there is no layers enabled. #33

Closed
JordanLogan-AMD opened this issue Jun 8, 2018 · 4 comments
Milestone

Comments

@JordanLogan-AMD
Copy link

When trying to use CmdBeginDebugUtilsLabelEXT or any other label function from the EXT_debug_utils extenstion without a layer that intercepts the function, a null pointer is called.

Issue can be reproduced with the cube demo by removing the code that loads the validation layer and running with --validate

Exception thrown at 0x0000000000000000 in cube.exe: 0xC0000005: Access violation executing location 0x0000000000000000. occurred
>	vulkan-1.dll!CmdBeginDebugUtilsLabelEXT(VkCommandBuffer_T * commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo) Line 2079	C
 	cube.exe!demo_draw_build_cmd(demo * demo, VkCommandBuffer_T * cmd_buf) Line 751	C
 	cube.exe!demo_prepare(demo * demo) Line 2230	C
 	cube.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 3815	C
@zeux
Copy link

zeux commented Sep 7, 2018

I believe there was an attempt to fix this issue in 4b858b5 but the fix was incomplete.

Specifically, while vkCmdBeginDebugUtilsLabelEXT now correctly skips execution if no layer implements it, vkGetDeviceProcAddr returns NULL if no layer implements it. It seems like a full solution to this issue requires substituting a dummy thunk when vkGetDeviceProcAddr is used. cc @lenny-lunarg

@MarkY-LunarG
Copy link
Collaborator

This should now be resolved with #95. Can you please verify?

@zeux
Copy link

zeux commented Nov 26, 2018

@MarkY-LunarG Thanks, I can confirm this is resolved in loader as of 1.1.92.

@MarkY-LunarG
Copy link
Collaborator

Thanks for verifying!

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

No branches or pull requests

4 participants