It's needed to switch from VK_EXT_debug_report transport to VK_EXT_debug_utils.
VK_EXT_debug_report is very outdated way to get VVL report messages. By default Android system exposes only VK_EXT_debug_report. Fortunately VVL itself could provide VK_EXT_debug_utils extension. So it's possible to use modern transport.
Quick test on Redmi Note 8 Pro
I >>> Instance layers detected: 1.
I Layer: #0
I layerName: VK_LAYER_KHRONOS_validation
I specVersion: 1.3.250
I implementationVersion: 1
I description: LunarG validation Layer
I Renderer::PrintCoreExtensions - Instance core extensions detected: 3.
I Instance core extension: #0
I extensionName: VK_EXT_debug_report
I specVersion: 10
I Instance core extension: #1
I extensionName: VK_EXT_debug_utils
I specVersion: 2
I Instance core extension: #2
I extensionName: VK_EXT_validation_features
I specVersion: 5
The trick is to pass VK_LAYER_KHRONOS_validation string as first parameter into vkEnumerateInstanceExtensionProperties and vkEnumerateInstanceExtensionProperties functions.
Steps
[x] Understand differences between VK_EXT_debug_utils and VK_EXT_debug_report
It's needed to switch from
VK_EXT_debug_report
transport toVK_EXT_debug_utils
.VK_EXT_debug_report
is very outdated way to get VVL report messages. By default Android system exposes onlyVK_EXT_debug_report
. Fortunately VVL itself could provideVK_EXT_debug_utils
extension. So it's possible to use modern transport.Quick test on Redmi Note 8 Pro
The trick is to pass
VK_LAYER_KHRONOS_validation
string as first parameter intovkEnumerateInstanceExtensionProperties
andvkEnumerateInstanceExtensionProperties
functions.Steps
VK_EXT_debug_utils
andVK_EXT_debug_report
VK_EXT_debug_utils