mesa: add KHR_no_error support for flush mapped buffer functions

Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Timothy Arceri 2017-05-04 13:49:02 +10:00
parent 30d8dea602
commit 426e4765d2
4 changed files with 33 additions and 3 deletions

View file

@ -120,7 +120,7 @@
<param name="buffer" type="GLuint" />
</function>
<function name="FlushMappedNamedBufferRange">
<function name="FlushMappedNamedBufferRange" no_error="true">
<param name="buffer" type="GLuint" />
<param name="offset" type="GLintptr" />
<param name="length" type="GLsizeiptr" />

View file

@ -23,7 +23,7 @@
<return type="GLvoid *"/>
</function>
<function name="FlushMappedBufferRange" es2="3.0">
<function name="FlushMappedBufferRange" es2="3.0" no_error="true">
<param name="target" type="GLenum"/>
<param name="offset" type="GLintptr"/>
<param name="length" type="GLsizeiptr"/>

View file

@ -2830,6 +2830,19 @@ flush_mapped_buffer_range(struct gl_context *ctx,
MAP_USER);
}
void GLAPIENTRY
_mesa_FlushMappedBufferRange_no_error(GLenum target, GLintptr offset,
GLsizeiptr length)
{
GET_CURRENT_CONTEXT(ctx);
struct gl_buffer_object **bufObjPtr = get_buffer_target(ctx, target);
struct gl_buffer_object *bufObj = *bufObjPtr;
if (ctx->Driver.FlushMappedBufferRange)
ctx->Driver.FlushMappedBufferRange(ctx, offset, length, bufObj,
MAP_USER);
}
void GLAPIENTRY
_mesa_FlushMappedBufferRange(GLenum target, GLintptr offset,
GLsizeiptr length)
@ -2846,6 +2859,18 @@ _mesa_FlushMappedBufferRange(GLenum target, GLintptr offset,
"glFlushMappedBufferRange");
}
void GLAPIENTRY
_mesa_FlushMappedNamedBufferRange_no_error(GLuint buffer, GLintptr offset,
GLsizeiptr length)
{
GET_CURRENT_CONTEXT(ctx);
struct gl_buffer_object *bufObj = _mesa_lookup_bufferobj(ctx, buffer);
if (ctx->Driver.FlushMappedBufferRange)
ctx->Driver.FlushMappedBufferRange(ctx, offset, length, bufObj,
MAP_USER);
}
void GLAPIENTRY
_mesa_FlushMappedNamedBufferRange(GLuint buffer, GLintptr offset,
GLsizeiptr length)

View file

@ -310,12 +310,17 @@ _mesa_MapNamedBuffer_no_error(GLuint buffer, GLenum access);
void * GLAPIENTRY
_mesa_MapNamedBuffer(GLuint buffer, GLenum access);
void GLAPIENTRY
_mesa_FlushMappedBufferRange_no_error(GLenum target, GLintptr offset,
GLsizeiptr length);
void GLAPIENTRY
_mesa_FlushMappedBufferRange(GLenum target,
GLintptr offset, GLsizeiptr length);
void GLAPIENTRY
_mesa_FlushMappedNamedBufferRange_no_error(GLuint buffer, GLintptr offset,
GLsizeiptr length);
void GLAPIENTRY
_mesa_FlushMappedNamedBufferRange(GLuint buffer, GLintptr offset,
GLsizeiptr length);