ezEngine  Release 25.03
ezGALDeviceDX11 Class Reference

The DX11 device implementation of the graphics abstraction layer. More...

#include <DeviceDX11.h>

Inheritance diagram for ezGALDeviceDX11:

Public Member Functions

ID3D11Device * GetDXDevice () const
 
ID3D11Device3 * GetDXDevice3 () const
 
ID3D11DeviceContext * GetDXImmediateContext () const
 
IDXGIFactory1 * GetDXGIFactory () const
 
ezGALCommandEncoderGetCommandEncoder () const
 
ezFenceQueueDX11GetFenceQueue () const
 
ezQueryPoolDX11GetQueryPool () const
 
const ezGALFormatLookupTableDX11GetFormatLookupTable () const
 
void ReportLiveGpuObjects ()
 
void FlushDeadObjects ()
 
- Public Member Functions inherited from ezGALDevice
ezResult Init ()
 
ezResult Shutdown ()
 
ezStringView GetRenderer ()
 
ezGALCommandEncoderBeginCommands (const char *szName)
 Begin recording GPU commands on the returned command encoder.
 
void EndCommands (ezGALCommandEncoder *pCommandEncoder)
 Stop recording commands on the command encoder. More...
 
ezGALBlendStateHandle CreateBlendState (const ezGALBlendStateCreationDescription &description)
 
void DestroyBlendState (ezGALBlendStateHandle hBlendState)
 
ezGALDepthStencilStateHandle CreateDepthStencilState (const ezGALDepthStencilStateCreationDescription &description)
 
void DestroyDepthStencilState (ezGALDepthStencilStateHandle hDepthStencilState)
 
ezGALRasterizerStateHandle CreateRasterizerState (const ezGALRasterizerStateCreationDescription &description)
 
void DestroyRasterizerState (ezGALRasterizerStateHandle hRasterizerState)
 
ezGALSamplerStateHandle CreateSamplerState (const ezGALSamplerStateCreationDescription &description)
 
void DestroySamplerState (ezGALSamplerStateHandle hSamplerState)
 
ezGALShaderHandle CreateShader (const ezGALShaderCreationDescription &description)
 
void DestroyShader (ezGALShaderHandle hShader)
 
ezGALBufferHandle CreateBuffer (const ezGALBufferCreationDescription &description, ezArrayPtr< const ezUInt8 > initialData=ezArrayPtr< const ezUInt8 >())
 
void DestroyBuffer (ezGALBufferHandle hBuffer)
 
ezGALDynamicBufferHandle CreateDynamicBuffer (const ezGALBufferCreationDescription &description, ezStringView sDebugName)
 
void DestroyDynamicBuffer (ezGALDynamicBufferHandle &inout_hBuffer)
 
ezGALBufferHandle CreateVertexBuffer (ezUInt32 uiVertexSize, ezUInt32 uiVertexCount, ezArrayPtr< const ezUInt8 > initialData=ezArrayPtr< const ezUInt8 >(), bool bDataIsMutable=false)
 
ezGALBufferHandle CreateIndexBuffer (ezGALIndexType::Enum indexType, ezUInt32 uiIndexCount, ezArrayPtr< const ezUInt8 > initialData=ezArrayPtr< const ezUInt8 >(), bool bDataIsMutable=false)
 
ezGALBufferHandle CreateConstantBuffer (ezUInt32 uiBufferSize)
 
ezGALTextureHandle CreateTexture (const ezGALTextureCreationDescription &description, ezArrayPtr< ezGALSystemMemoryDescription > initialData=ezArrayPtr< ezGALSystemMemoryDescription >())
 
void DestroyTexture (ezGALTextureHandle hTexture)
 
ezGALTextureHandle CreateProxyTexture (ezGALTextureHandle hParentTexture, ezUInt32 uiSlice)
 
void DestroyProxyTexture (ezGALTextureHandle hProxyTexture)
 
ezGALTextureHandle CreateSharedTexture (const ezGALTextureCreationDescription &description, ezArrayPtr< ezGALSystemMemoryDescription > initialData={})
 
ezGALTextureHandle OpenSharedTexture (const ezGALTextureCreationDescription &description, ezGALPlatformSharedHandle hSharedHandle)
 
void DestroySharedTexture (ezGALTextureHandle hTexture)
 
ezGALReadbackBufferHandle CreateReadbackBuffer (const ezGALBufferCreationDescription &description)
 
void DestroyReadbackBuffer (ezGALReadbackBufferHandle hBuffer)
 
ezGALReadbackTextureHandle CreateReadbackTexture (const ezGALTextureCreationDescription &description)
 
void DestroyReadbackTexture (ezGALReadbackTextureHandle hTexture)
 
void UpdateBufferForNextFrame (ezGALBufferHandle hBuffer, ezConstByteArrayPtr sourceData, ezUInt32 uiDestOffset=0)
 Ensures that the given buffer is updated at the beginning of the next frame.
 
void UpdateTextureForNextFrame (ezGALTextureHandle hTexture, const ezGALSystemMemoryDescription &sourceData, const ezGALTextureSubresource &destinationSubResource={}, const ezBoundingBoxu32 &destinationBox=ezBoundingBoxu32::MakeZero())
 Ensures that the given texture is updated at the beginning of the next frame.
 
ezGALTextureResourceViewHandle GetDefaultResourceView (ezGALTextureHandle hTexture)
 
ezGALBufferResourceViewHandle GetDefaultResourceView (ezGALBufferHandle hBuffer)
 
ezGALTextureResourceViewHandle CreateResourceView (const ezGALTextureResourceViewCreationDescription &description)
 
void DestroyResourceView (ezGALTextureResourceViewHandle hResourceView)
 
ezGALBufferResourceViewHandle CreateResourceView (const ezGALBufferResourceViewCreationDescription &description)
 
void DestroyResourceView (ezGALBufferResourceViewHandle hResourceView)
 
ezGALRenderTargetViewHandle GetDefaultRenderTargetView (ezGALTextureHandle hTexture)
 
ezGALRenderTargetViewHandle CreateRenderTargetView (const ezGALRenderTargetViewCreationDescription &description)
 
void DestroyRenderTargetView (ezGALRenderTargetViewHandle hRenderTargetView)
 
ezGALTextureUnorderedAccessViewHandle CreateUnorderedAccessView (const ezGALTextureUnorderedAccessViewCreationDescription &description)
 
void DestroyUnorderedAccessView (ezGALTextureUnorderedAccessViewHandle hUnorderedAccessView)
 
ezGALBufferUnorderedAccessViewHandle CreateUnorderedAccessView (const ezGALBufferUnorderedAccessViewCreationDescription &description)
 
void DestroyUnorderedAccessView (ezGALBufferUnorderedAccessViewHandle hUnorderedAccessView)
 
ezGALSwapChainHandle CreateSwapChain (const SwapChainFactoryFunction &func)
 
ezResult UpdateSwapChain (ezGALSwapChainHandle hSwapChain, ezEnum< ezGALPresentMode > newPresentMode)
 
void DestroySwapChain (ezGALSwapChainHandle hSwapChain)
 
ezGALVertexDeclarationHandle CreateVertexDeclaration (const ezGALVertexDeclarationCreationDescription &description)
 
void DestroyVertexDeclaration (ezGALVertexDeclarationHandle hVertexDeclaration)
 
ezEnum< ezGALAsyncResultGetTimestampResult (ezGALTimestampHandle hTimestamp, ezTime &out_result)
 Queries the result of a timestamp. Should be called every frame until ezGALAsyncResult::Ready is returned. More...
 
ezEnum< ezGALAsyncResultGetOcclusionQueryResult (ezGALOcclusionHandle hOcclusion, ezUInt64 &out_uiResult)
 Queries the result of an occlusion query. Should be called every frame until ezGALAsyncResult::Ready is returned. More...
 
ezEnum< ezGALAsyncResultGetFenceResult (ezGALFenceHandle hFence, ezTime timeout=ezTime::MakeZero())
 Queries the result of a fence. Fences can never expire as they are just monotonically increasing numbers over time. More...
 
ezReadbackBufferLock LockBuffer (ezGALReadbackBufferHandle hReadbackBuffer, ezArrayPtr< const ezUInt8 > &out_memory)
 Tries to lock a readback buffer for reading. Only fails if the handle is invalid. More...
 
ezReadbackTextureLock LockTexture (ezGALReadbackTextureHandle hReadbackTexture, const ezArrayPtr< const ezGALTextureSubresource > &subResources, ezDynamicArray< ezGALSystemMemoryDescription > &out_memory)
 Tries to lock a readback texture for reading. Only fails if the handle is invalid. More...
 
ezGALTextureHandle GetBackBufferTextureFromSwapChain (ezGALSwapChainHandle hSwapChain)
 
void EnqueueFrameSwapChain (ezGALSwapChainHandle hSwapChain)
 Adds a swap-chain to be used for the next frame. Must be called before or during the ezGALDeviceEvent::BeforeBeginFrame event (BeginFrame function) and repeated for every frame the swap-chain is to be used. This approach guarantees that all swap-chains of a frame acquire and present at the same time, which improves frame pacing. More...
 
void BeginFrame (const ezUInt64 uiAppFrame=0)
 Begins rendering of a frame. This needs to be called first before any rendering function can be called. More...
 
void EndFrame ()
 Ends rendering of a frame and submits all data to the GPU. No further rendering calls are allowed until BeginFrame is called again.
 
ezUInt64 GetCurrentFrame () const
 The current rendering frame. This is a monotonically increasing number which changes +1 every time EndFrame is called. You can use this to synchronize read/writes between CPU and GPU, see GetSafeFrame. More...
 
ezUInt64 GetSafeFrame () const
 The latest frame that has been fully executed on the GPU. Whenever you execute any work that requires synchronization between CPU and GPU, remember the GetCurrentFrame result in which the operation was done. When GetSafeFrame reaches this number, you know for sure that the GPU has completed all operations of that frame. More...
 
const ezGALDeviceCreationDescriptionGetDescription () const
 
const ezGALSwapChainGetSwapChain (ezGALSwapChainHandle hSwapChain) const
 
template<typename T >
const T * GetSwapChain (ezGALSwapChainHandle hSwapChain) const
 
const ezGALShaderGetShader (ezGALShaderHandle hShader) const
 
const ezGALTextureGetTexture (ezGALTextureHandle hTexture) const
 
const ezGALBufferGetBuffer (ezGALBufferHandle hBuffer) const
 
const ezGALDynamicBufferGetDynamicBuffer (ezGALDynamicBufferHandle hBuffer) const
 
ezGALDynamicBufferGetDynamicBuffer (ezGALDynamicBufferHandle hBuffer)
 
const ezGALReadbackBufferGetReadbackBuffer (ezGALReadbackBufferHandle hBuffer) const
 
const ezGALReadbackTextureGetReadbackTexture (ezGALReadbackTextureHandle hTexture) const
 
const ezGALDepthStencilStateGetDepthStencilState (ezGALDepthStencilStateHandle hDepthStencilState) const
 
const ezGALBlendStateGetBlendState (ezGALBlendStateHandle hBlendState) const
 
const ezGALRasterizerStateGetRasterizerState (ezGALRasterizerStateHandle hRasterizerState) const
 
const ezGALVertexDeclarationGetVertexDeclaration (ezGALVertexDeclarationHandle hVertexDeclaration) const
 
const ezGALSamplerStateGetSamplerState (ezGALSamplerStateHandle hSamplerState) const
 
const ezGALTextureResourceViewGetResourceView (ezGALTextureResourceViewHandle hResourceView) const
 
const ezGALBufferResourceViewGetResourceView (ezGALBufferResourceViewHandle hResourceView) const
 
const ezGALRenderTargetViewGetRenderTargetView (ezGALRenderTargetViewHandle hRenderTargetView) const
 
const ezGALTextureUnorderedAccessViewGetUnorderedAccessView (ezGALTextureUnorderedAccessViewHandle hUnorderedAccessView) const
 
const ezGALBufferUnorderedAccessViewGetUnorderedAccessView (ezGALBufferUnorderedAccessViewHandle hUnorderedAccessView) const
 
const ezGALDeviceCapabilitiesGetCapabilities () const
 
virtual ezUInt64 GetMemoryConsumptionForTexture (const ezGALTextureCreationDescription &description) const
 
virtual ezUInt64 GetMemoryConsumptionForBuffer (const ezGALBufferCreationDescription &description) const
 
void Flush ()
 
void WaitIdle ()
 Waits for the GPU to be idle and destroys any pending resources and GPU objects.
 
ezAllocatorGetAllocator ()
 Internal: Returns the allocator used by the device.
 
template<typename IdTableType , typename ReturnType >
EZ_ALWAYS_INLINE ReturnType * Get (typename IdTableType::TypeOfId hHandle, const IdTableType &IdTable) const
 
template<typename HandleType >
EZ_FORCE_INLINE void AddDeadObject (ezUInt32 uiType, HandleType handle)
 

Protected Member Functions

ezResult InitPlatform (DWORD flags, IDXGIAdapter *pUsedAdapter)
 Internal version of device init that allows to modify device creation flags and graphics adapter. More...
 
virtual ezStringView GetRendererPlatform () override
 
virtual ezResult InitPlatform () override
 
virtual ezResult ShutdownPlatform () override
 
virtual ezGALCommandEncoderBeginCommandsPlatform (const char *szName) override
 
virtual void EndCommandsPlatform (ezGALCommandEncoder *pPass) override
 
virtual void FlushPlatform () override
 
virtual ezGALBlendStateCreateBlendStatePlatform (const ezGALBlendStateCreationDescription &Description) override
 
virtual void DestroyBlendStatePlatform (ezGALBlendState *pBlendState) override
 
virtual ezGALDepthStencilStateCreateDepthStencilStatePlatform (const ezGALDepthStencilStateCreationDescription &Description) override
 
virtual void DestroyDepthStencilStatePlatform (ezGALDepthStencilState *pDepthStencilState) override
 
virtual ezGALRasterizerStateCreateRasterizerStatePlatform (const ezGALRasterizerStateCreationDescription &Description) override
 
virtual void DestroyRasterizerStatePlatform (ezGALRasterizerState *pRasterizerState) override
 
virtual ezGALSamplerStateCreateSamplerStatePlatform (const ezGALSamplerStateCreationDescription &Description) override
 
virtual void DestroySamplerStatePlatform (ezGALSamplerState *pSamplerState) override
 
virtual ezGALShaderCreateShaderPlatform (const ezGALShaderCreationDescription &Description) override
 
virtual void DestroyShaderPlatform (ezGALShader *pShader) override
 
virtual ezGALBufferCreateBufferPlatform (const ezGALBufferCreationDescription &Description, ezArrayPtr< const ezUInt8 > pInitialData) override
 
virtual void DestroyBufferPlatform (ezGALBuffer *pBuffer) override
 
virtual ezGALTextureCreateTexturePlatform (const ezGALTextureCreationDescription &Description, ezArrayPtr< ezGALSystemMemoryDescription > pInitialData) override
 
virtual void DestroyTexturePlatform (ezGALTexture *pTexture) override
 
virtual ezGALTextureCreateSharedTexturePlatform (const ezGALTextureCreationDescription &Description, ezArrayPtr< ezGALSystemMemoryDescription > pInitialData, ezEnum< ezGALSharedTextureType > sharedType, ezGALPlatformSharedHandle handle) override
 
virtual void DestroySharedTexturePlatform (ezGALTexture *pTexture) override
 
virtual ezGALReadbackBufferCreateReadbackBufferPlatform (const ezGALBufferCreationDescription &Description) override
 
virtual void DestroyReadbackBufferPlatform (ezGALReadbackBuffer *pReadbackBuffer) override
 
