···88- mr.1340
99---
10101111-Full support for D3D11 client applications on Windows.
1111+Initial support for D3D11 client applications on Windows.
+17
src/xrt/compositor/client/comp_d3d11_client.cpp
···5050using xrt::compositor::client::unique_swapchain_ref;
51515252DEBUG_GET_ONCE_LOG_OPTION(log, "D3D_COMPOSITOR_LOG", U_LOGGING_INFO)
5353+DEBUG_GET_ONCE_BOOL_OPTION(allow_depth, "D3D_COMPOSITOR_ALLOW_DEPTH", false);
53545455/*!
5556 * Spew level logging.
···824825 // Passthrough our formats from the native compositor to the client.
825826 uint32_t count = 0;
826827 for (uint32_t i = 0; i < xcn->base.info.format_count; i++) {
828828+ // Can we turn this format into DXGI?
827829 DXGI_FORMAT f = d3d_vk_format_to_dxgi(xcn->base.info.formats[i]);
828830 if (f == 0) {
831831+ continue;
832832+ }
833833+ // And back to Vulkan?
834834+ auto v = d3d_dxgi_format_to_vk(f);
835835+ if (v == 0) {
836836+ continue;
837837+ }
838838+ // Do we have a typeless version of it?
839839+ DXGI_FORMAT typeless = d3d_dxgi_format_to_typeless_dxgi(f);
840840+ if (typeless == f) {
841841+ continue;
842842+ }
843843+ // Sometimes we have to forbid depth formats to avoid errors in Vulkan.
844844+ if (!debug_get_bool_option_allow_depth() &&
845845+ (f == DXGI_FORMAT_D32_FLOAT || f == DXGI_FORMAT_D16_UNORM || f == DXGI_FORMAT_D24_UNORM_S8_UINT)) {
829846 continue;
830847 }
831848