mesa: add KHR_no_error support to copy buffer subdata functions
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
5e86bfaee3
commit
f9e6820652
|
@ -11,7 +11,7 @@
|
|||
<enum name="COPY_READ_BUFFER" value="0x8F36"/>
|
||||
<enum name="COPY_WRITE_BUFFER" value="0x8F37"/>
|
||||
|
||||
<function name="CopyBufferSubData" es2="3.0">
|
||||
<function name="CopyBufferSubData" es2="3.0" no_error="true">
|
||||
<param name="readTarget" type="GLenum"/>
|
||||
<param name="writeTarget" type="GLenum"/>
|
||||
<param name="readOffset" type="GLintptr"/>
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
<param name="data" type="const GLvoid *" />
|
||||
</function>
|
||||
|
||||
<function name="CopyNamedBufferSubData">
|
||||
<function name="CopyNamedBufferSubData" no_error="true">
|
||||
<param name="readBuffer" type="GLuint" />
|
||||
<param name="writeBuffer" type="GLuint" />
|
||||
<param name="readOffset" type="GLintptr" />
|
||||
|
|
|
@ -2348,6 +2348,24 @@ copy_buffer_sub_data(struct gl_context *ctx, struct gl_buffer_object *src,
|
|||
ctx->Driver.CopyBufferSubData(ctx, src, dst, readOffset, writeOffset, size);
|
||||
}
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_CopyBufferSubData_no_error(GLenum readTarget, GLenum writeTarget,
|
||||
GLintptr readOffset, GLintptr writeOffset,
|
||||
GLsizeiptr size)
|
||||
{
|
||||
GET_CURRENT_CONTEXT(ctx);
|
||||
|
||||
struct gl_buffer_object **src_ptr = get_buffer_target(ctx, readTarget);
|
||||
struct gl_buffer_object *src = *src_ptr;
|
||||
|
||||
struct gl_buffer_object **dst_ptr = get_buffer_target(ctx, writeTarget);
|
||||
struct gl_buffer_object *dst = *dst_ptr;
|
||||
|
||||
dst->MinMaxCacheDirty = true;
|
||||
ctx->Driver.CopyBufferSubData(ctx, src, dst, readOffset, writeOffset,
|
||||
size);
|
||||
}
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_CopyBufferSubData(GLenum readTarget, GLenum writeTarget,
|
||||
GLintptr readOffset, GLintptr writeOffset,
|
||||
|
@ -2370,6 +2388,21 @@ _mesa_CopyBufferSubData(GLenum readTarget, GLenum writeTarget,
|
|||
"glCopyBufferSubData");
|
||||
}
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_CopyNamedBufferSubData_no_error(GLuint readBuffer, GLuint writeBuffer,
|
||||
GLintptr readOffset,
|
||||
GLintptr writeOffset, GLsizeiptr size)
|
||||
{
|
||||
GET_CURRENT_CONTEXT(ctx);
|
||||
|
||||
struct gl_buffer_object *src = _mesa_lookup_bufferobj(ctx, readBuffer);
|
||||
struct gl_buffer_object *dst = _mesa_lookup_bufferobj(ctx, writeBuffer);
|
||||
|
||||
dst->MinMaxCacheDirty = true;
|
||||
ctx->Driver.CopyBufferSubData(ctx, src, dst, readOffset, writeOffset,
|
||||
size);
|
||||
}
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_CopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer,
|
||||
GLintptr readOffset, GLintptr writeOffset,
|
||||
|
|
|
@ -254,13 +254,20 @@ _mesa_GetBufferPointerv(GLenum target, GLenum pname, GLvoid **params);
|
|||
void GLAPIENTRY
|
||||
_mesa_GetNamedBufferPointerv(GLuint buffer, GLenum pname, GLvoid **params);
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_CopyBufferSubData_no_error(GLenum readTarget, GLenum writeTarget,
|
||||
GLintptr readOffset, GLintptr writeOffset,
|
||||
GLsizeiptr size);
|
||||
void GLAPIENTRY
|
||||
_mesa_CopyBufferSubData(GLenum readTarget, GLenum writeTarget,
|
||||
GLintptr readOffset, GLintptr writeOffset,
|
||||
GLsizeiptr size);
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_CopyNamedBufferSubData_no_error(GLuint readBuffer, GLuint writeBuffer,
|
||||
GLintptr readOffset,
|
||||
GLintptr writeOffset, GLsizeiptr size);
|
||||
void GLAPIENTRY
|
||||
_mesa_CopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer,
|
||||
GLintptr readOffset, GLintptr writeOffset,
|
||||
GLsizeiptr size);
|
||||
|
|
Loading…
Reference in New Issue