FD3D12ResourceLocation

A very light-weight and cache friendly way of accessing a GPU resource.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

FRHIPoolResource

FD3D12DeviceChild

FNoncopyable

FD3D12ResourceLocation

References

Module

D3D12RHI

Header

/Engine/Source/Runtime/D3D12RHI/Public/D3D12Resources.h

Include

#include "D3D12Resources.h"

Syntax

class FD3D12ResourceLocation :
    public FRHIPoolResource,
    public FD3D12DeviceChild,
    public FNoncopyable

Remarks

A very light-weight and cache friendly way of accessing a GPU resource.

Variables

Name Description

Public variable

FD3D12BaseAlloc...

 

Allocator

Public variable

FD3D12PoolAlloc...

 

PoolAllocator

Public variable

FD3D12SegListAl...

 

SegListAllocator

Constructors

Name Description

Public function

FD3D12ResourceLocation

(
    FD3D12Device* Parent
)

Destructors

Name Description

Public function

~FD3D12ResourceLocation()

Functions

Name Description

Public function Static

void

 

Alias

(
    FD3D12ResourceLocation& Destinatio...,
    FD3D12ResourceLocation& Source
)

Oculus API Aliases textures so this allows 2+ resource locations to reference the same underlying resource.

Public function

void

 

AsFastAllocation

(
    FD3D12Resource* Resource,
    uint32 BufferSize,
    D3D12_GPU_VIRTUAL_ADDRESS GPUBase,
    void* CPUBase,
    uint64 ResourceOffsetBase,
    uint64 Offset,
    bool bMultiFrame
)

Public function

void

 

AsHeapAliased

(
    FD3D12Resource* Resource
)

Public function

void

 

AsStandAlone

(
    FD3D12Resource* Resource,
    uint64 InSize,
    bool bInIsTransient
)

Public function

void

 

Clear()

Public function

void

 

ClearAllocator()

Public function Const

void *

 

GetAddressForLLMTracking()

Get an address used by LLM to track the GPU allocation that this location represents.

Public function

FD3D12BaseAl...

 

GetAllocator()

Public function Const

EAllocatorTy...

 

GetAllocatorType()

Public function

FD3D12BlockA...

 

GetBlockAllocatorPrivateData()

Public function

FD3D12BuddyA...

 

GetBuddyAllocatorPrivateData()

Public function Const

D3D12_GPU_VI...

 

GetGPUVirtualAddress()

Public function Const

void *

 

GetMappedBaseAddress()

Public function Const

uint64

 

GetOffsetFromBaseOfResource()

Public function

FD3D12PoolAl...

 

GetPoolAllocator()

Public function

FD3D12PoolAl...

 

GetPoolAllocatorPrivateData()

Public function

FD3D12Reside...

 

GetResidencyHandle()

Public function Const

FD3D12Resour...

 

GetResource()

Public function

FD3D12SegLis...

 

GetSegListAllocator()

Public function

FD3D12SegLis...

 

GetSegListAllocatorPrivateData()

Public function Const

uint64

 

GetSize()

Public function Const

ResourceLoca...

 

GetType()

Getters.

Public function Const

bool

 

IsTransient()

Public function Const

const bool

 

IsValid()

Public function

bool

 

OnAllocationMoved

(
    FRHIPoolAllocationData* InNewD...
)

Pool allocation specific functions.

Public function Static

void

 

ReferenceNode

(
    FD3D12Device* NodeDevice,
    FD3D12ResourceLocation& Destinatio...,
    FD3D12ResourceLocation& Source
)

Public function

void

 

SetAllocator

(
    FD3D12BaseAllocatorType* Value
)

Public function

void

 

SetGPUVirtualAddress

(
    D3D12_GPU_VIRTUAL_ADDRESS Value
)

Public function

void

 

SetMappedBaseAddress

(
    void* Value
)

Public function

void

 

SetOffsetFromBaseOfResource

(
    uint64 Value
)

Public function

void

 

SetOwner

(
    FD3D12BaseShaderResource* InOw...
)

Setters.

Public function

void

 

SetPoolAllocator

(
    FD3D12PoolAllocator* Value
)

Public function

void

 

SetResource

(
    FD3D12Resource* Value
)

Public function

void

 

SetSegListAllocator

(
    FD3D12SegListAllocator* Value
)

Public function

void

 

SetSize

(
    uint64 Value
)

Public function

void

 

SetTransient

(
    bool bInTransient
)

Public function

void

 

SetType

(
    ResourceLocationType Value
)

Public function

void

 

Swap

(
    FD3D12ResourceLocation& Other
)

Public function Static

void

 

TransferOwnership

(
    FD3D12ResourceLocation& Destinatio...,
    FD3D12ResourceLocation& Source
)

Transfers the contents of 1 resource location to another, destroying the original but preserving the underlying resource.

Public function

void

 

UnlockPoolData()

Enums