mesa: add KHR_no_error support to glNamedBufferData() and glBufferData()

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
Samuel Pitoiset 2017-07-20 10:59:41 +02:00
parent 7f19018cc3
commit 3f05193734
4 changed files with 40 additions and 2 deletions

View file

@ -61,7 +61,7 @@
<param name="flags" type="GLbitfield" />
</function>
<function name="NamedBufferData" marshal="custom">
<function name="NamedBufferData" marshal="custom" no_error="true">
<param name="buffer" type="GLuint" />
<param name="size" type="GLsizeiptr" />
<param name="data" type="const GLvoid *" />

View file

@ -5045,7 +5045,7 @@
<glx ignore="true"/>
</function>
<function name="BufferData" es1="1.1" es2="2.0" marshal="custom">
<function name="BufferData" es1="1.1" es2="2.0" marshal="custom" no_error="true">
<param name="target" type="GLenum"/>
<param name="size" type="GLsizeiptr" counter="true"/>
<param name="data" type="const GLvoid *" count="size" img_null_flag="true"/>

View file

@ -2024,6 +2024,14 @@ buffer_data_error(struct gl_context *ctx, struct gl_buffer_object *bufObj,
buffer_data(ctx, bufObj, target, size, data, usage, func, false);
}
static void
buffer_data_no_error(struct gl_context *ctx, struct gl_buffer_object *bufObj,
GLenum target, GLsizeiptr size, const GLvoid *data,
GLenum usage, const char *func)
{
buffer_data(ctx, bufObj, target, size, data, usage, func, true);
}
void
_mesa_buffer_data(struct gl_context *ctx, struct gl_buffer_object *bufObj,
GLenum target, GLsizeiptr size, const GLvoid *data,
@ -2032,6 +2040,17 @@ _mesa_buffer_data(struct gl_context *ctx, struct gl_buffer_object *bufObj,
buffer_data_error(ctx, bufObj, target, size, data, usage, func);
}
void GLAPIENTRY
_mesa_BufferData_no_error(GLenum target, GLsizeiptr size, const GLvoid *data,
GLenum usage)
{
GET_CURRENT_CONTEXT(ctx);
struct gl_buffer_object **bufObj = get_buffer_target(ctx, target);
buffer_data_no_error(ctx, *bufObj, target, size, data, usage,
"glBufferData");
}
void GLAPIENTRY
_mesa_BufferData(GLenum target, GLsizeiptr size,
const GLvoid *data, GLenum usage)
@ -2047,6 +2066,17 @@ _mesa_BufferData(GLenum target, GLsizeiptr size,
"glBufferData");
}
void GLAPIENTRY
_mesa_NamedBufferData_no_error(GLuint buffer, GLsizeiptr size,
const GLvoid *data, GLenum usage)
{
GET_CURRENT_CONTEXT(ctx);
struct gl_buffer_object *bufObj = _mesa_lookup_bufferobj(ctx, buffer);
buffer_data_no_error(ctx, bufObj, GL_NONE, size, data, usage,
"glNamedBufferData");
}
void GLAPIENTRY
_mesa_NamedBufferData(GLuint buffer, GLsizeiptr size, const GLvoid *data,
GLenum usage)

View file

@ -196,10 +196,18 @@ void GLAPIENTRY
_mesa_NamedBufferStorage(GLuint buffer, GLsizeiptr size, const GLvoid *data,
GLbitfield flags);
void GLAPIENTRY
_mesa_BufferData_no_error(GLenum target, GLsizeiptr size,
const GLvoid *data, GLenum usage);
void GLAPIENTRY
_mesa_BufferData(GLenum target, GLsizeiptr size,
const GLvoid *data, GLenum usage);
void GLAPIENTRY
_mesa_NamedBufferData_no_error(GLuint buffer, GLsizeiptr size,
const GLvoid *data, GLenum usage);
void GLAPIENTRY
_mesa_NamedBufferData(GLuint buffer, GLsizeiptr size,
const GLvoid *data, GLenum usage);