Diligent Engine
Loading...
Searching...
No Matches
Diligent::RadientTesseraMaterialBuffer Class Referencefinal

#include <RadientTesseraMaterialBuffer.hpp>

Public Member Functions

RadientTesseraMaterialBufferAllocation Allocate (const void *pData, Uint32 Size)
RADIENT_STATUS Prepare (IRenderDevice *pDevice, IDeviceContext *pContext)

Detailed Description

Thread-safe CPU allocator and render-thread GPU uploader for immutable Tessera material shader data. Stable allocation offsets survive buffer growth, while the buffer version identifies replacement GPU buffers.

Member Function Documentation

◆ Allocate()

RadientTesseraMaterialBufferAllocation Diligent::RadientTesseraMaterialBuffer::Allocate ( const void * pData,
Uint32 Size )

Allocates an aligned region and copies immutable shader data into the CPU shadow. This method may be called concurrently from worker threads.

◆ Prepare()

RADIENT_STATUS Diligent::RadientTesseraMaterialBuffer::Prepare ( IRenderDevice * pDevice,
IDeviceContext * pContext )

Creates or grows the GPU buffer and uploads all dirty material records. This method must only be called from the render thread.