Goshido / android-vulkan

This repository is a project for learning Vulkan API, constraint based 3D physics, Lua scripting, spatial sound rendering, HTML+CSS UI rendering.
30 stars 3 forks source link

VK_EXT_debug_utils hooking up #51

Closed Goshido closed 1 year ago

Goshido commented 1 year ago

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