Skip to content

Commit 828ca92

Browse files
MeFisto94stephengold
authored andcommitted
UBO: Re-order the caps detection for a more clean code.
1 parent 5100d0b commit 828ca92

1 file changed

Lines changed: 13 additions & 13 deletions

File tree

jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -502,19 +502,25 @@ private void loadCapabilitiesCommon() {
502502
}
503503
}
504504

505+
if (hasExtension("GL_OES_geometry_shader") || hasExtension("GL_EXT_geometry_shader")) {
506+
caps.add(Caps.GeometryShader);
507+
}
508+
509+
if (hasExtension("GL_OES_tessellation_shader") || hasExtension("GL_EXT_tessellation_shader")) {
510+
caps.add(Caps.TesselationShader);
511+
}
512+
505513
if (hasExtension("GL_ARB_shader_storage_buffer_object")) {
506514
caps.add(Caps.ShaderStorageBufferObject);
507515
limits.put(Limits.ShaderStorageBufferObjectMaxBlockSize, getInteger(GL4.GL_MAX_SHADER_STORAGE_BLOCK_SIZE));
508-
if (hasExtension("GL_ARB_compute_shader" ) || caps.contains(Caps.OpenGL43)) {
509-
limits.put(Limits.ShaderStorageBufferObjectMaxComputeBlocks, getInteger(GL4.GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS));
510-
}
511-
if (hasExtension("GL_ARB_geometry_shader_4") || caps.contains(Caps.OpenGL32)) {
516+
// Commented out until we support ComputeShaders and the ComputeShader Cap
517+
// limits.put(Limits.ShaderStorageBufferObjectMaxComputeBlocks, getInteger(GL4.GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS));
518+
if (caps.contains(Caps.GeometryShader)) {
512519
limits.put(Limits.ShaderStorageBufferObjectMaxGeometryBlocks, getInteger(GL4.GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS));
513520
}
514521
limits.put(Limits.ShaderStorageBufferObjectMaxFragmentBlocks, getInteger(GL4.GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS));
515522
limits.put(Limits.ShaderStorageBufferObjectMaxVertexBlocks, getInteger(GL4.GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS));
516-
517-
if (hasExtension("GL_ARB_tessellation_shader") || caps.contains(Caps.OpenGL40)) {
523+
if (caps.contains(Caps.TesselationShader)) {
518524
limits.put(Limits.ShaderStorageBufferObjectMaxTessControlBlocks, getInteger(GL4.GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS));
519525
limits.put(Limits.ShaderStorageBufferObjectMaxTessEvaluationBlocks, getInteger(GL4.GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS));
520526
}
@@ -524,20 +530,14 @@ private void loadCapabilitiesCommon() {
524530
if (hasExtension("GL_ARB_uniform_buffer_object")) {
525531
caps.add(Caps.UniformBufferObject);
526532
limits.put(Limits.UniformBufferObjectMaxBlockSize, getInteger(GL3.GL_MAX_UNIFORM_BLOCK_SIZE));
527-
if (hasExtension("GL_ARB_geometry_shader_4") || caps.contains(Caps.OpenGL32)) {
533+
if (caps.contains(Caps.GeometryShader)) {
528534
limits.put(Limits.UniformBufferObjectMaxGeometryBlocks, getInteger(GL3.GL_MAX_GEOMETRY_UNIFORM_BLOCKS));
529535
}
530536
limits.put(Limits.UniformBufferObjectMaxFragmentBlocks, getInteger(GL3.GL_MAX_FRAGMENT_UNIFORM_BLOCKS));
531537
limits.put(Limits.UniformBufferObjectMaxVertexBlocks, getInteger(GL3.GL_MAX_VERTEX_UNIFORM_BLOCKS));
532538
}
533539

534-
if (hasExtension("GL_OES_geometry_shader") || hasExtension("GL_EXT_geometry_shader")) {
535-
caps.add(Caps.GeometryShader);
536-
}
537540

538-
if (hasExtension("GL_OES_tessellation_shader") || hasExtension("GL_EXT_tessellation_shader")) {
539-
caps.add(Caps.TesselationShader);
540-
}
541541

542542
if(caps.contains(Caps.OpenGL20)){
543543
caps.add(Caps.UnpackRowLength);

0 commit comments

Comments
 (0)