--- src/mapi/glapi/gen/ARB_direct_state_access.xml | 5 +++++ src/mesa/main/buffers.c | 18 ++++++++++++++++++ src/mesa/main/buffers.h | 3 +++ src/mesa/main/tests/dispatch_sanity.cpp | 1 + 4 files changed, 27 insertions(+)
diff --git a/src/mapi/glapi/gen/ARB_direct_state_access.xml b/src/mapi/glapi/gen/ARB_direct_state_access.xml index c472163..1bdb29c 100644 --- a/src/mapi/glapi/gen/ARB_direct_state_access.xml +++ b/src/mapi/glapi/gen/ARB_direct_state_access.xml @@ -151,6 +151,11 @@ <param name="mode" type="GLenum" /> </function> + <function name="NamedFramebufferReadBuffer" offset="assign"> + <param name="framebuffer" type="GLuint" /> + <param name="mode" type="GLenum" /> + </function> + <function name="InvalidateNamedFramebufferData" offset="assign"> <param name="framebuffer" type="GLuint" /> <param name="numAttachments" type="GLsizei" /> diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c index e244d1e..d0627b5 100644 --- a/src/mesa/main/buffers.c +++ b/src/mesa/main/buffers.c @@ -700,3 +700,21 @@ _mesa_ReadBuffer(GLenum buffer) GET_CURRENT_CONTEXT(ctx); _mesa_read_buffer(ctx, ctx->ReadBuffer, buffer, "glReadBuffer"); } + +void GLAPIENTRY +_mesa_NamedFramebufferReadBuffer(GLuint framebuffer, GLenum src) +{ + GET_CURRENT_CONTEXT(ctx); + struct gl_framebuffer *fb; + + if (framebuffer) { + fb = _mesa_lookup_framebuffer_err(ctx, framebuffer, + "glNamedFramebufferReadBuffer"); + if (!fb) + return; + } + else + fb = ctx->WinSysReadBuffer; + + _mesa_read_buffer(ctx, fb, src, "glNamedFramebufferReadBuffer"); +} diff --git a/src/mesa/main/buffers.h b/src/mesa/main/buffers.h index ca7ad19..52a2318 100644 --- a/src/mesa/main/buffers.h +++ b/src/mesa/main/buffers.h @@ -71,5 +71,8 @@ _mesa_read_buffer(struct gl_context *ctx, struct gl_framebuffer *fb, extern void GLAPIENTRY _mesa_ReadBuffer( GLenum mode ); +extern void GLAPIENTRY +_mesa_NamedFramebufferReadBuffer(GLuint framebuffer, GLenum src); + #endif diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index 16caf24..0afb650 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -976,6 +976,7 @@ const struct function gl_core_functions_possible[] = { { "glNamedFramebufferTexture", 45, -1 }, { "glNamedFramebufferTextureLayer", 45, -1 }, { "glNamedFramebufferDrawBuffer", 45, -1 }, + { "glNamedFramebufferReadBuffer", 45, -1 }, { "glInvalidateNamedFramebufferSubData", 45, -1 }, { "glInvalidateNamedFramebufferData", 45, -1 }, { "glClearNamedFramebufferiv", 45, -1 }, -- 2.1.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev