mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 20:08:06 +02:00
mesa: Don't advertise GLES extensions in GL contexts
glGetStringi(GL_EXTENSIONS) failed to respect the context's API, and so
returned all internally enabled GLES extensions from a GL context.
Likewise, glGetIntegerv(GL_NUM_EXTENSIONS) also failed to repsect the
context's API.
Note: This is a candidate for the 8.0 and 9.0 branches.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit f29a4b0157)
Conflicts:
src/mesa/main/extensions.c
This commit is contained in:
parent
1b1975e3af
commit
d788066575
1 changed files with 6 additions and 5 deletions
|
|
@ -916,7 +916,7 @@ _mesa_get_extension_count(struct gl_context *ctx)
|
|||
|
||||
base = (GLboolean *) &ctx->Extensions;
|
||||
for (i = extension_table; i->name != 0; ++i) {
|
||||
if (base[i->offset]) {
|
||||
if (base[i->offset] && (i->api_set & (1 << ctx->API))) {
|
||||
ctx->Extensions.Count++;
|
||||
}
|
||||
}
|
||||
|
|
@ -939,10 +939,11 @@ _mesa_get_enabled_extension(struct gl_context *ctx, GLuint index)
|
|||
base = (GLboolean*) &ctx->Extensions;
|
||||
n = 0;
|
||||
for (i = extension_table; i->name != 0; ++i) {
|
||||
if (n == index && base[i->offset]) {
|
||||
return (GLubyte*) i->name;
|
||||
} else if (base[i->offset]) {
|
||||
++n;
|
||||
if (base[i->offset] & (i->api_set & (1 << ctx->API))) {
|
||||
if (n == index)
|
||||
return (const GLubyte*) i->name;
|
||||
else
|
||||
++n;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue