#include <UploadingVirtualTexture.h>
|
| | FUploadingVirtualTexture (const FName &InName, FVirtualTextureBuiltData *InData, int32 FirstMipToUse) |
| |
| virtual | ~FUploadingVirtualTexture () |
| |
| virtual uint32 | GetLocalMipBias (uint8 vLevel, uint32 vAddress) const override |
| |
| virtual bool | IsPageStreamed (uint8 vLevel, uint32 vAddress) const override |
| |
| virtual FVTRequestPageResult | RequestPageData (FRHICommandListBase &RHICmdList, const FVirtualTextureProducerHandle &ProducerHandle, uint8 LayerMask, uint8 vLevel, uint64 vAddress, EVTRequestPagePriority Priority) override |
| |
| virtual IVirtualTextureFinalizer * | ProducePageData (FRHICommandListBase &RHICmdList, ERHIFeatureLevel::Type FeatureLevel, EVTProducePageFlags Flags, const FVirtualTextureProducerHandle &ProducerHandle, uint8 LayerMask, uint8 vLevel, uint64 vAddress, uint64 RequestHandle, const FVTProduceTargetLayer *TargetLayers) override |
| |
| virtual void | GatherProducePageDataTasks (FVirtualTextureProducerHandle const &ProducerHandle, FGraphEventArray &InOutTasks) const override |
| |
| virtual void | GatherProducePageDataTasks (uint64 RequestHandle, FGraphEventArray &InOutTasks) const override |
| |
| virtual void | DumpToConsole (bool verbose) override |
| |
| const FName & | GetName () const |
| |
| const FVirtualTextureBuiltData * | GetVTData () const |
| |
| FVTCodecAndStatus | GetCodecForChunk (FGraphEventArray &OutCompletionEvents, uint32 ChunkIndex, EVTRequestPagePriority Priority) |
| |
| FVTDataAndStatus | ReadData (FGraphEventArray &OutCompletionEvents, uint32 ChunkIndex, size_t Offset, size_t Size, EVTRequestPagePriority Priority) |
| |
| | IVirtualTexture () |
| |
| virtual | ~IVirtualTexture () |
| |
| virtual void | OnRequestsCompleted () |
| |
◆ FUploadingVirtualTexture()
◆ ~FUploadingVirtualTexture()
| FUploadingVirtualTexture::~FUploadingVirtualTexture |
( |
| ) |
|
|
virtual |
◆ DumpToConsole()
| void FUploadingVirtualTexture::DumpToConsole |
( |
bool |
verbose | ) |
|
|
overridevirtual |
◆ GatherProducePageDataTasks() [1/2]
◆ GatherProducePageDataTasks() [2/2]
Collect all task graph events related to a request.
Reimplemented from IVirtualTexture.
◆ GetCodecForChunk()
◆ GetLocalMipBias()
| uint32 FUploadingVirtualTexture::GetLocalMipBias |
( |
uint8 |
vLevel, |
|
|
uint32 |
vAddress |
|
) |
| const |
|
overridevirtual |
Gives a localized mip bias for the given local vAddress. This is used to implement sparse VTs, the bias is number of mip levels to add to reach a resident page Must be thread-safe, may be called from any thread
- Parameters
-
| vLevel | The mipmap level to check |
| vAddress | Virtual address to check |
- Returns
- Mip bias to be added to vLevel to reach a resident page at the given address
Reimplemented from IVirtualTexture.
◆ GetName()
| const FName & FUploadingVirtualTexture::GetName |
( |
| ) |
const |
|
inline |
◆ GetVTData()
◆ IsPageStreamed()
Whether data for the given page is streamed (e.g. loading from disk).
Implements IVirtualTexture.
◆ ProducePageData()
Upload page data to the cache, data must have been previously requested, and reported either 'Available' or 'Pending' The system will attempt to call RequestPageData/ProducePageData only once for a given vLevel/vAddress, with all the requested layers set in LayerMask, this is important for certain types of procedural producers that may generate multiple layers of VT data at the same time It's valid to produce 'Pending' page data, but in this case ProducePageData may block until data is ready Only called from render thread
- Parameters
-
| RHICmdList | Used to write any commands required to generate the VT page data |
| FeatureLevel | The current RHI feature level |
| ProducerHandle | Handle to this producer |
| LayerMask | Mask of requested layers; can be used to only produce data for these layers as an optimization, or ignored if all layers are logically produced together |
| vLevel | The mipmap level of the data |
| vAddress | Bit-interleaved x,y page indexes |
| RequestHandle | opaque handle returned from 'RequestPageData' |
| TargetLayers | Array of 'FVTProduceTargetLayer' structs, gives location where each layer should write data |
- Returns
- a 'IVirtualTextureFinalizer' which must be finalized to complete the operation
Implements IVirtualTexture.
◆ ReadData()
◆ RequestPageData()
Makes a request for the given page data. For data sources that can generate data immediately, it's reasonable for this method to do nothing, and simply return 'Available' Only called from render thread
- Parameters
-
| ProducerHandle | Handle to this producer, can be used as a UID for this producer for any internal caching mechanisms |
| LayerMask | Mask of requested layers |
| vLevel | The mipmap level of the data |
| vAddress | Bit-interleaved x,y page indexes |
| Priority | Priority of the request, used to drive async IO/task priority needed to generate data for request |
- Returns
- FVTRequestPageResult describing the availability of the request
Implements IVirtualTexture.
◆ FVirtualTextureCodec
The documentation for this class was generated from the following files: