Disable Batch indirect mode for Microsoft WARP (#2672)

* Disable Batch indirect mode for Microsoft WARP

* idl

Co-authored-by: Cedric Guillemet <ceguille@microsoft.com>
This commit is contained in:
Cedric Guillemet 2021-12-01 20:19:47 +01:00 committed by GitHub
parent 75fe88fe3a
commit 64a28415a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 14 additions and 1 deletions

View File

@ -1278,6 +1278,11 @@ public static class bgfx
/// nVidia adapter. /// nVidia adapter.
/// </summary> /// </summary>
Nvidia = 0x10de, Nvidia = 0x10de,
/// <summary>
/// Microsoft adapter.
/// </summary>
Microsoft = 0x1414,
} }
[AllowDuplicates] [AllowDuplicates]

View File

@ -1277,6 +1277,11 @@ public static partial class bgfx
/// nVidia adapter. /// nVidia adapter.
/// </summary> /// </summary>
Nvidia = 0x10de, Nvidia = 0x10de,
/// <summary>
/// Microsoft adapter.
/// </summary>
Microsoft = 0x1414,
} }
[Flags] [Flags]

View File

@ -403,6 +403,7 @@ enum ushort BGFX_PCI_ID_SOFTWARE_RASTERIZER = 0x0001; /// Software rasterizer.
enum ushort BGFX_PCI_ID_AMD = 0x1002; /// AMD adapter. enum ushort BGFX_PCI_ID_AMD = 0x1002; /// AMD adapter.
enum ushort BGFX_PCI_ID_INTEL = 0x8086; /// Intel adapter. enum ushort BGFX_PCI_ID_INTEL = 0x8086; /// Intel adapter.
enum ushort BGFX_PCI_ID_NVIDIA = 0x10de; /// nVidia adapter. enum ushort BGFX_PCI_ID_NVIDIA = 0x10de; /// nVidia adapter.
enum ushort BGFX_PCI_ID_MICROSOFT = 0x1414; /// Microsoft adapter.
enum ubyte BGFX_CUBE_MAP_POSITIVE_X = 0x00; /// Cubemap +x. enum ubyte BGFX_CUBE_MAP_POSITIVE_X = 0x00; /// Cubemap +x.
enum ubyte BGFX_CUBE_MAP_NEGATIVE_X = 0x01; /// Cubemap -x. enum ubyte BGFX_CUBE_MAP_NEGATIVE_X = 0x01; /// Cubemap -x.

View File

@ -522,6 +522,7 @@
#define BGFX_PCI_ID_AMD UINT16_C(0x1002) //!< AMD adapter. #define BGFX_PCI_ID_AMD UINT16_C(0x1002) //!< AMD adapter.
#define BGFX_PCI_ID_INTEL UINT16_C(0x8086) //!< Intel adapter. #define BGFX_PCI_ID_INTEL UINT16_C(0x8086) //!< Intel adapter.
#define BGFX_PCI_ID_NVIDIA UINT16_C(0x10de) //!< nVidia adapter. #define BGFX_PCI_ID_NVIDIA UINT16_C(0x10de) //!< nVidia adapter.
#define BGFX_PCI_ID_MICROSOFT UINT16_C(0x1414) //!< Microsoft adapter.
#define BGFX_CUBE_MAP_POSITIVE_X UINT8_C(0x00) //!< Cubemap +x. #define BGFX_CUBE_MAP_POSITIVE_X UINT8_C(0x00) //!< Cubemap +x.
#define BGFX_CUBE_MAP_NEGATIVE_X UINT8_C(0x01) //!< Cubemap -x. #define BGFX_CUBE_MAP_NEGATIVE_X UINT8_C(0x01) //!< Cubemap -x.

View File

@ -427,6 +427,7 @@ flag.PciId { bits = 16 , const }
.Amd (0x1002) --- AMD adapter. .Amd (0x1002) --- AMD adapter.
.Intel (0x8086) --- Intel adapter. .Intel (0x8086) --- Intel adapter.
.Nvidia (0x10de) --- nVidia adapter. .Nvidia (0x10de) --- nVidia adapter.
.Microsoft (0x1414) --- Microsoft adapter.
() ()
flag.CubeMap { bits = 8, const } flag.CubeMap { bits = 8, const }

View File

@ -1331,7 +1331,7 @@ namespace bgfx { namespace d3d12
postReset(); postReset();
m_batch.create(4<<10); m_batch.create(4<<10);
m_batch.setIndirectMode(BGFX_PCI_ID_NVIDIA != m_dxgi.m_adapterDesc.VendorId); m_batch.setIndirectMode(BGFX_PCI_ID_NVIDIA != m_dxgi.m_adapterDesc.VendorId && BGFX_PCI_ID_MICROSOFT != m_dxgi.m_adapterDesc.VendorId);
m_gpuTimer.init(); m_gpuTimer.init();
m_occlusionQuery.init(); m_occlusionQuery.init();