vulkan-go / vulkan

Vulkan API bindings for Go programming language
MIT License
747 stars 54 forks source link

Support debug_utils #37

Open delaneyj opened 5 years ago

delaneyj commented 5 years ago

Was going through the [Vulkan tutorial]() and noticed debug_report work via your demos but debug_utils used by the tutorial is not. The spec says

Layer Controls There are two general methods for controlling layer behavior supported by most of the layers listed herein: layer settings file and a debug extension. The layer settings file provides a general mechanism for a user to control various layer behaviors by providing arbitrary settings. Currently the layer settings file has settings only pertaining to layer message logging.

There are currently two available debug extensions: VK_EXT_debug_utils and VK_EXT_debug_report. Both are available for use by applications to programmatically control layer message logging. VK_EXT_debug_utils is preferable to VK_EXT_debug_report as the later extension has become deprecated and will not continue to evolve with the Vulkan API. However, VK_EXT_debug_report will continue to work for existing applications supporting Vulkan 1.0 should that be all you require.

Vulkan layers support both methods.

Since its is deprecated can we get support for debug_utils?

delaneyj commented 5 years ago

Also vk.ExtDebugReportExtensionName exists but have to add +"\x00" to makes it null terminated to use in vk.InstanceCreateInfo.PpEnabledExtensionNames. I this is know from the demos but curious why its a special case.

shravanshetty1 commented 3 years ago

I can create instance with debug_utils using \x00 - however many of the debug utils datastructures arent present. vk.DebugUtilsMessengerCreateInfo is not present while vk.DebugReportCallbackCreateInfo exists forcing the usage of debug_report. Any idea why its missing?

delaneyj commented 3 years ago

@shravanshetty1 I moved on to doing stuff directly in C to avoid the disconnect :(