Skip to content

CF_ShaderInfo

Category: graphics
GitHub: cute_shader_bytecode.h


Reflection info for a shader.

Struct Members Description
int num_samplers Number of samplers.
int num_storage_textures Number of readonly storage textures.
int num_storage_buffers Number of readonly storage buffers.
int num_readwrite_storage_textures Number of readwrite storage textures.
int num_readwrite_storage_buffers Number of readwrite storage buffers.
int num_images Number of images.
const char** image_names Name of each images.
int* image_binding_slots Binding slot of each image.
int num_uniforms Number of uniform blocks.
CF_ShaderUniformInfo* uniforms Information about each uniform block.
int num_uniform_members Number of uniform block members.
CF_ShaderUniformMemberInfo* uniform_members Members of all uniform blocks tightly packed (see CF_ShaderUniformInfo for more details).
int num_inputs Number of inputs for vertex shader.
CF_ShaderInputInfo* inputs Information about each vertex shader input.
int local_size[3] Compute workgroup size (zero for non-compute shaders). Metal pipelines dispatch with this.
int num_storage_image_infos Number of storage images (compute), readonly and read-write.
CF_ShaderResourceInfo* storage_image_infos Each storage image: name, set, binding, readonly. The GLES backend binds them by name.
int num_storage_buffer_infos Number of storage buffers (compute), readonly and read-write.
CF_ShaderResourceInfo* storage_buffer_infos Each storage buffer: name, set, binding, readonly.
int num_write_sites Number of write sites in a compute shader's GLSL ES output (zero elsewhere).
CF_ShaderWriteSite* write_sites The GLSL ES compute emulation's write sites, see CF_ShaderWriteSite.
int num_wgsl_bindings Number of bindings the WGSL source declares (zero without WGSL).
CF_ShaderWgslBinding* wgsl_bindings Every group/binding pair of the WGSL source, see CF_ShaderWgslBinding.
int num_wgsl_splits Number of split storage images in the WGSL source.
CF_ShaderWgslSplit* wgsl_splits Storage images split into a store side and a load side, see CF_ShaderWgslSplit.

CF_ShaderBytecode