mirror of
https://github.com/MobileGL-Dev/MobileGlues.git
synced 2025-09-22 02:32:29 -04:00
[Fix] (getter.cpp): Let GL_MAX_TEXTURE_IMAGE_UNITS of glGetIntegerv return a bigger value. Add GL_MAJOR_VERSION and GL_MINOR_VERSION process.
Signed-off-by: BZLZHH <admin@bzlzhh.top>
This commit is contained in:
parent
fbfa93d814
commit
b20668c6ff
@ -12,34 +12,49 @@
|
|||||||
void glGetIntegerv(GLenum pname, GLint *params) {
|
void glGetIntegerv(GLenum pname, GLint *params) {
|
||||||
LOG()
|
LOG()
|
||||||
LOG_D("glGetIntegerv, pname: %s", glEnumToString(pname))
|
LOG_D("glGetIntegerv, pname: %s", glEnumToString(pname))
|
||||||
if (pname == GL_CONTEXT_PROFILE_MASK) {
|
switch (pname) {
|
||||||
(*params) = GL_CONTEXT_CORE_PROFILE_BIT;
|
case GL_CONTEXT_PROFILE_MASK:
|
||||||
return;
|
(*params) = GL_CONTEXT_CORE_PROFILE_BIT;
|
||||||
}
|
break;
|
||||||
if (pname == GL_NUM_EXTENSIONS) {
|
case GL_NUM_EXTENSIONS:
|
||||||
static GLint num_extensions = -1;
|
static GLint num_extensions = -1;
|
||||||
if (num_extensions == -1) {
|
if (num_extensions == -1) {
|
||||||
const GLubyte* ext_str = glGetString(GL_EXTENSIONS);
|
const GLubyte* ext_str = glGetString(GL_EXTENSIONS);
|
||||||
if (ext_str) {
|
if (ext_str) {
|
||||||
char* copy = strdup((const char*)ext_str);
|
char* copy = strdup((const char*)ext_str);
|
||||||
char* token = strtok(copy, " ");
|
char* token = strtok(copy, " ");
|
||||||
num_extensions = 0;
|
num_extensions = 0;
|
||||||
while (token) {
|
while (token) {
|
||||||
num_extensions++;
|
num_extensions++;
|
||||||
token = strtok(nullptr, " ");
|
token = strtok(nullptr, " ");
|
||||||
|
}
|
||||||
|
free(copy);
|
||||||
|
} else {
|
||||||
|
num_extensions = 0;
|
||||||
}
|
}
|
||||||
free(copy);
|
|
||||||
} else {
|
|
||||||
num_extensions = 0;
|
|
||||||
}
|
}
|
||||||
|
(*params) = num_extensions;
|
||||||
|
break;
|
||||||
|
case GL_MAJOR_VERSION:
|
||||||
|
(*params) = 4;
|
||||||
|
break;
|
||||||
|
case GL_MINOR_VERSION:
|
||||||
|
(*params) = 0;
|
||||||
|
break;
|
||||||
|
case GL_MAX_TEXTURE_IMAGE_UNITS: {
|
||||||
|
LOAD_GLES_FUNC(glGetIntegerv)
|
||||||
|
int es_params = 16;
|
||||||
|
gles_glGetIntegerv(pname, &es_params);
|
||||||
|
CHECK_GL_ERROR
|
||||||
|
(*params) = es_params * 2;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
(*params) = num_extensions;
|
default:
|
||||||
return;
|
LOAD_GLES_FUNC(glGetIntegerv)
|
||||||
|
gles_glGetIntegerv(pname, params);
|
||||||
|
LOG_D(" -> %d",*params)
|
||||||
|
CHECK_GL_ERROR
|
||||||
}
|
}
|
||||||
LOAD_GLES_FUNC(glGetIntegerv)
|
|
||||||
gles_glGetIntegerv(pname, params);
|
|
||||||
LOG_D(" -> %d",*params)
|
|
||||||
CHECK_GL_ERROR
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GLenum glGetError() {
|
GLenum glGetError() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user