Search Results for

    Show / Hide Table of Contents

    Class GPUDeviceDX11

    Implementation of Graphics Device for DirectX 11 backend.

    Inheritance
    Object
    ScriptingObject
    GPUDevice
    GPUDeviceDX
    GPUDeviceDX11
    Inherited Members
    GPUDeviceDX::_adapter
    GPUDevice::_drawGpuEventIndex
    GPUDevice::_featureLevel
    ScriptingObject::_gcHandle
    ScriptingObject::_id
    GPUDevice::_isRendering
    GPUDevice::_rendererType
    GPUDevice::_res
    GPUDevice::_resources
    GPUDevice::_resourcesLock
    GPUDevice::_shaderProfile
    GPUDevice::_state
    ScriptingObject::_type
    GPUDevice::_wasVSyncUsed
    GPUDevice::AddResource(GPUResource* resource)
    ScriptingObject::CanCast(const ScriptingTypeHandle& from, const ScriptingTypeHandle& to)
    ScriptingObject::CanCast(const MClass* from, const MClass* to)
    GPUDevice::CanDraw()
    ScriptingObject::Cast(ScriptingObject* obj)
    ScriptingObject::ChangeID(const Guid& newId)
    ScriptingObject::CreateManaged()
    ScriptingObject::CreateManagedInternal()
    GPUDevice::CreateTasksContext()
    GPUDevice::CreateTasksExecutor()
    GPUDevice::CreateVertexLayout(const Array<struct VertexElement, FixedAllocation<GPU_MAX_VS_ELEMENTS>>& elements, bool explicitOffsets=false)
    GPUDevice::CurrentTask
    ScriptingObject::Deleted
    Object::DeleteObject(float timeToLive = 0.0f, bool useGameTime=false)
    Object::DeleteObjectNow()
    GPUDevice::DEPRECATED("Use new BeginQuery/EndQuery on GPUContext to insert queries and GetQueryResult on GPUDevice to read the results.") virtual GPUTimerQuery* CreateTimerQuery()
    ScriptingObject::DestroyManaged()
    GPUDeviceDX11
    GPUDevice::Draw()
    GPUDevice::DrawBegin()
    GPUDevice::DumpResources()
    GPUDevice::DumpResourcesToLog()
    GPUDevice::FeaturesPerFormat[static_cast<int32>(PixelFormat::MAX)
    Object::Flags
    ScriptingObject::FromInterface(void* interfaceObj, const ScriptingTypeHandle& interfaceType)
    ScriptingObject::FromInterface(T* interfaceObj)
    GPUDeviceDX::GetAdapter()
    ScriptingObject::GetClass()
    GPUDevice::GetClearPS()
    GPUDevice::GetCopyLinearPS()
    GPUDevice::GetDecodeNV12PS()
    GPUDevice::GetDecodeYUY2PS()
    GPUDevice::GetDefaultBlackTexture()
    GPUDevice::GetDefaultDeformableMaterial()
    GPUDevice::GetDefaultMaterial()
    GPUDevice::GetDefaultNormalMap()
    GPUDevice::GetDefaultWhiteTexture()
    GPUDevice::GetFeatureLevel()
    GPUDevice::GetFormatFeatures(const PixelFormat format)
    GPUDevice::GetFullscreenTriangleVB()
    ScriptingObject::GetID()
    ScriptingObject::GetManagedInstance()
    GPUDevice::GetMemoryUsage()
    ScriptingObject::GetOrCreateManagedInstance()
    GPUDevice::GetRendererType()
    GPUDeviceDX::getRendererType(GPUAdapterDX* adapter)
    GPUDevice::GetResources()
    GPUDevice::GetShaderProfile()
    GPUDeviceDX::getShaderProfile(GPUAdapterDX* adapter)
    GPUDevice::GetState()
    GPUDevice::GetTasksManager()
    ScriptingObject::GetType()
    ScriptingObject::GetTypeHandle()
    GPUDevice::GPUDevice(RendererType type, ShaderProfile profile)
    GPUDeviceDX::GPUDeviceDX(RendererType type, ShaderProfile profile, GPUAdapterDX* adapter)
    ScriptingObject::HasManagedInstance()
    GPUDevice::Instance
    ScriptingObject::Is(const ScriptingTypeHandle& type)
    ScriptingObject::Is(const MClass* type)
    ScriptingObject::Is()
    GPUDevice::IsDebugToolAttached
    ScriptingObject::IsRegistered()
    GPUDevice::IsRendering()
    GPUDevice::Limits
    GPUDevice::LoadContent()
    GPUDevice::Locker
    ScriptingObject::NewObject(const ScriptingTypeHandle& typeHandle)
    ScriptingObject::NewObject()
    ScriptingObject::OnDeleteObject()
    ScriptingObject::OnManagedInstanceDeleted()
    GPUDevice::OnRequestingExit()
    ScriptingObject::OnScriptingDispose()
    GPUDeviceDX::Outputs
    GPUDevice::preDispose()
    GPUDevice::QuadShader
    ScriptingObject::RegisterObject()
    GPUDevice::RemoveResource(GPUResource* resource)
    GPUDevice::RenderBegin()
    GPUDevice::RenderEnd()
    ScriptingObject::ScriptingObject(const SpawnParams& params)
    ScriptingObject::SetManagedInstance(MObject* instance)
    GPUDeviceDX11
    ScriptingObject::ToInterface(ScriptingObject* obj, const ScriptingTypeHandle& interfaceType)
    ScriptingObject::ToInterface(ScriptingObject* obj)
    ScriptingObject::ToManaged(const ScriptingObject* obj)
    ScriptingObject::ToNative(MObject* obj)
    ScriptingObject::ToString()
    GPUDevice::TotalGraphicsMemory
    ScriptingObject::UnregisterObject()
    GPUDeviceDX::UpdateOutputs(IDXGIAdapter* adapter)
    GPUDeviceDX11
    GPUDevice::VideoOutputModes
    GPUDevice::VideoOutputs
    GPUDevice::WasVSyncUsed()
    GPUDevice::~GPUDevice()
    Object::~Object()
    ScriptingObject::~ScriptingObject()
    Assembly: FlaxEngine.dll
    File: Engine/GraphicsDevice/DirectX/DX11/GPUDeviceDX11.h
    Syntax
    public class GPUDeviceDX11 : public GPUDeviceDX

    Constructors

    ~GPUDeviceDX11()

    Declaration
    public ~GPUDeviceDX11()

    GPUDeviceDX11(IDXGIFactory* dxgiFactory, GPUAdapterDX* adapter)

    Declaration
    public GPUDeviceDX11(IDXGIFactory* dxgiFactory, GPUAdapterDX* adapter)
    Parameters
    IDXGIFactory dxgiFactory

    GPUAdapterDX adapter

    Methods

    Create()

    Declaration
    public static GPUDevice* Create()
    Returns
    GPUDevice

    CreateBuffer(const StringView& name)

    Creates the buffer.

    Declaration
    public virtual GPUBuffer* CreateBuffer(const StringView& name) override
    Parameters
    StringView name

    The resource name.

    Returns
    GPUBuffer

    The buffer.

    Overrides
    GPUDevice::CreateBuffer(const StringView& name=StringView::Empty)

    CreateConstantBuffer(uint32 size, const StringView& name)

    Creates the constant buffer.

    Declaration
    public virtual GPUConstantBuffer* CreateConstantBuffer(uint32 size, const StringView& name) override
    Parameters
    uint32 size

    The buffer size (in bytes).

    StringView name

    The resource name.

    Returns
    GPUConstantBuffer

    The constant buffer.

    Overrides
    GPUDevice::CreateConstantBuffer(uint32 size, const StringView& name=StringView::Empty)

    CreatePipelineState()

    Creates the GPU pipeline state object.

    Declaration
    public virtual GPUPipelineState* CreatePipelineState() override
    Returns
    GPUPipelineState

    The pipeline state.

    Overrides
    GPUDevice::CreatePipelineState()

    CreateSampler()

    Creates the texture sampler.

    Declaration
    public virtual GPUSampler* CreateSampler() override
    Returns
    GPUSampler

    The sampler.

    Overrides
    GPUDevice::CreateSampler()

    CreateShader(const StringView& name)

    Creates the shader.

    Declaration
    public virtual GPUShader* CreateShader(const StringView& name) override
    Parameters
    StringView name

    The resource name.

    Returns
    GPUShader

    The shader.

    Overrides
    GPUDevice::CreateShader(const StringView& name=StringView::Empty)

    CreateSwapChain(Window* window)

    Creates the native window swap chain.

    Declaration
    public virtual GPUSwapChain* CreateSwapChain(Window* window) override
    Parameters
    Window window

    The output window.

    Returns
    GPUSwapChain

    The native window swap chain.

    Overrides
    GPUDevice::CreateSwapChain(Window* window)

    CreateTexture(const StringView& name)

    Creates the texture.

    Declaration
    public virtual GPUTexture* CreateTexture(const StringView& name) override
    Parameters
    StringView name

    The resource name.

    Returns
    GPUTexture

    The texture.

    Overrides
    GPUDevice::CreateTexture(const StringView& name=StringView::Empty)

    CreateTimerQuery()

    Declaration
    public GPUTimerQuery* CreateTimerQuery() override
    Returns
    GPUTimerQuery

    CreateVertexLayout(const VertexElements& elements, bool explicitOffsets)

    Declaration
    public GPUVertexLayout* CreateVertexLayout(const VertexElements& elements, bool explicitOffsets) override
    Parameters
    VertexElements elements

    bool explicitOffsets

    Returns
    GPUVertexLayout

    Dispose()

    Clean all allocated data by device

    Declaration
    public virtual void Dispose() override
    Overrides
    GPUDevice::Dispose()

    DrawEnd()

    Called during Draw method after rendering. Cannot be used to submit commands to GPU.

    Declaration
    public virtual void DrawEnd() override
    Overrides
    GPUDevice::DrawEnd()

    GetBlendState(const BlendingMode& blending)

    Declaration
    public ID3D11BlendState* GetBlendState(const BlendingMode& blending)
    Parameters
    BlendingMode blending

    Returns
    ID3D11BlendState

    GetDepthStencilState(const void* descriptionPtr)

    Declaration
    public ID3D11DepthStencilState* GetDepthStencilState(const void* descriptionPtr)
    Parameters
    void descriptionPtr

    Returns
    ID3D11DepthStencilState

    GetDevice()

    Declaration
    public ID3D11Device* GetDevice() const
    Returns
    ID3D11Device

    GetDummyVB()

    Declaration
    public GPUBuffer* GetDummyVB()
    Returns
    GPUBuffer

    GetDXGIFactory()

    Declaration
    public IDXGIFactory* GetDXGIFactory() const
    Returns
    IDXGIFactory

    GetIM()

    Declaration
    public ID3D11DeviceContext* GetIM() const
    Returns
    ID3D11DeviceContext

    GetMainContext()

    Gets the main GPU context.

    Declaration
    public virtual GPUContext* GetMainContext() override
    Returns
    GPUContext

    Overrides
    GPUDevice::GetMainContext()

    GetMainContextDX11()

    Declaration
    public GPUContextDX11* GetMainContextDX11()
    Returns
    GPUContextDX11

    GetNativePtr()

    Gets the native pointer to the underlying graphics device. It's a low-level platform-specific handle.

    Declaration
    public virtual void* GetNativePtr() const override
    Returns
    void

    Overrides
    GPUDevice::GetNativePtr()

    GetQueryResult(uint64 queryID, uint64& result, bool wait=false)

    Reads the query result from the GPU. Timer queries return time in microseconds (1/1000 ms).

    GPU query results are short-lived, meaning that in the frame that results are ready, they won't be available in the next frame, as queries are reused.

    Declaration
    public virtual bool GetQueryResult(uint64 queryID, uint64& result, bool wait=false) override
    Parameters
    uint64 queryID

    Query identifier returned by GPUContext::BeginQuery.

    uint64 result

    The output result data of the query. Valid only when function returns true.

    bool wait

    True if wait for the GPU to end processing commands for sync data ready. Otherwise, if query is incomplete then function will return value of false without result.

    Returns
    bool

    True if got valid query result, otherwise false. If called with wait enabled then device failed to readback the query data.

    Overrides
    GPUDevice::GetQueryResult(uint64 queryID, uint64& result, bool wait=false)

    Init()

    Init device resources

    Declaration
    public virtual bool Init() override
    Returns
    bool

    True if cannot init, otherwise false.

    Overrides
    GPUDevice::Init()

    WaitForGPU()

    Wait for GPU end doing submitted work

    Declaration
    public virtual void WaitForGPU() override
    Overrides
    GPUDevice::WaitForGPU()
    • Improve this Doc
    • View Source
    In This Article
    Back to top Copyright © 2012-2024 Wojciech Figat