From ea0cf65d088c26569019945504bf0cdfedbda0a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Fri, 26 Jun 2026 23:00:07 -0700 Subject: [PATCH] D3D12: ExecuteIndirect sucks on everything except maybe AMD. (#3788) --- src/renderer_d3d12.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/renderer_d3d12.cpp b/src/renderer_d3d12.cpp index d8ee30667..ddb82ab54 100644 --- a/src/renderer_d3d12.cpp +++ b/src/renderer_d3d12.cpp @@ -1896,7 +1896,12 @@ namespace bgfx { namespace d3d12 m_batch.create(4<<10); #if !BX_PLATFORM_LINUX - m_batch.setIndirectMode(BGFX_PCI_ID_MICROSOFT != m_dxgi.m_adapterDesc.VendorId); + // ExecuteIndirect is a net loss on following GPU vendors: + m_batch.setIndirectMode(true + && BGFX_PCI_ID_NVIDIA != m_dxgi.m_adapterDesc.VendorId + && BGFX_PCI_ID_INTEL != m_dxgi.m_adapterDesc.VendorId + && BGFX_PCI_ID_MICROSOFT != m_dxgi.m_adapterDesc.VendorId + ); #endif // !BX_PLATFORM_LINUX m_gpuTimer.init();