mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
mesa: add support for glMapNamedBufferEXT()
Reviewed-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
76e25edf6a
commit
9c53a2ecb7
5 changed files with 33 additions and 1 deletions
|
|
@ -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 },
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue