mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 16:08:04 +02:00
mesa: add KHR_no_error support for glBufferSubData()
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
7ec12293be
commit
b3888b7a68
3 changed files with 22 additions and 4 deletions
|
|
@ -5051,7 +5051,8 @@
|
|||
<glx ignore="true"/>
|
||||
</function>
|
||||
|
||||
<function name="BufferSubData" es1="1.1" es2="2.0" marshal="custom">
|
||||
<function name="BufferSubData" es1="1.1" es2="2.0" marshal="custom"
|
||||
no_error="true">
|
||||
<param name="target" type="GLenum"/>
|
||||
<param name="offset" type="GLintptr"/>
|
||||
<param name="size" type="GLsizeiptr" counter="true"/>
|
||||
|
|
|
|||
|
|
@ -1872,9 +1872,14 @@ buffer_sub_data(GLenum target, GLuint buffer, GLintptr offset,
|
|||
return;
|
||||
}
|
||||
} else {
|
||||
bufObj = get_buffer(ctx, func, target, GL_INVALID_OPERATION);
|
||||
if (!bufObj)
|
||||
return;
|
||||
if (no_error) {
|
||||
struct gl_buffer_object **bufObjPtr = get_buffer_target(ctx, target);
|
||||
bufObj = *bufObjPtr;
|
||||
} else {
|
||||
bufObj = get_buffer(ctx, func, target, GL_INVALID_OPERATION);
|
||||
if (!bufObj)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (no_error || validate_buffer_sub_data(ctx, bufObj, offset, size, func))
|
||||
|
|
@ -1882,6 +1887,15 @@ buffer_sub_data(GLenum target, GLuint buffer, GLintptr offset,
|
|||
}
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_BufferSubData_no_error(GLenum target, GLintptr offset,
|
||||
GLsizeiptr size, const GLvoid *data)
|
||||
{
|
||||
buffer_sub_data(target, 0, offset, size, data, false, true,
|
||||
"glBufferSubData");
|
||||
}
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_BufferSubData(GLenum target, GLintptr offset,
|
||||
GLsizeiptr size, const GLvoid *data)
|
||||
|
|
|
|||
|
|
@ -193,6 +193,9 @@ _mesa_NamedBufferData(GLuint buffer, GLsizeiptr size,
|
|||
const GLvoid *data, GLenum usage);
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_BufferSubData_no_error(GLenum target, GLintptr offset,
|
||||
GLsizeiptr size, const GLvoid *data);
|
||||
void GLAPIENTRY
|
||||
_mesa_BufferSubData(GLenum target, GLintptr offset,
|
||||
GLsizeiptr size, const GLvoid *data);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue