flowchart TD
D["SRV/UAV description
BUFFER_BYTE_OFFSET: Offset, Size in bytes"] --> W
L["legacy BUFFER description
FirstElement, NumElements"] -->|"x element size"| W
W["write_buffer_view: validate alignment,
Size 0 = to the end, bounds"] --> K{"view kind?"}
K -->|raw / structured| P["record: address + length
(shader reads through a pointer)"]
K -->|typed| X["texture buffer per 2^27 elements
+ first element in the record"]
X -->|R32G32B32| Y["+ texel shift 0-2
(SPIRV-Cross patch 0044)"]