Skip to content

Commit e1915a0

Browse files
committed
sdl_glimp: only read GL_MAX_UNIFORM_BLOCK_SIZE when GL_ARB_uniform_buffer_object is available
1 parent f2c030a commit e1915a0

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/engine/sys/sdl_glimp.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2032,9 +2032,10 @@ static void GLimp_InitExtensions()
20322032
glEnable( GL_DEBUG_OUTPUT_SYNCHRONOUS );
20332033
}
20342034

2035-
// Shader limits
2036-
glGetIntegerv( GL_MAX_UNIFORM_BLOCK_SIZE, &glConfig2.maxUniformBlockSize );
2035+
// Shader limits.
2036+
// From GL_ARB_vertex_shader.
20372037
glGetIntegerv( GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB, &glConfig2.maxVertexUniforms );
2038+
// From GL_ARB_vertex_program.
20382039
glGetIntegerv( GL_MAX_VERTEX_ATTRIBS_ARB, &glConfig2.maxVertexAttribs );
20392040

20402041
int reservedComponents = 36 * 10; // approximation how many uniforms we have besides the bone matrices
@@ -2363,6 +2364,12 @@ static void GLimp_InitExtensions()
23632364
// made required since OpenGL 3.1
23642365
glConfig2.uniformBufferObjectAvailable = LOAD_EXTENSION_WITH_TEST( ExtFlag_CORE, ARB_uniform_buffer_object, r_arb_uniform_buffer_object.Get() );
23652366

2367+
// Shader limits.
2368+
if ( glConfig2.uniformBufferObjectAvailable )
2369+
{
2370+
glGetIntegerv( GL_MAX_UNIFORM_BLOCK_SIZE, &glConfig2.maxUniformBlockSize );
2371+
}
2372+
23662373
// made required in OpenGL 3.0
23672374
glConfig2.mapBufferRangeAvailable = LOAD_EXTENSION_WITH_TEST( ExtFlag_CORE, ARB_map_buffer_range, r_arb_map_buffer_range.Get() );
23682375

0 commit comments

Comments
 (0)