Quest 3 Vulkan Validation Layer
Is it possible to use the vulkan validation layer on Quest 3? I've enabled the XR_EXT_DEBUG_UTILS_EXTENSION when creating the xr instance, and have created a debug callback using xrCreateDebugUtilsMessengerEXT. I tried doing the same thing in the vulkan instance: I add VK_EXT_DEBUG_UTILS_EXTENSION, but when I call vkGetInstanceProcAddr to get vkCreateDebugReportCallbackEXT I get null (so I'm assuming the xr version takes precedence and you don't use the vk extension). When I try to add VK_LAYER_KHRONOS_validation layer to the VkInstanceCreateInfo and call xrCreateVulkanInstanceKHR, it fails, returning XR_ERROR_VALIDATION_FAILURE.Solved1.8KViews0likes1CommentOpenXR, Quest and Vulkan
I've managed to set up a native Quest app running Vulkan via OpenXR. It renders (clears the screen to a colour) - but only in Cast - the view from the headset remains black. No crashes, Vulkan validation errors, or OpenXR errors. What could I be missing?1.9KViews0likes1CommentUsing OpenXR and Vulkan, getting strange artifacts unique to Oculus runtime
On steamVR (with an Index), these artifacts don't appear. I can run the app with 0 validation errors in the Oculus runtime. I'm using a Quest 1 + link cable. The behavior changes depending on whether I use msaa. With msaa: The game works well until a sufficient # of chunks have been loaded (this is an open world voxel game). Once that is the case (~30s in), a flickering artifact slowly grows from the bottom right of the right eye, and moves left to cover both eyes over the course of ~5s. Without msaa: The game works well until a large # of chunks have been loaded (requires more chunks to be loaded than when msaa is enabled). Once that is the case, it is as though my draw calls get cut off before finishing, but only in my right eye. As an example: I first render my opaque chunks (front-to-back), and then my transparent chunks (back-to-front). When I have sufficient # of chunks in view, the right eye stops rendering the transparent chunks entirely (as well as many of the distant opaque chunks). The left eye stays solid the whole time. If I shift my view to only contain a small # of chunks (ie, look down), both eyes render fine. If I add `vkDeviceWaitIdle` between my rendering `vkQueueSubmit` and `xrReleaseSwapchainImage`, the bug "goes away". This leads me to believe there might be a bug in the synchronization in the oculus openxr runtime between those two calls. Renderdoc, regardless of case, shows both views rendering correctly. I posted this to the Khronos slack, as well as the Vulkan discord, and one thought that was shared was that it might have to do with this: https://randomascii.wordpress.com/2020/10/04/windows-timer-resolution-the-great-rule-change/ ? ^ the beginning of the flickering artifact when msaa is enabled (right eye) ^ right eye when looking at sufficient # of chunks with msaa not enabled ^ left eye when looking at same view (renders correctly)Solved2.7KViews0likes1Comment