Search Results for

    Show / Hide Table of Contents

    Class GPUPipelineStateVulkan

    Graphics pipeline state object for Vulkan backend.

    Inheritance
    Object
    ScriptingObject
    GPUResource
    GPUPipelineState
    GPUResourceBase
    GPUResourceVulkan
    GPUPipelineStateVulkan
    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)
    GPUResourceVulkan::GPUResourceVulkan(GPUDeviceVulkan* 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)
    GPUPipelineStateVulkan
    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/Vulkan/GPUPipelineStateVulkan.h
    Syntax
    public class GPUPipelineStateVulkan : public GPUResourceVulkan

    Constructors

    GPUPipelineStateVulkan(GPUDeviceVulkan* device)

    Initializes a new instance of the GPUPipelineStateVulkan class.

    Declaration
    public GPUPipelineStateVulkan(GPUDeviceVulkan* device)
    Parameters
    GPUDeviceVulkan device

    The graphics device.

    Fields

    BlendEnable

    Declaration
    public uint32 BlendEnable
    Field Value
    uint32

    CurrentTypedDescriptorPoolSet

    Declaration
    public TypedDescriptorPoolSetVulkan* CurrentTypedDescriptorPoolSet = nullptr
    Field Value
    TypedDescriptorPoolSetVulkan

    DepthReadEnable

    Declaration
    public uint32 DepthReadEnable
    Field Value
    uint32

    DepthWriteEnable

    Declaration
    public uint32 DepthWriteEnable
    Field Value
    uint32

    DescriptorInfoPerStage

    The cached shader descriptor infos per stage.

    Declaration
    public SpirvShaderDescriptorInfo* DescriptorInfoPerStage[DescriptorSet::GraphicsStagesCount]
    Field Value
    SpirvShaderDescriptorInfo

    DescriptorSetHandles

    Declaration
    public Array<VkDescriptorSet> DescriptorSetHandles
    Field Value
    Array<VkDescriptorSet>

    DescriptorSetsLayout

    Declaration
    public DescriptorSetLayoutVulkan* DescriptorSetsLayout = nullptr
    Field Value
    DescriptorSetLayoutVulkan

    DSWriteContainer

    Declaration
    public DescriptorSetWriteContainerVulkan DSWriteContainer
    Field Value
    DescriptorSetWriteContainerVulkan

    DSWriter

    Declaration
    public DescriptorSetWriterVulkan DSWriter[DescriptorSet::GraphicsStagesCount]
    Field Value
    DescriptorSetWriterVulkan

    DynamicOffsets

    Declaration
    public Array<uint32> DynamicOffsets
    Field Value
    Array<uint32>

    HasDescriptorsPerStageMask

    The bitmask of stages that have descriptors.

    Declaration
    public uint32 HasDescriptorsPerStageMask
    Field Value
    uint32

    ShaderBindingsPerStage

    The cached shader bindings per stage.

    Declaration
    public ShaderBindings* ShaderBindingsPerStage[DescriptorSet::GraphicsStagesCount]
    Field Value
    ShaderBindings

    StencilReadEnable

    Declaration
    public uint32 StencilReadEnable
    Field Value
    uint32

    StencilWriteEnable

    Declaration
    public uint32 StencilWriteEnable
    Field Value
    uint32

    UsedStagesMask

    The bitmask of stages that exist in this pipeline.

    Declaration
    public uint32 UsedStagesMask
    Field Value
    uint32

    VertexBufferLayout

    Declaration
    public GPUVertexLayoutVulkan* VertexBufferLayout = nullptr
    Field Value
    GPUVertexLayoutVulkan

    VertexInputLayout

    Declaration
    public GPUVertexLayoutVulkan* VertexInputLayout = nullptr
    Field Value
    GPUVertexLayoutVulkan

    Methods

    AcquirePoolSet(CmdBufferVulkan* cmdBuffer)

    Declaration
    public bool AcquirePoolSet(CmdBufferVulkan* cmdBuffer)
    Parameters
    CmdBufferVulkan cmdBuffer

    Returns
    bool

    GetLayout()

    Gets the Vulkan pipeline layout for this pipeline state.

    Declaration
    public PipelineLayoutVulkan* GetLayout()
    Returns
    PipelineLayoutVulkan

    The layout.

    GetState(RenderPassVulkan* renderPass, GPUVertexLayoutVulkan* vertexLayout)

    Gets the Vulkan graphics pipeline 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 VkPipeline GetState(RenderPassVulkan* renderPass, GPUVertexLayoutVulkan* vertexLayout)
    Parameters
    RenderPassVulkan renderPass

    The render pass.

    GPUVertexLayoutVulkan vertexLayout

    The vertex layout.

    Returns
    VkPipeline

    Vulkan graphics pipeline object.

    Init(const Description& desc)

    Create new state data

    Declaration
    public virtual bool Init(const Description& desc) final 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 final 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
    Back to top Copyright © 2012-2024 Wojciech Figat