From fbceed8df882df4f13d629ee5c4aa4a096a1addf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Fri, 6 Nov 2026 12:50:03 -0800 Subject: [PATCH] Windows 10 minimum. Direct3D 12 is default renderer. (#4122) --- src/bgfx.cpp | 22 ++-------------------- src/renderer_d3d11.cpp | 40 +++++++++++++++++++--------------------- src/renderer_d3d12.cpp | 1 + 3 files changed, 22 insertions(+), 41 deletions(-) diff --git a/src/bgfx.cpp b/src/bgfx.cpp index b329bb1fc..a1a794078 100644 --- a/src/bgfx.cpp +++ b/src/bgfx.cpp @@ -3819,20 +3819,8 @@ namespace bgfx if constexpr (BX_ENABLED(BX_PLATFORM_WINDOWS) ) { - if (windowsVersionIs(Condition::GreaterEqual, 0x0602) ) - { - score += RendererType::Direct3D11 == renderer ? 20 : 0; - score += RendererType::Direct3D12 == renderer ? 10 : 0; - } - else if (windowsVersionIs(Condition::GreaterEqual, 0x0601) ) - { - score += RendererType::Direct3D11 == renderer ? 20 : 0; - score += RendererType::Direct3D12 == renderer ? -100 : 0; - } - else - { - score += RendererType::Direct3D12 == renderer ? -100 : 0; - } + score += RendererType::Direct3D12 == renderer ? 20 : 0; + score += RendererType::Direct3D11 == renderer ? 10 : 0; } else if constexpr (BX_ENABLED(BX_PLATFORM_LINUX) ) { @@ -4558,12 +4546,6 @@ namespace bgfx uint8_t num = 0; for (uint8_t ii = 0; ii < RendererType::Count; ++ii) { - if ( (RendererType::Direct3D11 == ii || RendererType::Direct3D12 == ii) - && windowsVersionIs(Condition::LessEqual, 0x0502) ) - { - continue; - } - if (!s_rendererCreator[ii].supported) { continue; diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index f6768bfd7..99618ed4c 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -665,31 +665,28 @@ namespace bgfx { namespace d3d11 static BX_NO_INLINE bool getIntelExtensions(ID3D11Device* _device) { - if (windowsVersionIs(Condition::GreaterEqual, 0x0604) ) + uint8_t temp[28]; + + bx::ErrorAssert err; + + bx::StaticMemoryBlockWriter writer(&temp, sizeof(temp) ); + bx::write(&writer, "INTCEXTNCAPSFUNC", 16, &err); + bx::write(&writer, kIntelExtensionInterfaceVersion, &err); + bx::write(&writer, uint32_t(0), &err); + bx::write(&writer, uint32_t(0), &err); + + if (SUCCEEDED(setIntelExtension(_device, temp, sizeof(temp) ) ) ) { - uint8_t temp[28]; + bx::MemoryReader reader(&temp, sizeof(temp) ); + bx::skip(&reader, 16); - bx::ErrorAssert err; + uint32_t version; + bx::read(&reader, version, &err); - bx::StaticMemoryBlockWriter writer(&temp, sizeof(temp) ); - bx::write(&writer, "INTCEXTNCAPSFUNC", 16, &err); - bx::write(&writer, kIntelExtensionInterfaceVersion, &err); - bx::write(&writer, uint32_t(0), &err); - bx::write(&writer, uint32_t(0), &err); + uint32_t driverVersion; + bx::read(&reader, driverVersion, &err); - if (SUCCEEDED(setIntelExtension(_device, temp, sizeof(temp) ) ) ) - { - bx::MemoryReader reader(&temp, sizeof(temp) ); - bx::skip(&reader, 16); - - uint32_t version; - bx::read(&reader, version, &err); - - uint32_t driverVersion; - bx::read(&reader, driverVersion, &err); - - return version <= driverVersion; - } + return version <= driverVersion; } return false; @@ -4716,6 +4713,7 @@ namespace bgfx { namespace d3d11 bx::read(&reader, type, &err); const uint16_t num = readUniformNum(&reader, magic, &err); + BX_UNUSED(num); uint16_t regIndex = 0; bx::read(&reader, regIndex, &err); diff --git a/src/renderer_d3d12.cpp b/src/renderer_d3d12.cpp index c858e7541..f32f68cba 100644 --- a/src/renderer_d3d12.cpp +++ b/src/renderer_d3d12.cpp @@ -6798,6 +6798,7 @@ namespace bgfx { namespace d3d12 bx::read(&reader, type, &err); const uint16_t num = readUniformNum(&reader, magic, &err); + BX_UNUSED(num); uint16_t regIndex = 0; bx::read(&reader, regIndex, &err);