mesa: add ARB_clear_buffer_object named functions

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Pierre-Eric Pelloux-Prayer 2019-11-05 15:37:12 +01:00
parent 442fd3d007
commit e3385eb0c1
6 changed files with 54 additions and 9 deletions

View File

@ -377,7 +377,7 @@ GL_EXT_direct_state_access additions from other extensions (complete list):
GL_AMD_gpu_shader_int64 n/a (not enabled in compat profile)
GL_ARB_bindless_texture DONE
GL_ARB_buffer_storage DONE
GL_ARB_clear_buffer_object not started
GL_ARB_clear_buffer_object DONE
GL_ARB_framebuffer_no_attachments DONE
GL_ARB_gpu_shader_fp64 not started
GL_ARB_instanced_arrays not started

View File

@ -26,7 +26,7 @@
<param name="data" type="const GLvoid *"/>
</function>
<!-- <function name="ClearNamedBufferDataEXT">
<function name="ClearNamedBufferDataEXT">
<param name="buffer" type="GLuint"/>
<param name="internalformat" type="GLenum"/>
<param name="format" type="GLenum"/>
@ -34,7 +34,6 @@
<param name="data" type="const GLvoid *"/>
</function>
<function name="ClearNamedBufferSubDataEXT">
<param name="buffer" type="GLuint"/>
<param name="internalformat" type="GLenum"/>
@ -43,7 +42,7 @@
<param name="format" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="data" type="const GLvoid *"/>
</function> -->
</function>
</category>

View File

@ -1616,9 +1616,11 @@ offsets = {
"GetVertexArrayPointervEXT": 1580,
"GetVertexArrayIntegeri_vEXT": 1581,
"GetVertexArrayPointeri_vEXT": 1582,
"NamedFramebufferParameteriEXT": 1583,
"GetNamedFramebufferParameterivEXT": 1584,
"VertexArrayVertexAttribLOffsetEXT": 1585,
"ClearNamedBufferDataEXT": 1583,
"ClearNamedBufferSubDataEXT": 1584,
"NamedFramebufferParameteriEXT": 1585,
"GetNamedFramebufferParameterivEXT": 1586,
"VertexArrayVertexAttribLOffsetEXT": 1587,
}
functions = [

View File

@ -2573,6 +2573,22 @@ _mesa_ClearNamedBufferData(GLuint buffer, GLenum internalformat,
}
void GLAPIENTRY
_mesa_ClearNamedBufferDataEXT(GLuint buffer, GLenum internalformat,
GLenum format, GLenum type, const GLvoid *data)
{
GET_CURRENT_CONTEXT(ctx);
struct gl_buffer_object *bufObj = _mesa_lookup_bufferobj(ctx, buffer);
if (!_mesa_handle_bind_buffer_gen(ctx, buffer,
&bufObj, "glClearNamedBufferDataEXT"))
return;
clear_buffer_sub_data_error(ctx, bufObj, internalformat, 0, bufObj->Size,
format, type, data, "glClearNamedBufferDataEXT",
false);
}
void GLAPIENTRY
_mesa_ClearBufferSubData_no_error(GLenum target, GLenum internalformat,
GLintptr offset, GLsizeiptr size,
@ -2641,6 +2657,23 @@ _mesa_ClearNamedBufferSubData(GLuint buffer, GLenum internalformat,
true);
}
void GLAPIENTRY
_mesa_ClearNamedBufferSubDataEXT(GLuint buffer, GLenum internalformat,
GLintptr offset, GLsizeiptr size,
GLenum format, GLenum type,
const GLvoid *data)
{
GET_CURRENT_CONTEXT(ctx);
struct gl_buffer_object *bufObj = _mesa_lookup_bufferobj(ctx, buffer);
if (!_mesa_handle_bind_buffer_gen(ctx, buffer,
&bufObj, "glClearNamedBufferSubDataEXT"))
return;
clear_buffer_sub_data_error(ctx, bufObj, internalformat, offset, size,
format, type, data, "glClearNamedBufferSubDataEXT",
true);
}
static GLboolean
unmap_buffer(struct gl_context *ctx, struct gl_buffer_object *bufObj)
{

View File

@ -277,6 +277,11 @@ _mesa_ClearNamedBufferData(GLuint buffer, GLenum internalformat,
GLenum format, GLenum type,
const GLvoid *data);
void GLAPIENTRY
_mesa_ClearNamedBufferDataEXT(GLuint buffer, GLenum internalformat,
GLenum format, GLenum type,
const GLvoid *data);
void GLAPIENTRY
_mesa_ClearBufferSubData_no_error(GLenum target, GLenum internalformat,
GLintptr offset, GLsizeiptr size,
@ -301,6 +306,12 @@ _mesa_ClearNamedBufferSubData(GLuint buffer, GLenum internalformat,
GLenum format, GLenum type,
const GLvoid *data);
void GLAPIENTRY
_mesa_ClearNamedBufferSubDataEXT(GLuint buffer, GLenum internalformat,
GLintptr offset, GLsizeiptr size,
GLenum format, GLenum type,
const GLvoid *data);
GLboolean GLAPIENTRY
_mesa_UnmapBuffer_no_error(GLenum target);
GLboolean GLAPIENTRY

View File

@ -858,8 +858,8 @@ const struct function common_desktop_functions_possible[] = {
{ "glTextureStorage3DEXT", 43, -1 },
{ "glClearBufferData", 43, -1 },
{ "glClearBufferSubData", 43, -1 },
// { "glClearNamedBufferDataEXT", 43, -1 }, // XXX: Add to xml
// { "glClearNamedBufferSubDataEXT", 43, -1 }, // XXX: Add to xml
{ "glClearNamedBufferDataEXT", 43, -1 },
{ "glClearNamedBufferSubDataEXT", 43, -1 },
{ "glCopyImageSubData", 43, -1 },
{ "glTextureView", 43, -1 },
{ "glBindVertexBuffer", 43, -1 },