From 5545245fe794519db577b2e8208277cd8fc7d276 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 1 Sep 2005 03:07:29 +0000 Subject: [PATCH] added a few more fields to help with DRI drivers --- src/mesa/drivers/dri/common/drirenderbuffer.c | 4 ++++ src/mesa/drivers/dri/common/drirenderbuffer.h | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/mesa/drivers/dri/common/drirenderbuffer.c b/src/mesa/drivers/dri/common/drirenderbuffer.c index 44826958d02..201ce449502 100644 --- a/src/mesa/drivers/dri/common/drirenderbuffer.c +++ b/src/mesa/drivers/dri/common/drirenderbuffer.c @@ -93,6 +93,10 @@ driNewRenderbuffer(GLenum format, GLint cpp, GLint offset, GLint pitch) drb->offset = offset; drb->pitch = pitch; drb->cpp = cpp; + + /* may be changed if page flipping is active: */ + drb->flippedOffset = offset; + drb->flippedPitch = pitch; } return drb; } diff --git a/src/mesa/drivers/dri/common/drirenderbuffer.h b/src/mesa/drivers/dri/common/drirenderbuffer.h index 627f1d41d98..b2b6fea12cd 100644 --- a/src/mesa/drivers/dri/common/drirenderbuffer.h +++ b/src/mesa/drivers/dri/common/drirenderbuffer.h @@ -29,6 +29,20 @@ typedef struct { GLint offset; /* in bytes */ GLint pitch; /* in pixels */ + /* If the driver can do page flipping (full-screen double buffering) + * the current front/back buffers may get swapped. + * If page flipping is disabled, these fields will be identical to + * the offset/pitch above. + * If page flipping is enabled, and this is the front(back) renderbuffer, + * flippedOffset/Pitch will have the back(front) renderbuffer's values. + */ + GLint flippedOffset; + GLint flippedPitch; + + /* XXX this is for radeon/r200 only. We should really create a new + * r200Renderbuffer class, derived from this class... not a huge deal. + */ + GLboolean depthHasSurface; } driRenderbuffer; -- 2.30.2