-
Notifications
You must be signed in to change notification settings - Fork 329
Closed
Labels
Milestone
Description
OpenGL ES has the following limits that may constrain the number of storage buffers and storage textures over and above the individual limits (GL_MAX_*_IMAGE_UNIFORMS
and GL_MAX_*_SHADER_STORAGE_BLOCKS
):
Limit | Minimum | Description |
---|---|---|
GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES |
4 | Limit on active image units, shader storage blocks, and frag. outputs |
GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS |
4 | Max. no. of shader storage buffer bindings in the context |
GL_MAX_COMBINED_IMAGE_UNIFORMS |
4 | No. of image variables in all shaders |
The relevant spec text for each:
A link error will be generated if the sum of the number of active image uniforms
used in all shaders, the number of active shader storage blocks, and the number
of active fragment shader outputs exceeds the implementation-dependent value of
MAX_COMBINED_SHADER_OUTPUT_RESOURCES.
Additionally, a program will fail to link
if the sum of the number of active shader storage blocks referenced by each shader
stage in a program exceeds the value of the implementation-dependent limit MAX_-
COMBINED_SHADER_STORAGE_BLOCKS. If a shader storage block in a program is
referenced by multiple shaders, each such reference counts separately against this
combined limit.
All active shaders combined cannot use more than the value of
MAX_COMBINED_IMAGE_UNIFORMS image uniform variables.