virtual ezGALReadbackTextureCreateReadbackTexturePlatform (const ezGALTextureCreationDescription &Description) override
 
virtual void DestroyReadbackTexturePlatform (ezGALReadbackTexture *pReadbackTexture) override
 
virtual ezGALTextureResourceViewCreateResourceViewPlatform (ezGALTexture *pResource, const ezGALTextureResourceViewCreationDescription &Description) override
 
virtual void DestroyResourceViewPlatform (ezGALTextureResourceView *pResourceView) override
 
virtual ezGALBufferResourceViewCreateResourceViewPlatform (ezGALBuffer *pResource, const ezGALBufferResourceViewCreationDescription &Description) override
 
virtual void DestroyResourceViewPlatform (ezGALBufferResourceView *pResourceView) override
 
virtual ezGALRenderTargetViewCreateRenderTargetViewPlatform (ezGALTexture *pTexture, const ezGALRenderTargetViewCreationDescription &Description) override
 
virtual void DestroyRenderTargetViewPlatform (ezGALRenderTargetView *pRenderTargetView) override
 
ezGALTextureUnorderedAccessViewCreateUnorderedAccessViewPlatform (ezGALTexture *pResource, const ezGALTextureUnorderedAccessViewCreationDescription &Description) override
 
virtual void DestroyUnorderedAccessViewPlatform (ezGALTextureUnorderedAccessView *pUnorderedAccessView) override
 
ezGALBufferUnorderedAccessViewCreateUnorderedAccessViewPlatform (ezGALBuffer *pResource, const ezGALBufferUnorderedAccessViewCreationDescription &Description) override
 
virtual void DestroyUnorderedAccessViewPlatform (ezGALBufferUnorderedAccessView *pUnorderedAccessView) override
 
virtual ezGALVertexDeclarationCreateVertexDeclarationPlatform (const ezGALVertexDeclarationCreationDescription &Description) override
 
virtual void DestroyVertexDeclarationPlatform (ezGALVertexDeclaration *pVertexDeclaration) override
 
virtual void UpdateBufferForNextFramePlatform (const ezGALBuffer *pBuffer, ezConstByteArrayPtr sourceData, ezUInt32 uiDestOffset) override
 
virtual void UpdateTextureForNextFramePlatform (const ezGALTexture *pTexture, const ezGALSystemMemoryDescription &sourceData, const ezGALTextureSubresource &destinationSubResource, const ezBoundingBoxu32 &destinationBox) override
 
virtual ezEnum< ezGALAsyncResultGetTimestampResultPlatform (ezGALTimestampHandle hTimestamp, ezTime &out_result) override
 
virtual ezEnum< ezGALAsyncResultGetOcclusionResultPlatform (ezGALOcclusionHandle hOcclusion, ezUInt64 &out_uiResult) override
 
virtual ezEnum< ezGALAsyncResultGetFenceResultPlatform (ezGALFenceHandle hFence, ezTime timeout) override
 
virtual ezResult LockBufferPlatform (const ezGALReadbackBuffer *pBuffer, ezArrayPtr< const ezUInt8 > &out_Memory) const override
 
virtual void UnlockBufferPlatform (const ezGALReadbackBuffer *pBuffer) const override
 
virtual ezResult LockTexturePlatform (const ezGALReadbackTexture *pTexture, const ezArrayPtr< const ezGALTextureSubresource > &subResources, ezDynamicArray< ezGALSystemMemoryDescription > &out_Memory) const override
 
virtual void UnlockTexturePlatform (const ezGALReadbackTexture *pTexture, const ezArrayPtr< const ezGALTextureSubresource > &subResources) const override
 
void PresentPlatform (const ezGALSwapChain *pSwapChain, bool bVSync)
 
virtual void BeginFramePlatform (ezArrayPtr< ezGALSwapChain * > swapchains, const ezUInt64 uiAppFrame) override
 
virtual void EndFramePlatform (ezArrayPtr< ezGALSwapChain * > swapchains) override
 
