Go to the documentation of this file.
42 template <
typename EngineImplTraits>
49 Uint32 NumDeferredContexts) :
50 RenderDeviceBase<EngineImplTraits>{pRefCounters, RawMemAllocator, pEngineFactory, NumDeferredContexts}
55 #define FLAG_FORMAT(Fmt, IsSupported) m_TextureFormatsInfo[Fmt].Supported=IsSupported
187 DXGI_ADAPTER_DESC1 dxgiAdapterDesc = {};
189 auto hr = pdxgiAdapter->GetDesc1(&dxgiAdapterDesc);
196 LOG_ERROR_MESSAGE(
"Failed to get DXGIDevice adapter desc. Adapter properties will be unknown.");
@ TEX_FORMAT_D24_UNORM_S8_UINT
Two-component 32-bit format with 24 bits for unsigned-normalized-integer depth and 8 bits for stencil...
Definition: GraphicsTypes.h:525
@ TEX_FORMAT_RG16_SINT
Two-component 32-bit signed-integer format with 16-bit channels. D3D counterpart: DXGI_FORMAT_R16G1...
Definition: GraphicsTypes.h:497
DEVICE_FEATURE_STATE SeparablePrograms
Indicates if device supports separable shader programs.
Definition: GraphicsTypes.h:1580
Base interface for a reference counter object that stores the number of strong and weak references an...
Definition: ReferenceCounters.h:44
#define LOG_ERROR_MESSAGE(...)
Definition: Errors.hpp:122
@ TEX_FORMAT_R8_TYPELESS
Single-component 8-bit typeless format. D3D counterpart: DXGI_FORMAT_R8_TYPELESS....
Definition: GraphicsTypes.h:590
@ TEX_FORMAT_BGRX8_TYPELESS
Four-component 32-bit typeless format that with 8 bits for each color channel, and 8 bits are unused....
Definition: GraphicsTypes.h:800
@ TEX_FORMAT_RGB32_FLOAT
Three-component 96-bit floating-point format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32...
Definition: GraphicsTypes.h:357
@ TEX_FORMAT_RG16_FLOAT
Two-component 32-bit half-precision floating-point format with 16-bit channels. D3D counterpart: DX...
Definition: GraphicsTypes.h:477
@ TEX_FORMAT_R32_FLOAT
Single-component 32-bit floating-point format. D3D counterpart: DXGI_FORMAT_R32_FLOAT....
Definition: GraphicsTypes.h:509
#define FLAG_FORMAT(Fmt, IsSupported)
@ TEX_FORMAT_RGBA32_TYPELESS
Four-component 128-bit typeless format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32G32B32...
Definition: GraphicsTypes.h:335
@ TEX_FORMAT_R24_UNORM_X8_TYPELESS
Two-component 32-bit format with 24 bits for unsigned-normalized-integer data and 8 bits of unreferen...
Definition: GraphicsTypes.h:529
@ TEX_FORMAT_RG8_TYPELESS
Two-component 16-bit typeless format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G8_TYPELES...
Definition: GraphicsTypes.h:538
GraphicsAdapterInfo AdapterInfo
Adapter info, see Diligent::GraphicsAdapterInfo.
Definition: GraphicsTypes.h:1849
@ TEX_FORMAT_RGBA16_TYPELESS
Four-component 64-bit typeless format with 16-bit channels. D3D counterpart: DXGI_FORMAT_R16G16B16A...
Definition: GraphicsTypes.h:371
@ TEX_FORMAT_R16_SINT
Single-component 16-bit signed-integer format. D3D counterpart: DXGI_FORMAT_R16_SINT....
Definition: GraphicsTypes.h:586
Base implementation of a D3D render device.
Definition: RenderDeviceD3DBase.hpp:43
@ TEX_FORMAT_RGBA16_SNORM
Four-component 64-bit signed-normalized-integer format with 16-bit channels. D3D counterpart: DXGI_...
Definition: GraphicsTypes.h:392
DeviceFeatures Features
Device features. See Diligent::DeviceFeatures.
Definition: GraphicsTypes.h:1861
@ TEX_FORMAT_RG32_SINT
Two-component 64-bit signed-integer format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32G3...
Definition: GraphicsTypes.h:412
@ TEX_FORMAT_BC6H_SF16
Three-channel signed half-precision floating-point format with 16 bits per each channel....
Definition: GraphicsTypes.h:829
@ TEX_FORMAT_RGBA8_UINT
Four-component 32-bit unsigned-integer format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G...
Definition: GraphicsTypes.h:461
@ TEX_FORMAT_BC2_TYPELESS
Four component typeless block-compression format with 1:4 compression ratio. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:664
DeviceCaps m_DeviceCaps
Definition: RenderDeviceBase.hpp:609
@ TEX_FORMAT_R32_SINT
Single-component 32-bit signed-integer format. D3D counterpart: DXGI_FORMAT_R32_SINT....
Definition: GraphicsTypes.h:517
@ TEX_FORMAT_BC1_UNORM
Four-component unsigned-normalized-integer block-compression format with 5 bits for R,...
Definition: GraphicsTypes.h:647
@ TEX_FORMAT_RG16_SNORM
Two-component 32-bit signed-normalized-integer format with 16-bit channels. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:493
@ TEX_FORMAT_RGBA8_SINT
Four-component 32-bit signed-integer format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G8B...
Definition: GraphicsTypes.h:469
@ TEX_FORMAT_D32_FLOAT
Single-component 32-bit floating-point depth format. D3D counterpart: DXGI_FORMAT_D32_FLOAT....
Definition: GraphicsTypes.h:505
@ TEX_FORMAT_R11G11B10_FLOAT
Three-component 32-bit format encoding three partial precision channels using 11 bits for red and gre...
Definition: GraphicsTypes.h:445
@ TEX_FORMAT_RGBA16_FLOAT
Four-component 64-bit half-precision floating-point format with 16-bit channels. D3D counterpart: D...
Definition: GraphicsTypes.h:375
@ TEX_FORMAT_BC3_UNORM
Four-component unsigned-normalized-integer block-compression format with 5 bits for R,...
Definition: GraphicsTypes.h:699
@ TEX_FORMAT_RGB32_TYPELESS
Three-component 96-bit typeless format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32G32B32...
Definition: GraphicsTypes.h:352
@ TEX_FORMAT_RG32_UINT
Two-component 64-bit unsigned-integer format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32...
Definition: GraphicsTypes.h:408
@ TEX_FORMAT_BGRX8_UNORM
Four-component 32-bit unsigned-normalized-integer format with 8 bits for each color channel and 8 bit...
Definition: GraphicsTypes.h:780
@ TEX_FORMAT_RG8_UINT
Two-component 16-bit unsigned-integer format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G8...
Definition: GraphicsTypes.h:546
@ TEX_FORMAT_RGBA8_SNORM
Four-component 32-bit signed-normalized-integer format with 8-bit channels. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:465
@ TEX_FORMAT_BGRA8_UNORM
Four-component 32-bit unsigned-normalized-integer format with 8 bits for each channel....
Definition: GraphicsTypes.h:775
@ TEX_FORMAT_A8_UNORM
Single-component 8-bit unsigned-normalized-integer format for alpha only. D3D counterpart: DXGI_FOR...
Definition: GraphicsTypes.h:611
@ TEX_FORMAT_R16_SNORM
Single-component 16-bit signed-normalized-integer format. D3D counterpart: DXGI_FORMAT_R16_SNORM....
Definition: GraphicsTypes.h:582
@ TEX_FORMAT_RGBA32_UINT
Four-component 128-bit unsigned-integer format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R...
Definition: GraphicsTypes.h:343
GraphicsAdapterInfo DXGI_ADAPTER_DESC_To_GraphicsAdapterInfo(const DXGI_ADAPTER_DESC1 &dxgiAdapterDesc)
Definition: DXGITypeConversions.cpp:457
@ TEX_FORMAT_RG16_UINT
Two-component 32-bit unsigned-integer format with 16-bit channels. D3D counterpart: DXGI_FORMAT_R16...
Definition: GraphicsTypes.h:487
@ TEX_FORMAT_BC3_UNORM_SRGB
Four-component unsigned-normalized-integer block-compression sRGB format with 5 bits for R,...
Definition: GraphicsTypes.h:708
@ TEX_FORMAT_BGRA8_UNORM_SRGB
Four-component 32-bit unsigned-normalized sRGB format with 8 bits for each channel....
Definition: GraphicsTypes.h:795
@ TEX_FORMAT_BC4_TYPELESS
One-component typeless block-compression format with 1:2 compression ratio. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:716
@ TEX_FORMAT_R8_UINT
Single-component 8-bit unsigned-integer format. D3D counterpart: DXGI_FORMAT_R8_UINT....
Definition: GraphicsTypes.h:598
@ TEX_FORMAT_R8_SINT
Single-component 8-bit signed-integer format. D3D counterpart: DXGI_FORMAT_R8_SINT....
Definition: GraphicsTypes.h:606
@ TEX_FORMAT_BC1_UNORM_SRGB
Four-component unsigned-normalized-integer block-compression sRGB format with 5 bits for R,...
Definition: GraphicsTypes.h:656
@ TEX_FORMAT_BC2_UNORM
Four-component unsigned-normalized-integer block-compression format with 5 bits for R,...
Definition: GraphicsTypes.h:673
@ TEX_FORMAT_R8_UNORM
Single-component 8-bit unsigned-normalized-integer format. D3D counterpart: DXGI_FORMAT_R8_UNORM....
Definition: GraphicsTypes.h:594
@ TEX_FORMAT_B5G6R5_UNORM
Three-component 16-bit unsigned-normalized-integer format with 5 bits for blue, 6 bits for green,...
Definition: GraphicsTypes.h:765
@ TEX_FORMAT_BC4_UNORM
One-component unsigned-normalized-integer block-compression format with 8 bits for R channel....
Definition: GraphicsTypes.h:725
@ TEX_FORMAT_BC7_UNORM_SRGB
Three-component block-compression unsigned-normalized-integer sRGB format with 4 to 7 bits per color ...
Definition: GraphicsTypes.h:853
@ TEX_FORMAT_RGB10A2_UNORM
Four-component 32-bit unsigned-normalized-integer format with 10 bits for each color and 2 bits for a...
Definition: GraphicsTypes.h:437
@ TEX_FORMAT_D32_FLOAT_S8X24_UINT
Two-component 64-bit format with 32-bit floating-point depth channel and 8-bit stencil channel....
Definition: GraphicsTypes.h:420
@ TEX_FORMAT_R8_SNORM
Single-component 8-bit signed-normalized-integer format. D3D counterpart: DXGI_FORMAT_R8_SNORM....
Definition: GraphicsTypes.h:602
@ TEX_FORMAT_RGBA32_FLOAT
Four-component 128-bit floating-point format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32...
Definition: GraphicsTypes.h:339
@ TEX_FORMAT_R16_FLOAT
Single-component 16-bit half-precisoin floating-point format. D3D counterpart: DXGI_FORMAT_R16_FLOA...
Definition: GraphicsTypes.h:562
@ TEX_FORMAT_BGRA8_TYPELESS
Four-component 32-bit typeless format with 8 bits for each channel. D3D counterpart: DXGI_FORMAT_B8...
Definition: GraphicsTypes.h:790
@ TEX_FORMAT_RGB10A2_UINT
Four-component 32-bit unsigned-integer format with 10 bits for each color and 2 bits for alpha channe...
Definition: GraphicsTypes.h:441
@ TEX_FORMAT_RG16_UNORM
Two-component 32-bit unsigned-normalized-integer format with 16-bit channels. D3D counterpart: DXGI...
Definition: GraphicsTypes.h:483
@ TEX_FORMAT_RG32_TYPELESS
Two-component 64-bit typeless format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32G32_TYPE...
Definition: GraphicsTypes.h:400
@ TEX_FORMAT_RGB32_UINT
Three-component 96-bit unsigned-integer format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R...
Definition: GraphicsTypes.h:362
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
@ TEX_FORMAT_RGBA8_UNORM
Four-component 32-bit unsigned-normalized-integer format with 8-bit channels. D3D counterpart: DXGI...
Definition: GraphicsTypes.h:453
@ TEX_FORMAT_BC5_SNORM
Two-component signed-normalized-integer block-compression format with 8 bits for R and 8 bits for G c...
Definition: GraphicsTypes.h:760
@ TEX_FORMAT_RGB32_SINT
Three-component 96-bit signed-integer format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32...
Definition: GraphicsTypes.h:367
@ TEX_FORMAT_BC5_TYPELESS
Two-component typeless block-compression format with 1:2 compression ratio. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:742
@ TEX_FORMAT_R1_UNORM
Single-component 1-bit format. D3D counterpart: DXGI_FORMAT_R1_UNORM.
Definition: GraphicsTypes.h:616
@ TEX_FORMAT_RGB10A2_TYPELESS
Four-component 32-bit typeless format with 10 bits for RGB and 2 bits for alpha channel....
Definition: GraphicsTypes.h:433
@ TEX_FORMAT_RG32_FLOAT
Two-component 64-bit floating-point format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32G3...
Definition: GraphicsTypes.h:404
@ TEX_FORMAT_RG8_SNORM
Two-component 16-bit signed-normalized-integer format with 8-bit channels. D3D counterpart: DXGI_FO...
Definition: GraphicsTypes.h:550
@ TEX_FORMAT_X32_TYPELESS_G8X24_UINT
Two-component 64-bit format with 32-bit typeless data and 8-bit G channel. D3D counterpart: DXGI_FO...
Definition: GraphicsTypes.h:429
@ TEX_FORMAT_D16_UNORM
Single-component 16-bit unsigned-normalized-integer depth format. D3D counterpart: DXGI_FORMAT_D16_...
Definition: GraphicsTypes.h:566
@ TEX_FORMAT_RGBA16_UNORM
Four-component 64-bit unsigned-normalized-integer format with 16-bit channels. D3D counterpart: DXG...
Definition: GraphicsTypes.h:381
@ TEX_FORMAT_BC7_TYPELESS
Three-component typeless block-compression format. D3D counterpart: DXGI_FORMAT_BC7_TYPELESS....
Definition: GraphicsTypes.h:837
@ TEX_FORMAT_R32_TYPELESS
Single-component 32-bit typeless format. D3D counterpart: DXGI_FORMAT_R32_TYPELESS....
Definition: GraphicsTypes.h:501
Base interface for a raw memory allocator.
Definition: MemoryAllocator.h:41
void ReadAdapterInfo(IDXGIAdapter1 *pdxgiAdapter)
Definition: RenderDeviceD3DBase.hpp:185
@ TEX_FORMAT_R16_TYPELESS
Single-component 16-bit typeless format. D3D counterpart: DXGI_FORMAT_R16_TYPELESS....
Definition: GraphicsTypes.h:558
@ TEX_FORMAT_X24_TYPELESS_G8_UINT
Two-component 32-bit format with 24 bits of unreferenced data and 8 bits of unsigned-integer data....
Definition: GraphicsTypes.h:534
@ TEX_FORMAT_RGBA16_SINT
Four-component 64-bit signed-integer format with 16-bit channels. D3D counterpart: DXGI_FORMAT_R16G...
Definition: GraphicsTypes.h:396
@ TEX_FORMAT_R32G8X24_TYPELESS
Two-component 64-bit typeless format with 32-bits for R channel and 8 bits for G channel....
Definition: GraphicsTypes.h:416
@ TEX_FORMAT_BC6H_TYPELESS
Three-component typeless block-compression format. D3D counterpart: DXGI_FORMAT_BC6H_TYPELESS....
Definition: GraphicsTypes.h:813
@ TEX_FORMAT_BC1_TYPELESS
Four-component typeless block-compression format with 1:8 compression ratio. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:638
@ TEX_FORMAT_G8R8_G8B8_UNORM
Four-component unsigned-normalized integer format analogous to YUY2 encoding. D3D counterpart: DXGI...
Definition: GraphicsTypes.h:630
@ TEX_FORMAT_R32_UINT
Single-component 32-bit unsigned-integer format. D3D counterpart: DXGI_FORMAT_R32_UINT....
Definition: GraphicsTypes.h:513
@ TEX_FORMAT_RGBA16_UINT
Four-component 64-bit unsigned-integer format with 16-bit channels. D3D counterpart: DXGI_FORMAT_R1...
Definition: GraphicsTypes.h:385
@ TEX_FORMAT_R24G8_TYPELESS
Two-component 32-bit typeless format with 24 bits for R and 8 bits for G channel. D3D counterpart: ...
Definition: GraphicsTypes.h:521
@ TEX_FORMAT_R32_FLOAT_X8X24_TYPELESS
Two-component 64-bit format with 32-bit floating-point R channel and 8+24-bits of typeless data....
Definition: GraphicsTypes.h:424
@ TEX_FORMAT_BC6H_UF16
Three-component unsigned half-precision floating-point format with 16 bits for each channel....
Definition: GraphicsTypes.h:821
@ TEX_FORMAT_BC4_SNORM
One-component signed-normalized-integer block-compression format with 8 bits for R channel....
Definition: GraphicsTypes.h:734
@ TEX_FORMAT_RGBA8_UNORM_SRGB
Four-component 32-bit unsigned-normalized-integer sRGB format with 8-bit channels....
Definition: GraphicsTypes.h:457
@ TEX_FORMAT_R16_UNORM
Single-component 16-bit unsigned-normalized-integer format. D3D counterpart: DXGI_FORMAT_R16_UNORM....
Definition: GraphicsTypes.h:572
@ TEX_FORMAT_BGRX8_UNORM_SRGB
Four-component 32-bit unsigned-normalized sRGB format with 8 bits for each color channel,...
Definition: GraphicsTypes.h:805
@ TEX_FORMAT_RGB9E5_SHAREDEXP
Three partial-precision floating pointer numbers sharing single exponent encoded into a 32-bit value....
Definition: GraphicsTypes.h:620
@ TEX_FORMAT_RG16_TYPELESS
Two-component 32-bit typeless format with 16-bit channels. D3D counterpart: DXGI_FORMAT_R16G16_TYPE...
Definition: GraphicsTypes.h:473
@ TEX_FORMAT_BC7_UNORM
Three-component block-compression unsigned-normalized-integer format with 4 to 7 bits per color chann...
Definition: GraphicsTypes.h:845
@ TEX_FORMAT_B5G5R5A1_UNORM
Four-component 16-bit unsigned-normalized-integer format with 5 bits for each color channel and 1-bit...
Definition: GraphicsTypes.h:770
@ DEVICE_FEATURE_STATE_ENABLED
Device feature is enabled.
Definition: GraphicsTypes.h:1553
@ TEX_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
Four-component 32-bit 2.8-biased fixed-point format with 10 bits for each color channel and 2-bit alp...
Definition: GraphicsTypes.h:785
RenderDeviceD3DBase(IReferenceCounters *pRefCounters, IMemoryAllocator &RawMemAllocator, IEngineFactory *pEngineFactory, Uint32 NumDeferredContexts)
Definition: RenderDeviceD3DBase.hpp:46
@ TEX_FORMAT_RG8_SINT
Two-component 16-bit signed-integer format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G8_S...
Definition: GraphicsTypes.h:554
@ TEX_FORMAT_RG8_B8G8_UNORM
Four-component unsigned-normalized integer format analogous to UYVY encoding. D3D counterpart: DXGI...
Definition: GraphicsTypes.h:625
@ TEX_FORMAT_R16_UINT
Single-component 16-bit unsigned-integer format. D3D counterpart: DXGI_FORMAT_R16_UINT....
Definition: GraphicsTypes.h:576
@ TEX_FORMAT_RGBA32_SINT
Four-component 128-bit signed-integer format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32...
Definition: GraphicsTypes.h:347
@ TEX_FORMAT_BC3_TYPELESS
Four-component typeless block-compression format with 1:4 compression ratio. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:690
Engine factory base interface.
Definition: EngineFactory.h:60
@ TEX_FORMAT_RGBA8_TYPELESS
Four-component 32-bit typeless format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G8B8A8_TY...
Definition: GraphicsTypes.h:449
@ TEX_FORMAT_RG8_UNORM
Two-component 16-bit unsigned-normalized-integer format with 8-bit channels. D3D counterpart: DXGI_...
Definition: GraphicsTypes.h:542
@ TEX_FORMAT_BC2_UNORM_SRGB
Four-component signed-normalized-integer block-compression sRGB format with 5 bits for R,...
Definition: GraphicsTypes.h:682
Base implementation of a render device.
Definition: RenderDeviceBase.hpp:185
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
@ TEX_FORMAT_BC5_UNORM
Two-component unsigned-normalized-integer block-compression format with 8 bits for R and 8 bits for G...
Definition: GraphicsTypes.h:751