Plasma Engine  2.0
Loading...
Searching...
No Matches
plGALSharedTextureDX11 Class Reference
Inheritance diagram for plGALSharedTextureDX11:

Protected Member Functions

 plGALSharedTextureDX11 (const plGALTextureCreationDescription &Description, plEnum< plGALSharedTextureType > sharedType, plGALPlatformSharedHandle hSharedHandle)
 
virtual plResult InitPlatform (plGALDevice *pDevice, plArrayPtr< plGALSystemMemoryDescription > pInitialData) override
 
virtual plResult DeInitPlatform (plGALDevice *pDevice) override
 
virtual plGALPlatformSharedHandle GetSharedHandle () const override
 Returns the handle that can be used to open this texture on another device / process. Call plGALDevice::OpenSharedTexture to do so.
 
virtual void WaitSemaphoreGPU (plUInt64 uiValue) const override
 Before the current render pipeline is executed, the GPU will wait for the semaphore to have the given value.
 
virtual void SignalSemaphoreGPU (plUInt64 uiValue) const override
 Once the current render pipeline is done on the GPU, the semaphore will be signaled with the given value.
 
- Protected Member Functions inherited from plGALTextureDX11
 plGALTextureDX11 (const plGALTextureCreationDescription &Description)
 
virtual void SetDebugNamePlatform (const char *szName) const override
 
plResult InitFromNativeObject (plGALDeviceDX11 *pDXDevice)
 
plResult CreateStagingTexture (plGALDeviceDX11 *pDevice)
 
- Protected Member Functions inherited from plGALTexture
 plGALTexture (const plGALTextureCreationDescription &Description)
 

Protected Attributes

plEnum< plGALSharedTextureTypem_SharedType = plGALSharedTextureType::None
 
plGALPlatformSharedHandle m_hSharedHandle
 
IDXGIKeyedMutex * m_pKeyedMutex = nullptr
 
- Protected Attributes inherited from plGALTextureDX11
ID3D11Resource * m_pDXTexture = nullptr
 
ID3D11Resource * m_pDXStagingTexture = nullptr
 
- Protected Attributes inherited from plGALTexture
plGALTextureResourceViewHandle m_hDefaultResourceView
 
plGALRenderTargetViewHandle m_hDefaultRenderTargetView
 
plHashTable< plUInt32, plGALTextureResourceViewHandlem_ResourceViews
 
plHashTable< plUInt32, plGALRenderTargetViewHandlem_RenderTargetViews
 
plHashTable< plUInt32, plGALTextureUnorderedAccessViewHandlem_UnorderedAccessViews
 
- Protected Attributes inherited from plGALResource< plGALTextureCreationDescription >
const plGALTextureCreationDescription m_Description
 

Friends

class plGALDeviceDX11
 
class plMemoryUtils
 

Additional Inherited Members

- Public Member Functions inherited from plGALTextureDX11
PL_ALWAYS_INLINE ID3D11Resource * GetDXTexture () const
 
PL_ALWAYS_INLINE ID3D11Resource * GetDXStagingTexture () const
 
- Public Member Functions inherited from plGALResource< plGALTextureCreationDescription >
PL_ALWAYS_INLINE plGALResource (const plGALTextureCreationDescription &description)
 
PL_ALWAYS_INLINE const plGALTextureCreationDescriptionGetDescription () const
 
- Public Member Functions inherited from plGALResourceBase
void SetDebugName (const char *szName) const
 
virtual const plGALResourceBaseGetParentResource () const
 
- Public Member Functions inherited from plRefCounted
virtual ~plRefCounted ()=default
 Adds a virtual destructor.
 
- Public Member Functions inherited from plRefCountingImpl
 plRefCountingImpl ()=default
 Constructor.
 
 plRefCountingImpl (const plRefCountingImpl &rhs)
 
void operator= (const plRefCountingImpl &rhs)
 
plInt32 AddRef () const
 Increments the reference counter. Returns the new reference count.
 
plInt32 ReleaseRef () const
 Decrements the reference counter. Returns the new reference count.
 
bool IsReferenced () const
 Returns true if the reference count is greater than 0, false otherwise.
 
plInt32 GetRefCount () const
 Returns the current reference count.
 
- Static Protected Member Functions inherited from plGALTextureDX11
static plResult Create2DDesc (const plGALTextureCreationDescription &description, plGALDeviceDX11 *pDXDevice, D3D11_TEXTURE2D_DESC &out_Tex2DDesc)
 
static plResult Create3DDesc (const plGALTextureCreationDescription &description, plGALDeviceDX11 *pDXDevice, D3D11_TEXTURE3D_DESC &out_Tex3DDesc)
 
static void ConvertInitialData (const plGALTextureCreationDescription &description, plArrayPtr< plGALSystemMemoryDescription > pInitialData, plHybridArray< D3D11_SUBRESOURCE_DATA, 16 > &out_InitialData)
 

Member Function Documentation

◆ DeInitPlatform()

plResult plGALSharedTextureDX11::DeInitPlatform ( plGALDevice * pDevice)
overrideprotectedvirtual

Reimplemented from plGALTextureDX11.

◆ GetSharedHandle()

plGALPlatformSharedHandle plGALSharedTextureDX11::GetSharedHandle ( ) const
overrideprotectedvirtual

Returns the handle that can be used to open this texture on another device / process. Call plGALDevice::OpenSharedTexture to do so.

Implements plGALSharedTexture.

◆ InitPlatform()

plResult plGALSharedTextureDX11::InitPlatform ( plGALDevice * pDevice,
plArrayPtr< plGALSystemMemoryDescription > pInitialData )
overrideprotectedvirtual

Reimplemented from plGALTextureDX11.

◆ SignalSemaphoreGPU()

void plGALSharedTextureDX11::SignalSemaphoreGPU ( plUInt64 uiValue) const
overrideprotectedvirtual

Once the current render pipeline is done on the GPU, the semaphore will be signaled with the given value.

Parameters
iValueValue the semaphore is set to once we are done using the texture (after the current render pipeline).

Implements plGALSharedTexture.

◆ WaitSemaphoreGPU()

void plGALSharedTextureDX11::WaitSemaphoreGPU ( plUInt64 uiValue) const
overrideprotectedvirtual

Before the current render pipeline is executed, the GPU will wait for the semaphore to have the given value.

Parameters
iValueValue the semaphore needs to have before the texture can be used.

Implements plGALSharedTexture.


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