virtual ezUInt64 GetCurrentFramePlatform () const override
 
virtual ezUInt64 GetSafeFramePlatform () const override
 
virtual void FillCapabilitiesPlatform () override
 
virtual void WaitIdlePlatform () override
 
virtual const ezGALSharedTextureGetSharedTexture (ezGALTextureHandle hTexture) const override
 
- Protected Member Functions inherited from ezGALDevice
 ezGALDevice (const ezGALDeviceCreationDescription &Description)
 
template<typename IdTableType , typename ReturnType >
ReturnType * Get (typename IdTableType::TypeOfId hHandle, const IdTableType &IdTable) const
 
void DestroyViews (ezGALTexture *pResource)
 
void DestroyViews (ezGALBuffer *pResource)
 
template<typename HandleType >
void AddDeadObject (ezUInt32 uiType, HandleType handle)
 
template<typename HandleType >
void ReviveDeadObject (ezUInt32 uiType, HandleType handle)
 
void DestroyDeadObjects ()
 
void VerifyMultithreadedAccess () const
 Asserts that either this device supports multi-threaded resource creation, or that this function is executed on the main thread.
 
const ezGALSwapChainGetSwapChainInternal (ezGALSwapChainHandle hSwapChain, const ezRTTI *pRequestedType) const
 
ezGALTextureHandle FinalizeTextureInternal (const ezGALTextureCreationDescription &desc, ezGALTexture *pTexture)
 
ezGALBufferHandle FinalizeBufferInternal (const ezGALBufferCreationDescription &desc, ezGALBuffer *pBuffer)
 

Friends

class ezGALCommandEncoderImplDX11
 
ezInternal::NewInstance< ezGALDeviceCreateDX11Device (ezAllocator *pAllocator, const ezGALDeviceCreationDescription &description)
 

Additional Inherited Members

- Public Types inherited from ezGALDevice
using SwapChainFactoryFunction = ezDelegate< ezGALSwapChain *(ezAllocator *)>
 
- Static Public Member Functions inherited from ezGALDevice
static void SetDefaultDevice (ezGALDevice *pDefaultDevice)
 
static ezGALDeviceGetDefaultDevice ()
 
static bool HasDefaultDevice ()
 
- Public Attributes inherited from ezGALDevice
ezMutex m_Mutex
 
- Static Public Attributes inherited from ezGALDevice
static ezEvent< const ezGALDeviceEvent &, ezMutexs_Events
 
- Protected Types inherited from ezGALDevice
using ShaderTable = ezIdTable< ezGALShaderHandle::IdType, ezGALShader *, ezLocalAllocatorWrapper >
 
using BlendStateTable = ezIdTable< ezGALBlendStateHandle::IdType, ezGALBlendState *, ezLocalAllocatorWrapper >
 
using DepthStencilStateTable = ezIdTable< ezGALDepthStencilStateHandle::IdType, ezGALDepthStencilState *, ezLocalAllocatorWrapper >
 
using RasterizerStateTable = ezIdTable< ezGALRasterizerStateHandle::IdType, ezGALRasterizerState *, ezLocalAllocatorWrapper >
 
using BufferTable = ezIdTable< ezGALBufferHandle::IdType, ezGALBuffer *, ezLocalAllocatorWrapper >
 
using DynamicBufferTable = ezIdTable< ezGALDynamicBufferHandle::IdType, ezGALDynamicBuffer *, ezLocalAllocatorWrapper >
 
using TextureTable = ezIdTable< ezGALTextureHandle::IdType, ezGALTexture *, ezLocalAllocatorWrapper >
 
using ReadbackBufferTable = ezIdTable< ezGALReadbackBufferHandle::IdType, ezGALReadbackBuffer *, ezLocalAllocatorWrapper >
 
using ReadbackTextureTable = ezIdTable< ezGALReadbackTextureHandle::IdType, ezGALReadbackTexture *, ezLocalAllocatorWrapper >
 
using TextureResourceViewTable = ezIdTable< ezGALTextureResourceViewHandle::IdType, ezGALTextureResourceView *, ezLocalAllocatorWrapper >
 
