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
VK_EXT_debug_marker should take structs via const pointers #513
Comments
Apparently I can't assign this to @baldurk since he's not in KhronosGroup. Anyway, we will look at this inside Khronos. |
One thing I just discovered is the desktop Vulkan loader does translate |
I think it's totally fine to cast the const away for an implementation detail like this in the loader. An older loader binary should still work, if the pointers are changed to const. Const/non-const shouldn't have any impact on code generation in C/C++, because of potential pointer aliasing. Anyway, can I take this as a confirmation, that const is the correct choice here and it will be changed in a future spec revision? |
As @oddhack mentioned, we'll discuss it internally in Khronos. I just wanted to make a change which could have caused issues. |
After some discussion internally, Khronos is planning on making this change. There is a very low probability people will hit an issue with this change with an older loader. If they do, they can easily update the desktop loader to a newer version. |
This should be fixed in the 1.0.55 spec update. |
The following functions from
VK_EXT_debug_marker
take their structs via non-const pointers:vkDebugMarkerSetObjectTagEXT
vkDebugMarkerSetObjectNameEXT
vkCmdDebugMarkerBeginEXT
vkCmdDebugMarkerInsertEXT
These should probably all be const pointers, since a Vulkan implementation is not supposed to write to any of them.
The text was updated successfully, but these errors were encountered: