The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

st/oxr: Add disable_vulkan_format_depth quirk

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2612>

+24 -2
+3
src/xrt/state_trackers/oxr/oxr_instance.c
··· 199 199 { 200 200 // Reset. 201 201 inst->quirks.skip_end_session = false; 202 + inst->quirks.disable_vulkan_format_depth = false; 202 203 inst->quirks.disable_vulkan_format_depth_stencil = false; 203 204 inst->quirks.no_validation_error_in_create_ref_space = false; 204 205 ··· 442 443 "\tcreateInfo->applicationInfo.apiVersion: %d.%d.%d\n" 443 444 "\tappinfo.detected.engine.name: %s\n" 444 445 "\tappinfo.detected.engine.version: %i.%i.%i\n" 446 + "\tquirks.disable_vulkan_format_depth: %s\n" 445 447 "\tquirks.disable_vulkan_format_depth_stencil: %s\n" 446 448 "\tquirks.no_validation_error_in_create_ref_space: %s\n" 447 449 "\tquirks.skip_end_session: %s\n" ··· 457 459 inst->appinfo.detected.engine.major, // 458 460 inst->appinfo.detected.engine.minor, // 459 461 inst->appinfo.detected.engine.patch, // 462 + inst->quirks.disable_vulkan_format_depth ? "true" : "false", // 460 463 inst->quirks.disable_vulkan_format_depth_stencil ? "true" : "false", // 461 464 inst->quirks.no_validation_error_in_create_ref_space ? "true" : "false", // 462 465 inst->quirks.skip_end_session ? "true" : "false", //
+20 -1
src/xrt/state_trackers/oxr/oxr_objects.h
··· 1754 1754 1755 1755 struct 1756 1756 { 1757 - //! Unreal has a bug in the VulkanRHI backend. 1757 + /*! 1758 + * Some applications can't handle depth formats, or they trigger 1759 + * a bug in a specific version of the application or engine. 1760 + * This flag only disables depth formats 1761 + * @see disable_vulkan_format_depth_stencil for depth-stencil formats. 1762 + */ 1763 + bool disable_vulkan_format_depth; 1764 + 1765 + /*! 1766 + * Some applications can't handle depth stencil formats, or they 1767 + * trigger a bug in a specific version of the application or 1768 + * engine. 1769 + * 1770 + * This flag only disables depth-stencil formats, 1771 + * @see disable_vulkan_format_depth flag for depth only formats. 1772 + * 1773 + * In the past it was used to work around a bug in Unreal's 1774 + * VulkanRHI backend. 1775 + */ 1758 1776 bool disable_vulkan_format_depth_stencil; 1777 + 1759 1778 //! Unreal 4 has a bug calling xrEndSession; the function should just exit 1760 1779 bool skip_end_session; 1761 1780
+1 -1
src/xrt/state_trackers/oxr/oxr_session.c
··· 70 70 { 71 71 bool skip_depth_stencil = inst->quirks.disable_vulkan_format_depth_stencil; 72 72 bool skip_stencil = false; 73 - bool skip_depth = false; 73 + bool skip_depth = inst->quirks.disable_vulkan_format_depth; 74 74 75 75 // Access to Vulkan headers are not guaranteed. 76 76 switch (format) {