Commit 9c53a2ec authored by Timothy Arceri's avatar Timothy Arceri Committed by Marek Olšák

mesa: add support for glMapNamedBufferEXT()

Reviewed-by: default avatarMarek Olšák <marek.olsak@amd.com>
Signed-off-by: default avatarMarek Olšák <marek.olsak@amd.com>
parent 76e25edf
......@@ -174,6 +174,12 @@
<param name="data" type="const GLvoid *" />
</function>
<function name="MapNamedBufferEXT">
<return type="GLvoid *" />
<param name="buffer" type="GLuint" />
<param name="access" type="GLenum" />
</function>
<function name="UnmapNamedBufferEXT">
<return type="GLboolean" />
<param name="buffer" type="GLuint" />
......
......@@ -1480,6 +1480,7 @@ offsets = {
"MapNamedBufferRangeEXT": 1444,
"TextureSubImage2DEXT": 1445,
"CompressedTextureSubImage2DEXT": 1446,
"MapNamedBufferEXT": 1447,
}
functions = [
......
......@@ -3425,6 +3425,29 @@ _mesa_MapNamedBuffer(GLuint buffer, GLenum access)
"glMapNamedBuffer");
}
void * GLAPIENTRY
_mesa_MapNamedBufferEXT(GLuint buffer, GLenum access)
{
GET_CURRENT_CONTEXT(ctx);
GLbitfield accessFlags;
if (!get_map_buffer_access_flags(ctx, access, &accessFlags)) {
_mesa_error(ctx, GL_INVALID_ENUM, "glMapNamedBufferEXT(invalid access)");
return NULL;
}
struct gl_buffer_object *bufObj = _mesa_lookup_bufferobj(ctx, buffer);
if (!_mesa_handle_bind_buffer_gen(ctx, buffer,
&bufObj, "glMapNamedBufferEXT"))
return NULL;
if (!validate_map_buffer_range(ctx, bufObj, 0, bufObj->Size, accessFlags,
"glMapNamedBufferEXT"))
return NULL;
return map_buffer_range(ctx, bufObj, 0, bufObj->Size, accessFlags,
"glMapNamedBufferEXT");
}
static void
flush_mapped_buffer_range(struct gl_context *ctx,
......
......@@ -370,6 +370,8 @@ void * GLAPIENTRY
_mesa_MapNamedBuffer_no_error(GLuint buffer, GLenum access);
void * GLAPIENTRY
_mesa_MapNamedBuffer(GLuint buffer, GLenum access);
void * GLAPIENTRY
_mesa_MapNamedBufferEXT(GLuint buffer, GLenum access);
void GLAPIENTRY
_mesa_FlushMappedBufferRange_no_error(GLenum target, GLintptr offset,
......
......@@ -1127,7 +1127,7 @@ const struct function common_desktop_functions_possible[] = {
/* GL_EXT_direct_state_access - GL 1.5 */
{ "glNamedBufferDataEXT", 15, -1 },
{ "glNamedBufferSubDataEXT", 15, -1 },
//{ "glMapNamedBufferEXT", 15, -1 },
{ "glMapNamedBufferEXT", 15, -1 },
{ "glUnmapNamedBufferEXT", 15, -1 },
//{ "glGetNamedBufferParameterivEXT", 15, -1 },
//{ "glGetNamedBufferPointervEXT", 15, -1 },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment