Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
elfstone's avatar
elfstone
Honored Guest
6 years ago

Vulkan debug layer support

I can't get debug layers to work on Quest. vkEnumerateDeviceLayerProperties and vkEnumerateInstanceLayerProperties both return 0 results. Are validation layers not supported or am I doing something wrong (e.g loading the wrong .so)? See code below

I notice the Vulkan Cubeworld sample refers to VK_LAYER_LUNARG_api_dump but it seems it's compiled out, which is why it presumably doesn't fail in vkCreateInstance()

mVulkanLoader = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL);
assert(mVulkanLoader != NULL);

vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)dlsym(mVulkanLoader, "vkGetInstanceProcAddr");
vkEnumerateInstanceLayerProperties = (PFN_vkEnumerateInstanceLayerProperties)dlsym(mVulkanLoader, "vkEnumerateInstanceLayerProperties");
vkEnumerateInstanceExtensionProperties = (PFN_vkEnumerateInstanceExtensionProperties)dlsym(mVulkanLoader, "vkEnumerateInstanceExtensionProperties");

vkCreateInstance = (PFN_vkCreateInstance)dlsym(mVulkanLoader, "vkCreateInstance");

uint32_t layerCount;
vkEnumerateInstanceLayerProperties(&layerCount, nullptr);

std::vector<VkLayerProperties> availableLayers(layerCount);
vkEnumerateInstanceLayerProperties(&layerCount, availableLayers.data());
VkLayerProperties* layerProps = availableLayers.data();

1 Reply