|
@@ -871,7 +871,8 @@ typedef struct sg_limits {
|
|
int max_image_size_3d; // max width/height/depth of SG_IMAGETYPE_3D images
|
|
int max_image_size_3d; // max width/height/depth of SG_IMAGETYPE_3D images
|
|
int max_image_size_array; // max width/height of SG_IMAGETYPE_ARRAY images
|
|
int max_image_size_array; // max width/height of SG_IMAGETYPE_ARRAY images
|
|
int max_image_array_layers; // max number of layers in SG_IMAGETYPE_ARRAY images
|
|
int max_image_array_layers; // max number of layers in SG_IMAGETYPE_ARRAY images
|
|
- int max_vertex_attrs; // <= SG_MAX_VERTEX_ATTRIBUTES (only on some GLES2 impls)
|
|
|
|
|
|
+ int max_vertex_attrs; // <= SG_MAX_VERTEX_ATTRIBUTES or less (on some GLES2 impls)
|
|
|
|
+ int gl_max_vertex_uniform_vectors; // <= GL_MAX_VERTEX_UNIFORM_VECTORS (only on GL backends)
|
|
} sg_limits;
|
|
} sg_limits;
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -5517,6 +5518,9 @@ _SOKOL_PRIVATE void _sg_gl_init_limits(void) {
|
|
gl_int = SG_MAX_VERTEX_ATTRIBUTES;
|
|
gl_int = SG_MAX_VERTEX_ATTRIBUTES;
|
|
}
|
|
}
|
|
_sg.limits.max_vertex_attrs = gl_int;
|
|
_sg.limits.max_vertex_attrs = gl_int;
|
|
|
|
+ glGetIntegerv(GL_MAX_VERTEX_UNIFORM_VECTORS, &gl_int);
|
|
|
|
+ _SG_GL_CHECK_ERROR();
|
|
|
|
+ _sg.limits.gl_max_vertex_uniform_vectors = gl_int;
|
|
#if !defined(SOKOL_GLES2)
|
|
#if !defined(SOKOL_GLES2)
|
|
if (!_sg.gl.gles2) {
|
|
if (!_sg.gl.gles2) {
|
|
glGetIntegerv(GL_MAX_3D_TEXTURE_SIZE, &gl_int);
|
|
glGetIntegerv(GL_MAX_3D_TEXTURE_SIZE, &gl_int);
|