using BufferResourceViewTable = ezIdTable< ezGALBufferResourceViewHandle::IdType, ezGALBufferResourceView *, ezLocalAllocatorWrapper >
 
using SamplerStateTable = ezIdTable< ezGALSamplerStateHandle::IdType, ezGALSamplerState *, ezLocalAllocatorWrapper >
 
using RenderTargetViewTable = ezIdTable< ezGALRenderTargetViewHandle::IdType, ezGALRenderTargetView *, ezLocalAllocatorWrapper >
 
using TextureUnorderedAccessViewTable = ezIdTable< ezGALTextureUnorderedAccessViewHandle::IdType, ezGALTextureUnorderedAccessView *, ezLocalAllocatorWrapper >
 
using BufferUnorderedAccessViewTable = ezIdTable< ezGALBufferUnorderedAccessViewHandle::IdType, ezGALBufferUnorderedAccessView *, ezLocalAllocatorWrapper >
 
using SwapChainTable = ezIdTable< ezGALSwapChainHandle::IdType, ezGALSwapChain *, ezLocalAllocatorWrapper >
 
using VertexDeclarationTable = ezIdTable< ezGALVertexDeclarationHandle::IdType, ezGALVertexDeclaration *, ezLocalAllocatorWrapper >
 
- Protected Attributes inherited from ezGALDevice
ezProxyAllocator m_Allocator
 
ezLocalAllocatorWrapper m_AllocatorWrapper
 
ShaderTable m_Shaders
 
BlendStateTable m_BlendStates
 
DepthStencilStateTable m_DepthStencilStates
 
RasterizerStateTable m_RasterizerStates
 
BufferTable m_Buffers
 
DynamicBufferTable m_DynamicBuffers
 
TextureTable m_Textures
 
ReadbackBufferTable m_ReadbackBuffers
 
ReadbackTextureTable m_ReadbackTextures
 
TextureResourceViewTable m_TextureResourceViews
 
BufferResourceViewTable m_BufferResourceViews
 
SamplerStateTable m_SamplerStates
 
RenderTargetViewTable m_RenderTargetViews
 
TextureUnorderedAccessViewTable m_TextureUnorderedAccessViews
 
BufferUnorderedAccessViewTable m_BufferUnorderedAccessViews
 
SwapChainTable m_SwapChains
 
VertexDeclarationTable m_VertexDeclarations
 
ezHashTable< ezUInt32, ezGALBlendStateHandle, ezHashHelper< ezUInt32 >, ezLocalAllocatorWrapperm_BlendStateTable
 
ezHashTable< ezUInt32, ezGALDepthStencilStateHandle, ezHashHelper< ezUInt32 >, ezLocalAllocatorWrapperm_DepthStencilStateTable
 
ezHashTable< ezUInt32, ezGALRasterizerStateHandle, ezHashHelper< ezUInt32 >, ezLocalAllocatorWrapperm_RasterizerStateTable
 
ezHashTable< ezUInt32, ezGALSamplerStateHandle, ezHashHelper< ezUInt32 >, ezLocalAllocatorWrapperm_SamplerStateTable
 
ezHashTable< ezUInt32, ezGALVertexDeclarationHandle, ezHashHelper< ezUInt32 >, ezLocalAllocatorWrapperm_VertexDeclarationTable
 
ezDynamicArray< DeadObject, ezLocalAllocatorWrapperm_DeadObjects
 
ezGALDeviceCreationDescription m_Description
 
ezGALDeviceCapabilities m_Capabilities
 

Detailed Description

The DX11 device implementation of the graphics abstraction layer.

Member Function Documentation

◆ InitPlatform()

ezResult ezGALDeviceDX11::InitPlatform ( DWORD  flags,
IDXGIAdapter *  pUsedAdapter 
)
protected

Internal version of device init that allows to modify device creation flags and graphics adapter.

Parameters
pUsedAdapterNull means default adapter.

The documentation for this class was generated from the following files: