Mesa (master): mesa: Use ctx->ReadBuffer in glReadBuffer back-to-front tests
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Oct 15 23:08:21 UTC 2019
Module: Mesa
Branch: master
Commit: d947276b4acc0b4ebb2745cbde82f7b2ccf11a4a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d947276b4acc0b4ebb2745cbde82f7b2ccf11a4a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Oct 14 09:58:57 2019 -0700
mesa: Use ctx->ReadBuffer in glReadBuffer back-to-front tests
We were looking at ctx->DrawBuffer when asking about the read buffer,
which was good enough for CTS purposes, but definitely not right.
Reviewed-by: Eric Engestrom <eric.engestrom at intel.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg at google.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
---
src/mesa/main/buffers.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c
index a47438920b4..f6a347911c7 100644
--- a/src/mesa/main/buffers.c
+++ b/src/mesa/main/buffers.c
@@ -86,7 +86,8 @@ supported_buffer_bitmask(const struct gl_context *ctx,
}
static GLenum
-back_to_front_if_single_buffered(const struct gl_context *ctx, GLenum buffer)
+back_to_front_if_single_buffered(const struct gl_framebuffer *fb,
+ GLenum buffer)
{
/* If the front buffer is the only buffer, GL_BACK and all other flags
* that include BACK select the front buffer for drawing. There are
@@ -110,7 +111,7 @@ back_to_front_if_single_buffered(const struct gl_context *ctx, GLenum buffer)
* but they are front buffers from the Mesa point of view,
* because they are always single buffered.
*/
- if (!ctx->DrawBuffer->Visual.doubleBufferMode) {
+ if (!fb->Visual.doubleBufferMode) {
switch (buffer) {
case GL_BACK:
buffer = GL_FRONT;
@@ -135,7 +136,7 @@ back_to_front_if_single_buffered(const struct gl_context *ctx, GLenum buffer)
static GLbitfield
draw_buffer_enum_to_bitmask(const struct gl_context *ctx, GLenum buffer)
{
- buffer = back_to_front_if_single_buffered(ctx, buffer);
+ buffer = back_to_front_if_single_buffered(ctx->DrawBuffer, buffer);
switch (buffer) {
case GL_NONE:
@@ -200,7 +201,7 @@ draw_buffer_enum_to_bitmask(const struct gl_context *ctx, GLenum buffer)
static gl_buffer_index
read_buffer_enum_to_index(const struct gl_context *ctx, GLenum buffer)
{
- buffer = back_to_front_if_single_buffered(ctx, buffer);
+ buffer = back_to_front_if_single_buffered(ctx->ReadBuffer, buffer);
switch (buffer) {
case GL_FRONT:
More information about the mesa-commit
mailing list