Search Results for

    Show / Hide Table of Contents

    Class GPUPipelineStateDX12

    Graphics pipeline state object for DirectX 12 backend.

    Inheritance
    Object
    ScriptingObject
    GPUResource
    GPUPipelineState
    GPUResourceBase
    GPUResourceDX12
    GPUPipelineStateDX12
    Inherited Members
    GPUResourceBase::_device
    ScriptingObject::_gcHandle
    ScriptingObject::_id
    GPUResource::_memoryUsage
    GPUPipelineState::_meta
    GPUResource::_nameCapacity
    GPUResource::_namePtr
    GPUResource::_nameSize
    ScriptingObject::_type
    ScriptingObject::CanCast(const ScriptingTypeHandle& from, const ScriptingTypeHandle& to)
    ScriptingObject::CanCast(const MClass* from, const MClass* to)
    ScriptingObject::Cast(ScriptingObject* obj)
    ScriptingObject::ChangeID(const Guid& newId)
    GPUPipelineState::Complexity
    ScriptingObject::CreateManaged()
    ScriptingObject::CreateManagedInternal()
    ScriptingObject::Deleted
    Object::DeleteObject(float timeToLive = 0.0f, bool useGameTime=false)
    Object::DeleteObjectNow()
    ScriptingObject::DestroyManaged()
    Object::Flags
    ScriptingObject::FromInterface(void* interfaceObj, const ScriptingTypeHandle& interfaceType)
    ScriptingObject::FromInterface(T* interfaceObj)
    ScriptingObject::GetClass()
    GPUResourceBase::GetDevice()
    ScriptingObject::GetID()
    ScriptingObject::GetManagedInstance()
    GPUResource::GetMemoryUsage()
    GPUResource::GetName()
    ScriptingObject::GetOrCreateManagedInstance()
    GPUPipelineState::GetResourceType()
    ScriptingObject::GetType()
    ScriptingObject::GetTypeHandle()
    GPUPipelineState::GetUsedCBsMask()
    GPUPipelineState::GetUsedSRsMask()
    GPUPipelineState::GetUsedUAsMask()
    GPUPipelineState::GPUPipelineState()
    GPUResource::GPUResource()
    GPUResource::GPUResource(const SpawnParams& params)
    GPUResourceBase::GPUResourceBase(DeviceType* device, const StringView& name)
    GPUResourceDX12::GPUResourceDX12(GPUDeviceDX12* device, const StringView& name)
    ScriptingObject::HasManagedInstance()
    ScriptingObject::Is(const ScriptingTypeHandle& type)
    ScriptingObject::Is(const MClass* type)
    ScriptingObject::Is()
    ScriptingObject::IsRegistered()
    GPUResource::LastRenderTime
    ScriptingObject::NewObject(const ScriptingTypeHandle& typeHandle)
    ScriptingObject::NewObject()
    GPUResource::OnDeleteObject()
    GPUResourceBase::OnDeviceDispose()
    ScriptingObject::OnManagedInstanceDeleted()
    ScriptingObject::OnScriptingDispose()
    ScriptingObject::RegisterObject()
    GPUResource::ReleaseGPU()
    GPUResource::Releasing
    ScriptingObject::ScriptingObject(const SpawnParams& params)
    ScriptingObject::SetManagedInstance(MObject* instance)
    GPUResource::SetName(const StringView& name)
    GPUPipelineStateDX12
    ScriptingObject::ToInterface(ScriptingObject* obj, const ScriptingTypeHandle& interfaceType)
    ScriptingObject::ToInterface(ScriptingObject* obj)
    ScriptingObject::ToManaged(const ScriptingObject* obj)
    ScriptingObject::ToNative(MObject* obj)
    GPUResource::ToString()
    ScriptingObject::UnregisterObject()
    GPUResource::~GPUResource()
    GPUResourceBase::~GPUResourceBase()
    Object::~Object()
    ScriptingObject::~ScriptingObject()
    Assembly: FlaxEngine.dll
    File: Engine/GraphicsDevice/DirectX/DX12/GPUPipelineStateDX12.h
    Syntax
    public class GPUPipelineStateDX12 : public GPUResourceDX12

    Constructors

    GPUPipelineStateDX12(GPUDeviceDX12* device)

    Declaration
    public GPUPipelineStateDX12(GPUDeviceDX12* device)
    Parameters
    GPUDeviceDX12 device

    Fields

    Header

    Declaration
    public DxShaderHeader Header
    Field Value
    DxShaderHeader

    PrimitiveTopology

    Declaration
    public D3D_PRIMITIVE_TOPOLOGY PrimitiveTopology = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
    Field Value
    D3D_PRIMITIVE_TOPOLOGY

    VertexBufferLayout

    Declaration
    public GPUVertexLayoutDX12* VertexBufferLayout = nullptr
    Field Value
    GPUVertexLayoutDX12

    VertexInputLayout

    Declaration
    public GPUVertexLayoutDX12* VertexInputLayout = nullptr
    Field Value
    GPUVertexLayoutDX12

    Methods

    GetState(GPUTextureViewDX12* depth, int32 rtCount, GPUTextureViewDX12* *rtHandles, GPUVertexLayoutDX12* vertexLayout)

    Gets DirectX 12 graphics pipeline state object for the given rendering state. Uses depth buffer and render targets formats and multi-sample levels to setup a proper PSO. Uses caching.

    Declaration
    public ID3D12PipelineState* GetState(GPUTextureViewDX12* depth, int32 rtCount, GPUTextureViewDX12* *rtHandles, GPUVertexLayoutDX12* vertexLayout)
    Parameters
    GPUTextureViewDX12 depth

    The depth buffer (can be null).

    int32 rtCount

    The render targets count (can be 0).

    GPUTextureViewDX12 rtHandles

    The render target handles array.

    GPUVertexLayoutDX12 vertexLayout

    The vertex buffers layout.

    Returns
    ID3D12PipelineState

    DirectX 12 graphics pipeline state object

    Init(const Description& desc)

    Create new state data

    Declaration
    public virtual bool Init(const Description& desc) override
    Parameters
    Description desc

    Full pipeline state description

    Returns
    bool

    True if cannot create state, otherwise false

    Overrides
    GPUPipelineState::Init(const Description& desc)

    IsValid()

    Returns true if pipeline state is valid and ready to use

    Declaration
    public virtual bool IsValid() const override
    Returns
    bool

    Overrides
    GPUPipelineState::IsValid()

    OnReleaseGPU()

    Releases GPU resource data (implementation).

    Declaration
    protected virtual void OnReleaseGPU() override
    Overrides
    GPUResource::OnReleaseGPU()
    • Improve this Doc
    • View Source
    In This Article
    • Constructors
      • GPUPipelineStateDX12(GPUDeviceDX12* device)
    • Fields
      • Header
      • PrimitiveTopology
      • VertexBufferLayout
      • VertexInputLayout
    • Methods
      • GetState(GPUTextureViewDX12* depth, int32 rtCount, GPUTextureViewDX12* *rtHandles, GPUVertexLayoutDX12* vertexLayout)
      • Init(const Description& desc)
      • IsValid()
      • OnReleaseGPU()
    Back to top Copyright © 2012-2024 Wojciech Figat