Search Results for

    Show / Hide Table of Contents

    Class GPUTextureVulkan

    Texture object for Vulkan backend.

    Inheritance
    Object
    ScriptingObject
    GPUResource
    GPUTexture
    GPUResourceBase
    GPUResourceVulkan
    GPUTextureVulkan
    Inherited Members
    GPUTexture::_desc
    GPUResourceBase::_device
    ScriptingObject::_gcHandle
    ScriptingObject::_id
    GPUTexture::_isBlockCompressed
    GPUResource::_memoryUsage
    GPUResource::_nameCapacity
    GPUResource::_namePtr
    GPUResource::_nameSize
    GPUTexture::_residentMipLevels
    GPUTexture::_sRGB
    ScriptingObject::_type
    GPUTexture::ArraySize()
    ResourceOwnerVulkan::ArraySlices
    GPUTexture::calculateMemoryUsage()
    GPUTexture::CalculateMipSize(int32 size, int32 mipLevel)
    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)
    GPUTexture::ComputeBufferOffset(int32 subresource, int32 rowAlign, int32 sliceAlign)
    GPUTexture::ComputeBufferTotalSize(int32 rowAlign, int32 sliceAlign)
    GPUTexture::ComputePitch(int32 mipIndex, uint32& rowPitch, uint32& slicePitch)
    GPUTexture::ComputeRowPitch(int32 mipLevel, int32 rowAlign)
    GPUTexture::ComputeSlicePitch(int32 mipLevel, int32 rowAlign)
    GPUTexture::ComputeSubresourceSize(int32 subresource, int32 rowAlign, int32 sliceAlign)
    ScriptingObject::CreateManaged()
    ScriptingObject::CreateManagedInternal()
    ScriptingObject::Deleted
    Object::DeleteObject(float timeToLive = 0.0f, bool useGameTime=false)
    Object::DeleteObjectNow()
    GPUTexture::Depth()
    DescriptorOwnerResourceVulkan::DescriptorAsDynamicUniformBuffer(GPUContextVulkan* context, VkBuffer& buffer, VkDeviceSize& offset, VkDeviceSize& range, uint32& dynamicOffset)
    DescriptorOwnerResourceVulkan::DescriptorAsImage(GPUContextVulkan* context, VkImageView& imageView, VkImageLayout& layout)
    DescriptorOwnerResourceVulkan::DescriptorAsSampler(GPUContextVulkan* context, VkSampler& sampler)
    DescriptorOwnerResourceVulkan::DescriptorAsStorageBuffer(GPUContextVulkan* context, VkBuffer& buffer, VkDeviceSize& offset, VkDeviceSize& range)
    DescriptorOwnerResourceVulkan::DescriptorAsStorageTexelBuffer(GPUContextVulkan* context, VkBufferView& bufferView)
    DescriptorOwnerResourceVulkan::DescriptorAsUniformTexelBuffer(GPUContextVulkan* context, VkBufferView& bufferView)
    ScriptingObject::DestroyManaged()
    GPUTexture::Dimensions()
    GPUTexture::DownloadData(TextureData& result)
    GPUTexture::DownloadDataAsync(TextureData& result)
    GPUTexture::Flags()
    Object::Flags
    GPUTexture::Format()
    ScriptingObject::FromInterface(void* interfaceObj, const ScriptingTypeHandle& interfaceType)
    ScriptingObject::FromInterface(T* interfaceObj)
    ScriptingObject::GetClass()
    GPUTexture::GetDescription()
    GPUResourceBase::GetDevice()
    ScriptingObject::GetID()
    ScriptingObject::GetManagedInstance()
    GPUResource::GetMemoryUsage()
    GPUTexture::GetMipSize(int32 mipLevelIndex, int32& mipWidth, int32& mipHeight)
    GPUTexture::GetMipSize(int32 mipLevelIndex, int32& mipWidth, int32& mipHeight, int32& mipDepth)
    GPUResource::GetName()
    ScriptingObject::GetOrCreateManagedInstance()
    GPUTexture::GetResidentSize(int32& width, int32& height)
    GPUTexture::GetResidentSize(int32& width, int32& height, int32& depth)
    GPUTexture::GetResourceType()
    ScriptingObject::GetType()
    ScriptingObject::GetTypeHandle()
    GPUResource::GPUResource()
    GPUResource::GPUResource(const SpawnParams& params)
    GPUResourceBase::GPUResourceBase(DeviceType* device, const StringView& name)
    GPUResourceVulkan::GPUResourceVulkan(GPUDeviceVulkan* device, const StringView& name)
    GPUTexture::GPUTexture()
    ScriptingObject::HasManagedInstance()
    GPUTexture::HasPerMipViews()
    GPUTexture::HasPerSliceViews()
    GPUTexture::HasResidentMip()
    DescriptorOwnerResourceVulkan::HasSRV()
    DescriptorOwnerResourceVulkan::HasUAV()
    GPUTexture::Height()
    GPUTexture::HighestResidentMipIndex()
    GPUTexture::Init(const GPUTextureDescription& desc)
    ResourceOwnerVulkan::initResource(VkImageLayout initialState, int32 mipLevels=1, int32 arraySize=1, bool usePerSubresourceTracking=false)
    ScriptingObject::Is(const ScriptingTypeHandle& type)
    ScriptingObject::Is(const MClass* type)
    ScriptingObject::Is()
    GPUTexture::IsAllocated()
    GPUTexture::IsArray()
    GPUTexture::IsBlockCompressed()
    GPUTexture::IsCubeMap()
    GPUTexture::IsDepthStencil()
    GPUTexture::IsMultiSample()
    GPUTexture::IsPowerOfTwo()
    ScriptingObject::IsRegistered()
    GPUTexture::IsRegularTexture()
    GPUTexture::IsRenderTarget()
    GPUTexture::IsShaderResource()
    GPUTexture::IsSRGB()
    GPUTexture::IsStaging()
    GPUTexture::IsUnorderedAccess()
    GPUTexture::IsVolume()
    GPUResource::LastRenderTime
    GPUTexture::MipLevels()
    GPUTexture::MultiSampleLevel()
    ScriptingObject::NewObject(const ScriptingTypeHandle& typeHandle)
    ScriptingObject::NewObject()
    GPUResource::OnDeleteObject()
    GPUResourceBase::OnDeviceDispose()
    ScriptingObject::OnManagedInstanceDeleted()
    ScriptingObject::OnScriptingDispose()
    GPUTexture::operator GPUTextureView* ()
    ScriptingObject::RegisterObject()
    GPUResource::ReleaseGPU()
    GPUResource::Releasing
    GPUTexture::ResidentMipLevels()
    GPUTexture::ResidentMipsChanged
    GPUTexture::Resize(int32 width, int32 height, PixelFormat format=PixelFormat::Unknown)
    GPUTexture::Resize(int32 width, int32 height, int32 depth, PixelFormat format=PixelFormat::Unknown)
    GPUTexture::RowPitch(int32 mipIndex = 0)
    ScriptingObject::ScriptingObject(const SpawnParams& params)
    ScriptingObject::SetManagedInstance(MObject* instance)
    GPUResource::SetName(const StringView& name)
    GPUTexture::SetResidentMipLevels(int32 count)
    GPUTexture::Size()
    GPUTexture::Size3()
    GPUTexture::SlicePitch(int32 mipIndex = 0)
    GPUTextureVulkan
    ResourceOwnerVulkan::State
    ScriptingObject::ToInterface(ScriptingObject* obj, const ScriptingTypeHandle& interfaceType)
    ScriptingObject::ToInterface(ScriptingObject* obj)
    ScriptingObject::ToManaged(const ScriptingObject* obj)
    ScriptingObject::ToNative(MObject* obj)
    GPUTexture::ToStagingReadback()
    GPUTexture::ToStagingUpload()
    GPUTexture::ToString()
    ScriptingObject::UnregisterObject()
    GPUTexture::UploadMipMapAsync(const BytesContainer& data, int32 mipIndex, bool copyData=false)
    GPUTexture::UploadMipMapAsync(const BytesContainer& data, int32 mipIndex, int32 rowPitch, int32 slicePitch, bool copyData=false)
    GPUTexture::View()
    GPUTexture::Width()
    DescriptorOwnerResourceVulkan::~DescriptorOwnerResourceVulkan()
    GPUResource::~GPUResource()
    GPUResourceBase::~GPUResourceBase()
    Object::~Object()
    ResourceOwnerVulkan::~ResourceOwnerVulkan()
    ScriptingObject::~ScriptingObject()
    Assembly: FlaxEngine.dll
    File: Engine/GraphicsDevice/Vulkan/GPUTextureVulkan.h
    Syntax
    public class GPUTextureVulkan : public GPUResourceVulkan, public ResourceOwnerVulkan, public DescriptorOwnerResourceVulkan

    Constructors

    GPUTextureVulkan(GPUDeviceVulkan* device, const StringView& name)

    Initializes a new instance of the GPUTextureVulkan class.

    Declaration
    public GPUTextureVulkan(GPUDeviceVulkan* device, const StringView& name)
    Parameters
    GPUDeviceVulkan device

    The device.

    StringView name

    The resource name.

    Fields

    DefaultAspectMask

    The default aspect mask flags for the texture (all planes).

    Declaration
    public VkImageAspectFlags DefaultAspectMask
    Field Value
    VkImageAspectFlags

    StagingBuffer

    The Vulkan staging buffer (used by the staging textures for memory transfers).

    Declaration
    public GPUBufferVulkan* StagingBuffer = nullptr
    Field Value
    GPUBufferVulkan

    Methods

    AsGPUResource()

    Gets resource owner object as a GPUResource type or returns null if cannot perform cast.

    Declaration
    public virtual GPUResource* AsGPUResource() const override
    Returns
    GPUResource

    GPU Resource or null if cannot cast.

    Overrides
    ResourceOwnerVulkan::AsGPUResource()

    DescriptorAsStorageImage(GPUContextVulkan* context, VkImageView& imageView, VkImageLayout& layout)

    Gets the storage image descriptor (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE).

    Declaration
    public virtual void DescriptorAsStorageImage(GPUContextVulkan* context, VkImageView& imageView, VkImageLayout& layout) override
    Parameters
    GPUContextVulkan context

    The GPU context. Can be used to add memory barriers to the pipeline before binding the descriptor to the pipeline.

    VkImageView imageView

    The image view.

    VkImageLayout layout

    The image layout.

    Overrides
    DescriptorOwnerResourceVulkan::DescriptorAsStorageImage(GPUContextVulkan* context, VkImageView& imageView, VkImageLayout& layout)

    GetData(int32 arrayIndex, int32 mipMapIndex, TextureMipData& data, uint32 mipRowPitch)

    Gets texture mipmap data (raw bytes). Can be used only with textures created with Staging flag.

    Declaration
    public virtual bool GetData(int32 arrayIndex, int32 mipMapIndex, TextureMipData& data, uint32 mipRowPitch) override
    Parameters
    int32 arrayIndex

    Array slice index.

    int32 mipMapIndex

    Mip map index.

    TextureMipData data

    Output mip data.

    uint32 mipRowPitch

    Output mip data row pitch to use. Use 0 to use the pitch from the internal GPU storage.

    Returns
    bool

    True if failed, otherwise false.

    Overrides
    GPUTexture::GetData(int32 arrayIndex, int32 mipMapIndex, TextureMipData& data, uint32 mipRowPitch = 0)

    GetHandle()

    Gets the Vulkan image handle.

    Declaration
    public VkImage GetHandle() const
    Returns
    VkImage

    GetNativePtr()

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

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

    The pointer.

    Overrides
    GPUTexture::GetNativePtr()

    OnInit()

    Declaration
    protected virtual bool OnInit() override
    Returns
    bool

    Overrides
    GPUTexture::OnInit()

    OnReleaseGPU()

    Releases GPU resource data (implementation).

    Declaration
    protected virtual void OnReleaseGPU() override
    Overrides
    GPUTexture::OnReleaseGPU()

    OnResidentMipsChanged()

    Declaration
    protected virtual void OnResidentMipsChanged() override
    Overrides
    GPUTexture::OnResidentMipsChanged()

    View(int32 arrayOrDepthIndex)

    Gets the view to the surface at index in an array.

    To use per depth/array slice view you need to specify the GPUTextureFlags.PerSliceViews when creating the resource.

    Declaration
    public virtual GPUTextureView* View(int32 arrayOrDepthIndex) const override
    Parameters
    int32 arrayOrDepthIndex

    The index of the surface in an array (or depth slice index).

    Returns
    GPUTextureView

    The view to the surface at index in an array.

    Overrides
    GPUTexture::View(int32 arrayOrDepthIndex)

    View(int32 arrayOrDepthIndex, int32 mipMapIndex)

    Gets the view to the mip map surface at index in an array.

    To use per mip map view you need to specify the GPUTextureFlags.PerMipViews when creating the resource.

    Declaration
    public virtual GPUTextureView* View(int32 arrayOrDepthIndex, int32 mipMapIndex) const override
    Parameters
    int32 arrayOrDepthIndex

    The index of the surface in an array (or depth slice index).

    int32 mipMapIndex

    Index of the mip level.

    Returns
    GPUTextureView

    The view to the surface at index in an array.

    Overrides
    GPUTexture::View(int32 arrayOrDepthIndex, int32 mipMapIndex)

    ViewArray()

    Gets the view to the array of surfaces

    To use array texture view you need to create render target as an array.

    Declaration
    public virtual GPUTextureView* ViewArray() const override
    Returns
    GPUTextureView

    The view to the array of surfaces.

    Overrides
    GPUTexture::ViewArray()

    ViewReadOnlyDepth()

    Gets the view to the texture as read-only depth/stencil buffer. Valid only if graphics device supports it and the texture uses depth/stencil.

    Declaration
    public virtual GPUTextureView* ViewReadOnlyDepth() const override
    Returns
    GPUTextureView

    The view to the depth-stencil resource descriptor as read-only depth.

    Overrides
    GPUTexture::ViewReadOnlyDepth()

    ViewVolume()

    Gets the view to the volume texture (3D).

    To use volume texture view you need to create render target as a volume resource (3D texture with Depth> 1).

    Declaration
    public virtual GPUTextureView* ViewVolume() const override
    Returns
    GPUTextureView

    The view to the volume texture.

    Overrides
    GPUTexture::ViewVolume()
    • Improve this Doc
    • View Source
    In This Article
    Back to top Copyright © 2012-2024 Wojciech Figat