Loading...
Searching...
No Matches
IsfBindingsBuilder.hpp
void bindUpstreamImagesFromGeometry(GraphicsStorageResources &store, const ossia::geometry &geometry, QRhiShaderResourceBindings *srb)
Wire read-only csf_image_input storage images to an upstream geometry's published auxiliary_textures.
Definition IsfBindingsBuilder.cpp:852
int64_t glslTypeSizeBytes(std::string_view type) noexcept
Byte size of a single GLSL primitive type as used for SSBO element strides in this codebase.
Definition IsfBindingsBuilder.cpp:16
int64_t std430ArrayStride(std::string_view type) noexcept
std430 array stride for a GLSL primitive type when laid out as T array[] inside a shader storage bloc...
Definition IsfBindingsBuilder.cpp:35
QVarLengthArray< QRhiShaderResourceBinding, 8 > buildExtraBindings(const GraphicsStorageResources &store)
Produce the QRhiShaderResourceBinding list for the graphics pipeline.
Definition IsfBindingsBuilder.cpp:613
void swapPersistentSSBOs(GraphicsStorageResources &store, QRhiShaderResourceBindings &srb)
Swap current/prev for all persistent SSBOs and storage images, then update the SRB.
Definition IsfBindingsBuilder.cpp:1037
void bindUpstreamBuffers(RenderList &renderer, const std::vector< Port * > &inputPorts, GraphicsStorageResources &store, QRhiShaderResourceBindings *srb)
Wire read-only SSBOs to upstream geometry buffers.
Definition IsfBindingsBuilder.cpp:682
void collectGraphicsStorageResources(const isf::descriptor &desc, int firstBinding, GraphicsStorageResources &out)
Walk desc.inputs once and populate out with the storage buffers and images declared by the shader.
Definition IsfBindingsBuilder.cpp:183
void reapplyStorageBindings(const GraphicsStorageResources &store, QRhiShaderResourceBindings &srb)
Re-apply the current persistent-storage state to a single SRB.
Definition IsfBindingsBuilder.cpp:1014
QRhiShaderResourceBinding::StageFlags visibilityToStages(std::string_view v) noexcept
Decode an isf::storage_input::visibility string to Qt RHI stage flags.
Definition IsfBindingsBuilder.cpp:152
void bindUpstreamBuffersFromGeometry(QRhi &rhi, QRhiResourceUpdateBatch &res, GraphicsStorageResources &store, const ossia::geometry &geometry, QRhiShaderResourceBindings *srb)
Wire INPUTS storage_input / uniform_input bindings to upstream geometry's published auxiliary_buffers...
Definition IsfBindingsBuilder.cpp:903
void ensureStorageResources(QRhi &rhi, QRhiResourceUpdateBatch &res, const RenderList &renderer, const isf::descriptor &, GraphicsStorageResources &store, QSize renderSize)
Create missing buffers and textures.
Definition IsfBindingsBuilder.cpp:463
void swapPersistentSSBOsState(GraphicsStorageResources &store)
Swap current/prev pointers in store without touching any SRB.
Definition IsfBindingsBuilder.cpp:1004
int64_t std430LayoutSize(const std::vector< isf::storage_input::layout_field > &layout) noexcept
Compute the std430 element size of a layout (vector of {name,type} field entries),...
Definition IsfBindingsBuilder.cpp:50
One SSBO attached to a graphics pipeline.
Definition IsfBindingsBuilder.hpp:34
std::string access
"read_only" / "write_only" / "read_write"
Definition IsfBindingsBuilder.hpp:36
std::string buffer_usage
"", "indirect_draw", "indirect_draw_indexed"
Definition IsfBindingsBuilder.hpp:37
bool persistent
Ping-pong swapped every frame.
Definition IsfBindingsBuilder.hpp:38
std::string name
Base GLSL identifier (e.g.
Definition IsfBindingsBuilder.hpp:35
int prev_binding
Binding of prev (only set when persistent)
Definition IsfBindingsBuilder.hpp:52
int64_t size
Buffer size in bytes (0 = auto from layout)
Definition IsfBindingsBuilder.hpp:40
bool owned
This SSBO owns buffer and prev (releases them)
Definition IsfBindingsBuilder.hpp:39
One storage image attached to a graphics pipeline.
Definition IsfBindingsBuilder.hpp:67
bool is_array
image2DArray — N-layer array texture
Definition IsfBindingsBuilder.hpp:73
int depth
Explicit Z dimension for 3D textures; 0 = use default (16)
Definition IsfBindingsBuilder.hpp:75
bool persistent
Ping-pong two textures swapped every frame.
Definition IsfBindingsBuilder.hpp:74
QRhiTexture * texture
Current (write / read_write) slot.
Definition IsfBindingsBuilder.hpp:78
int layers
Layer count for is_array (0 = use parser-supplied default)
Definition IsfBindingsBuilder.hpp:76
int prev_binding
Binding of prev (only set when persistent)
Definition IsfBindingsBuilder.hpp:83
bool cubemap
imageCube — 6-layer cubemap storage image
Definition IsfBindingsBuilder.hpp:72
std::string access
"read_only" / "write_only" / "read_write"
Definition IsfBindingsBuilder.hpp:69
QRhiTexture * prev
Previous frame (read-only); only set when persistent.
Definition IsfBindingsBuilder.hpp:79
Aggregate of all graphics-visible storage resources for a node.
Definition IsfBindingsBuilder.hpp:115
QRhiBuffer * sentinelBuffer
StorageBuffer usage only.
Definition IsfBindingsBuilder.hpp:148
QRhiBuffer * sentinelUniformBuffer
UniformBuffer usage only (GL rejects combined usages)
Definition IsfBindingsBuilder.hpp:149
One UBO sourced from an upstream Buffer port (uniform_input).
Definition IsfBindingsBuilder.hpp:97
bool owned
Always false for now: borrowed from upstream.
Definition IsfBindingsBuilder.hpp:100