@@ -506,12 +506,19 @@ private void loadCapabilitiesCommon() {
506506 if (hasExtension ("GL_ARB_shader_storage_buffer_object" )) {
507507 caps .add (Caps .ShaderStorageBufferObject );
508508 limits .put (Limits .ShaderStorageBufferObjectMaxBlockSize , getInteger (GL4 .GL_MAX_SHADER_STORAGE_BLOCK_SIZE ));
509- limits .put (Limits .ShaderStorageBufferObjectMaxComputeBlocks , getInteger (GL4 .GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS ));
510- limits .put (Limits .ShaderStorageBufferObjectMaxGeometryBlocks , getInteger (GL4 .GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS ));
509+ if (hasExtension ("GL_ARB_compute_shader" ) || caps .contains (Caps .OpenGL43 )) {
510+ limits .put (Limits .ShaderStorageBufferObjectMaxComputeBlocks , getInteger (GL4 .GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS ));
511+ }
512+ if (hasExtension ("GL_ARB_geometry_shader_4" ) || caps .contains (Caps .OpenGL32 )) {
513+ limits .put (Limits .ShaderStorageBufferObjectMaxGeometryBlocks , getInteger (GL4 .GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS ));
514+ }
511515 limits .put (Limits .ShaderStorageBufferObjectMaxFragmentBlocks , getInteger (GL4 .GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS ));
512516 limits .put (Limits .ShaderStorageBufferObjectMaxVertexBlocks , getInteger (GL4 .GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS ));
513- limits .put (Limits .ShaderStorageBufferObjectMaxTessControlBlocks , getInteger (GL4 .GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS ));
514- limits .put (Limits .ShaderStorageBufferObjectMaxTessEvaluationBlocks , getInteger (GL4 .GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS ));
517+
518+ if (hasExtension ("GL_ARB_tessellation_shader" ) || caps .contains (Caps .OpenGL40 )) {
519+ limits .put (Limits .ShaderStorageBufferObjectMaxTessControlBlocks , getInteger (GL4 .GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS ));
520+ limits .put (Limits .ShaderStorageBufferObjectMaxTessEvaluationBlocks , getInteger (GL4 .GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS ));
521+ }
515522 limits .put (Limits .ShaderStorageBufferObjectMaxCombineBlocks , getInteger (GL4 .GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS ));
516523 }
517524
0 commit comments