GLSHADERSTORAGEBLOCK(3G)

🌸 NAME 🌸

Hey bestie, welcome to the GLSHADERSTORAGEBLOCK(3G) page πŸ’… β€” this is all about glShaderStorageBlockBinding, aka the function that lets you change an active shader storage block binding. Main character energy fr fr. ✨


✨ C SPECIFICATION ✨

void glShaderStorageBlockBinding(GLuint program,
                                 GLuint storageBlockIndex,
                                 GLuint storageBlockBinding);

πŸŽ€ PARAMETERS πŸŽ€

  • program β€” the name of the program containing the block whose binding you're changing, bestie. 🫢
  • storageBlockIndex β€” the index storage block within the program. Yes, that exact phrase is lowkey the whole tea. ✨
  • storageBlockBinding β€” the index storage block binding to associate with the specified storage block. Iconic. πŸ’«

πŸ’– DESCRIPTION πŸ’–

Okay so glShaderStorageBlockBinding changes the active shader storage block with an assigned index of storageBlockIndex in program object program. storageBlockIndex must be an active shader storage block index in program. storageBlockBinding must be less than the value of GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS.

If successful, glShaderStorageBlockBinding specifies that program will use the data store of the buffer object bound to the binding point storageBlockBinding to read and write the values of the buffer variables in the shader storage block identified by storageBlockIndex. That's the whole vibe. πŸ’–


πŸ’€ ERRORS πŸ’€

Bestie, these are the error states. Not cute, but important. 🫢
  • GL_INVALID_VALUE is generated if program is not the name of either a program or shader object.
  • GL_INVALID_OPERATION is generated if program is the name of a shader object.
  • GL_INVALID_VALUE is generated if storageBlockIndex is not an active shader storage block index in program, or if storageBlockBinding is greater than or equal to the value of MAX_SHADER_STORAGE_BUFFER_BINDINGS.

πŸ” ASSOCIATED GETS πŸ”

  • glGet() with arguments GL_SHADER_STORAGE_BUFFER_BINDING, GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS, GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS, GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS, GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS, GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS or GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS, GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, or GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES.

🌈 VERSION SUPPORT 🌈

Version check, bestie! For Function / Feature Name glShaderStorageBlockBinding, the OpenGL Version tea is:

  • OpenGL 2.0: -
  • OpenGL 2.1: -
  • OpenGL 3.0: -
  • OpenGL 3.1: -
  • OpenGL 3.2: -
  • OpenGL 3.3: -
  • OpenGL 4.0: -
  • OpenGL 4.1: -
  • OpenGL 4.2: -
  • OpenGL 4.3: βœ”
  • OpenGL 4.4: βœ”
  • OpenGL 4.5: βœ”

So it's giving "late bloomer but absolutely slays from 4.3 onward." πŸ’…


πŸ¦‹ SEE ALSO πŸ¦‹

No entries here, bestie β€” the SEE ALSO section is literally empty. 🫢


Copyright Β© 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.


Copyright Β© 2014 Khronos Group


Okay that’s the whole page, bestie. This cutie came from [FIXME: source] and is dated 08/09/2021. Bye, go bind those blocks responsibly! πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from