Loading...
Searching...
No Matches
score::gfx::ProcessUBO Struct Reference

UBO specific to individual processes / nodes. More...

Detailed Description

UBO specific to individual processes / nodes.

alignas(4) because the enclosing #pragma pack(1) drops the struct's alignment to 1 while every member is a 4-byte type sitting at a naturally 4-aligned offset (time 0, ... renderSize 24, date 32, numWorkgroups 48). The packing changes no byte of the layout – it only removes the alignment guarantee, which lets Node::standardUBO land on an odd address; UBSan then flags the std::copy_n(renderer.currentDate, 4, n.standardUBO.date) store in RenderedRawRasterPipelineNode's update path as a misaligned store to a float *. Keeping the alignment at 4 leaves both sizeof and every member offset untouched, so the GPU-side std140 image is unchanged.

Public Attributes

float time {}
 
float timeDelta {}
 
float progress {}
 
float sampleRate {}
 
int32_t passIndex {}
 
int32_t frameIndex {}
 
float renderSize [2] {2048, 2048}
 
float date [4] {0.f, 0.f, 0.f, 0.f}
 
uint32_t numWorkgroups [3] {}
 
int32_t viewIndex {}
 

The documentation for this struct was generated from the following file: