20struct TextureStreamData;
40 void Unload(
const Resources::ResourceId
id)
override;
51 Resources::ResourceId
id;
Definition textureloader.h:23
ResourceLoader::ResourceInitOutput InitializeResource(const ResourceLoadJob &job, const Ptr< IO::Stream > &stream) override
load texture
Definition textureloader.cc:195
CoreGraphics::CmdBufferPoolId asyncHandoverPool
Definition textureloader.h:69
CoreGraphics::CmdBufferPoolId immediateHandoverPool
Definition textureloader.h:69
void UpdateLoaderSyncState() override
Update intermediate loaded state.
Definition textureloader.cc:427
friend void FinishMips(TextureLoader *loader, TextureStreamData *streamData, uint mipBits, const CoreGraphics::TextureId texture, const char *name)
CoreGraphics::CmdBufferPoolId asyncTransferPool
Definition textureloader.h:69
CoreGraphics::CmdBufferPoolId immediateTransferPool
Definition textureloader.h:69
virtual ~TextureLoader()
destructor
Definition textureloader.cc:182
uint LodMask(const _StreamData &stream, float lod, bool async) const override
Create load mask based on LOD.
Definition textureloader.cc:453
Threading::SafeQueue< MipLoadMainThread > mipLoadsToSubmit
Definition textureloader.h:56
ResourceLoader::ResourceStreamOutput StreamResource(const ResourceLoadJob &job) override
Stream texture.
Definition textureloader.cc:278
Util::HashTable< Resources::ResourceId, Util::Array< MipHandoverLoaderThread > > mipHandovers
Definition textureloader.h:66
TextureLoader()
constructor
Definition textureloader.cc:160
void Unload(const Resources::ResourceId id) override
unload texture
Definition textureloader.cc:414
Threading::CriticalSection handoverLock
Definition textureloader.h:67
__DeclareClass(TextureLoader)
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition ptr.h:38
Definition resourceloader.h:60
bool async
Definition resourceloader.h:291
Critical section objects are used to protect a portion of code from parallel execution.
Thread-safe version of Util::Queue.
Definition safequeue.h:27
Nebula's dynamic array class.
Definition array.h:60
Organizes key/value pairs by a hash code.
Definition hashtable.h:42
Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
Definition accelerationstructure.h:24
Definition commandbuffer.h:155
Definition commandbuffer.h:101
texture type
Definition texture.h:25
Definition textureloader.h:60
uint64 handoverSubmissionId
Definition textureloader.h:61
uint bits
Definition textureloader.h:62
Util::Array< Memory::RangeAllocation > rangesToFree
Definition textureloader.h:63
CoreGraphics::CmdBufferId uploadBuffer
Definition textureloader.h:64
CoreGraphics::CmdBufferId receiveBuffer
Definition textureloader.h:64
Definition textureloader.h:50
uint bits
Definition textureloader.h:52
CoreGraphics::CmdBufferId graphicsCmdBuf
Definition textureloader.h:54
Resources::ResourceId id
Definition textureloader.h:51
CoreGraphics::CmdBufferId transferCmdBuf
Definition textureloader.h:54
Util::Array< Memory::RangeAllocation > rangesToFlush
Definition textureloader.h:53
Definition textureloader.cc:15
Definition resourceloader.h:134
Definition resourceloader.h:140
Definition resourceloader.h:164
Definition resourceloader.h:151
unsigned int uint
Definition types.h:31
uint64_t uint64
Definition types.h:36