kodi
Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
D3DX11Effects::CEffect Class Reference
Inheritance diagram for D3DX11Effects::CEffect:
Inheritance graph
[legend]
Collaboration diagram for D3DX11Effects::CEffect:
Collaboration graph
[legend]

Public Member Functions

 CEffect (uint32_t Flags=0) noexcept
 
void ReleaseShaderRefection ()
 
HRESULT LoadEffect (_In_reads_bytes_(cbEffectBuffer) const void *pEffectBuffer, _In_ uint32_t cbEffectBuffer)
 
HRESULT BindToDevice (_In_ ID3D11Device *pDevice, _In_z_ LPCSTR srcName)
 
Timer GetCurrentTime () const
 
bool IsReflectionData (void *pData) const
 
bool IsRuntimeData (void *pData) const
 
STDMETHOD() QueryInterface (REFIID iid, _COM_Outptr_ LPVOID *ppv) override
 
 STDMETHOD_ (ULONG, AddRef)() override
 
 STDMETHOD_ (ULONG, Release)() override
 
 STDMETHOD_ (bool, IsValid)() override
 
STDMETHOD() GetDevice (_Outptr_ ID3D11Device **ppDevice) override
 
STDMETHOD() GetDesc (_Out_ D3DX11_EFFECT_DESC *pDesc) override
 
 STDMETHOD_ (ID3DX11EffectConstantBuffer *, GetConstantBufferByIndex)(_In_ uint32_t Index) override
 
 STDMETHOD_ (ID3DX11EffectConstantBuffer *, GetConstantBufferByName)(_In_z_ LPCSTR Name) override
 
 STDMETHOD_ (ID3DX11EffectVariable *, GetVariableByIndex)(_In_ uint32_t Index) override
 
 STDMETHOD_ (ID3DX11EffectVariable *, GetVariableByName)(_In_z_ LPCSTR Name) override
 
 STDMETHOD_ (ID3DX11EffectVariable *, GetVariableBySemantic)(_In_z_ LPCSTR Semantic) override
 
 STDMETHOD_ (ID3DX11EffectTechnique *, GetTechniqueByIndex)(_In_ uint32_t Index) override
 
 STDMETHOD_ (ID3DX11EffectTechnique *, GetTechniqueByName)(_In_z_ LPCSTR Name) override
 
 STDMETHOD_ (ID3DX11EffectGroup *, GetGroupByIndex)(_In_ uint32_t Index) override
 
 STDMETHOD_ (ID3DX11EffectGroup *, GetGroupByName)(_In_z_ LPCSTR Name) override
 
 STDMETHOD_ (ID3D11ClassLinkage *, GetClassLinkage)() override
 
STDMETHOD() CloneEffect (_In_ uint32_t Flags, _Outptr_ ID3DX11Effect **ppClonedEffect) override
 
STDMETHOD() Optimize () override
 
 STDMETHOD_ (bool, IsOptimized)() override
 
ID3DX11EffectType * CreatePooledSingleElementTypeInterface (_In_ SType *pType)
 
ID3DX11EffectVariable * CreatePooledVariableMemberInterface (_In_ TTopLevelVariable< ID3DX11EffectVariable > *pTopLevelEntity, _In_ const SVariable *pMember, _In_ const UDataPointer Data, _In_ bool IsSingleElement, _In_ uint32_t Index)
 

Protected Types

typedef STypeLPSRUNTIMETYPE
 
typedef CEffectHashTableWithPrivateHeap< SType *, AreTypesEqual > CTypeHashTable
 
typedef CEffectHashTableWithPrivateHeap< LPCSTR, AreStringsEqual > CStringHashTable
 

Protected Member Functions

void AddStringToPool (const char **ppString)
 
void AddTypeToPool (SType **ppType)
 
HRESULT OptimizeTypes (_Inout_ CPointerMappingTable *pMappingTable, _In_ bool Cloning=false)
 
void ApplyShaderBlock (_In_ SShaderBlock *pBlock)
 
bool ApplyRenderStateBlock (_In_ SBaseBlock *pBlock)
 
bool ApplySamplerBlock (_In_ SSamplerBlock *pBlock)
 
void ApplyPassBlock (_Inout_ SPassBlock *pBlock)
 
bool EvaluateAssignment (_Inout_ SAssignment *pAssignment)
 
bool ValidateShaderBlock (_Inout_ SShaderBlock *pBlock)
 
bool ValidatePassBlock (_Inout_ SPassBlock *pBlock)
 
SGlobalVariableFindLocalVariableByName (_In_z_ LPCSTR pVarName)
 
SGlobalVariableFindVariableByName (_In_z_ LPCSTR pVarName)
 
SVariableFindVariableByNameWithParsing (_In_z_ LPCSTR pVarName)
 
SConstantBufferFindCB (_In_z_ LPCSTR pName)
 
void ReplaceCBReference (_In_ SConstantBuffer *pOldBufferBlock, _In_ ID3D11Buffer *pNewBuffer)
 
void ReplaceSamplerReference (_In_ SSamplerBlock *pOldSamplerBlock, _In_ ID3D11SamplerState *pNewSampler)
 
void AddRefAllForCloning (_In_ CEffect *pEffectSource)
 
HRESULT CopyMemberInterfaces (_In_ CEffect *pEffectSource)
 
HRESULT CopyStringPool (_In_ CEffect *pEffectSource, _Inout_ CPointerMappingTable &mappingTable)
 
HRESULT CopyTypePool (_In_ CEffect *pEffectSource, _Inout_ CPointerMappingTable &mappingTableTypes, _Inout_ CPointerMappingTable &mappingTableStrings)
 
HRESULT CopyOptimizedTypePool (_In_ CEffect *pEffectSource, _Inout_ CPointerMappingTable &mappingTableTypes)
 
HRESULT RecreateCBs ()
 
HRESULT FixupMemberInterface (_Inout_ SMember *pMember, _In_ CEffect *pEffectSource, _Inout_ CPointerMappingTable &mappingTableStrings)
 
void ValidateIndex (_In_ uint32_t Elements)
 
void IncrementTimer ()
 
void HandleLocalTimerRollover ()
 

Static Protected Member Functions

static bool AreTypesEqual (const LPSRUNTIMETYPE &pType1, const LPSRUNTIMETYPE &pType2)
 
static bool AreStringsEqual (const LPCSTR &pStr1, const LPCSTR &pStr2)
 

Protected Attributes

uint32_t m_RefCount
 
uint32_t m_Flags
 
CEffectHeap m_Heap
 
CEffectReflectionm_pReflection
 
uint32_t m_VariableCount
 
SGlobalVariablem_pVariables
 
uint32_t m_AnonymousShaderCount
 
SAnonymousShaderm_pAnonymousShaders
 
uint32_t m_TechniqueCount
 
uint32_t m_GroupCount
 
SGroupm_pGroups
 
SGroupm_pNullGroup
 
uint32_t m_ShaderBlockCount
 
SShaderBlockm_pShaderBlocks
 
uint32_t m_DepthStencilBlockCount
 
SDepthStencilBlockm_pDepthStencilBlocks
 
uint32_t m_BlendBlockCount
 
SBlendBlockm_pBlendBlocks
 
uint32_t m_RasterizerBlockCount
 
SRasterizerBlockm_pRasterizerBlocks
 
uint32_t m_SamplerBlockCount
 
SSamplerBlockm_pSamplerBlocks
 
uint32_t m_MemberDataCount
 
SMemberDataPointerm_pMemberDataBlocks
 
uint32_t m_InterfaceCount
 
SInterfacem_pInterfaces
 
uint32_t m_CBCount
 
SConstantBufferm_pCBs
 
uint32_t m_StringCount
 
SStringm_pStrings
 
uint32_t m_ShaderResourceCount
 
SShaderResourcem_pShaderResources
 
uint32_t m_UnorderedAccessViewCount
 
SUnorderedAccessViewm_pUnorderedAccessViews
 
uint32_t m_RenderTargetViewCount
 
SRenderTargetViewm_pRenderTargetViews
 
uint32_t m_DepthStencilViewCount
 
SDepthStencilViewm_pDepthStencilViews
 
Timer m_LocalTimer
 
uint32_t m_FXLIndex
 
ID3D11Device * m_pDevice
 
ID3D11DeviceContext * m_pContext
 
ID3D11ClassLinkage * m_pClassLinkage
 
CEffectVectorOwner< SSingleElementTypem_pTypeInterfaces
 
CEffectVectorOwner< SMemberm_pMemberInterfaces
 
CTypeHashTablem_pTypePool
 
CStringHashTablem_pStringPool
 
CDataBlockStorem_pPooledHeap
 
CEffectHeapm_pOptimizedTypeHeap
 

Friends

struct SBaseBlock
 
struct SPassBlock
 
class CEffectLoader
 
struct SConstantBuffer
 
struct TSamplerVariable< TGlobalVariable< ID3DX11EffectSamplerVariable > >
 
struct TSamplerVariable< TVariable< TMember< ID3DX11EffectSamplerVariable > > >
 

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