mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 15:10:10 +01:00
mesa/es: Validate glGetBufferParameteriv pname in Mesa code rather than the ES wrapper
v2: Add proper core-profile and GLES3 filtering. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
93d109645a
commit
f9767dac9a
2 changed files with 6 additions and 10 deletions
|
|
@ -1874,13 +1874,6 @@
|
|||
<param name="pname" type="GLenum"/>
|
||||
<vector name="params" type="GLtype *" size="dynamic"/>
|
||||
</proto>
|
||||
|
||||
<desc name="pname">
|
||||
<value name="GL_BUFFER_SIZE"/>
|
||||
<value name="GL_BUFFER_USAGE"/>
|
||||
<value name="GL_BUFFER_ACCESS_OES" category="OES_mapbuffer"/>
|
||||
<value name="GL_BUFFER_MAPPED_OES" category="OES_mapbuffer"/>
|
||||
</desc>
|
||||
</template>
|
||||
|
||||
<template name="IsBuffer" direction="get">
|
||||
|
|
|
|||
|
|
@ -1311,17 +1311,20 @@ _mesa_GetBufferParameterivARB(GLenum target, GLenum pname, GLint *params)
|
|||
*params = _mesa_bufferobj_mapped(bufObj);
|
||||
return;
|
||||
case GL_BUFFER_ACCESS_FLAGS:
|
||||
if (!ctx->Extensions.ARB_map_buffer_range)
|
||||
if ((!_mesa_is_desktop_gl(ctx) || !ctx->Extensions.ARB_map_buffer_range)
|
||||
&& !_mesa_is_gles3(ctx))
|
||||
goto invalid_pname;
|
||||
*params = bufObj->AccessFlags;
|
||||
return;
|
||||
case GL_BUFFER_MAP_OFFSET:
|
||||
if (!ctx->Extensions.ARB_map_buffer_range)
|
||||
if ((!_mesa_is_desktop_gl(ctx) || !ctx->Extensions.ARB_map_buffer_range)
|
||||
&& !_mesa_is_gles3(ctx))
|
||||
goto invalid_pname;
|
||||
*params = (GLint) bufObj->Offset;
|
||||
return;
|
||||
case GL_BUFFER_MAP_LENGTH:
|
||||
if (!ctx->Extensions.ARB_map_buffer_range)
|
||||
if ((!_mesa_is_desktop_gl(ctx) || !ctx->Extensions.ARB_map_buffer_range)
|
||||
&& !_mesa_is_gles3(ctx))
|
||||
goto invalid_pname;
|
||||
*params = (GLint) bufObj->Length;
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue