cancel
Showing results for 
Search instead for 
Did you mean: 

DEVICE_LOST when trying to use XR_KHR_composition_layer_depth

midmidmidmidmid
Explorer

Hi,

I'm using XR_KHR_composition_layer_depth and running into some issues with the PCVR OpenXR runtme:

  • xrEnumerateSwapchainFormats returns a number of depth formats.
  • None of these depth formats support VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT.
  • According to the validation layer, xrCreateSwapchain sets the STORAGE_IMAGE bit when creating its internal images.
  • Swap chain creation for my depth swap chain still (somehow) "succeeds".
  • But then rendering breaks with a DEVICE_LOST error.

If I turn off XR_KHR_composition_layer_depth (or otherwise disable creating a depth swap chain and just create my own depth buffer) then the color chains work fine.

My expectation would be that if my device doesn't support everything that the OpenXR runtime needs for a depth swap chain that xrEnumerateSwapchainFormats would tell me that by simply not enumerating any depth formats (or maybe just not advertising XR_KHR_composition_layer_depth), no? Or is there some other API that tells me that? (Hoping there's something other than an "if PCVR and vendor == Meta then do a bunch of silly hacks" fix.)

Thanks

0 REPLIES 0