diff options
Diffstat (limited to 'mesalib/src/mesa/drivers/dri/common/drirenderbuffer.h')
-rw-r--r-- | mesalib/src/mesa/drivers/dri/common/drirenderbuffer.h | 150 |
1 files changed, 71 insertions, 79 deletions
diff --git a/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.h b/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.h index 6c11d350d..b9065b2dd 100644 --- a/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.h +++ b/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.h @@ -1,79 +1,71 @@ -
-/**
- * A driRenderbuffer is dervied from gl_renderbuffer.
- * It describes a color buffer (front or back), a depth buffer, or stencil
- * buffer etc.
- * Specific to DRI drivers are the offset and pitch fields.
- */
-
-
-#ifndef DRIRENDERBUFFER_H
-#define DRIRENDERBUFFER_H
-
-#include "main/mtypes.h"
-#include "main/formats.h"
-#include "dri_util.h"
-
-
-typedef struct {
- struct gl_renderbuffer Base;
-
- /* Chars or bytes per pixel. If Z and Stencil are stored together this
- * will typically be 32 whether this a depth or stencil renderbuffer.
- */
- GLint cpp;
-
- /* Buffer position and pitch (row stride). Recall that for today's DRI
- * drivers, we have statically allocated color/depth/stencil buffers.
- * So this information describes the whole screen, not just a window.
- * To address pixels in a window, we need to know the window's position
- * and size with respect to the screen.
- */
- 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/Data above.
- * If page flipping is enabled, and this is the front(back) renderbuffer,
- * flippedOffset/Pitch/Data will have the back(front) renderbuffer's values.
- */
- GLint flippedOffset;
- GLint flippedPitch;
- GLvoid *flippedData; /* mmap'd address of buffer memory, if used */
-
- /* Pointer to corresponding __DRIdrawable. This is used to compute
- * the window's position within the framebuffer.
- */
- __DRIdrawable *dPriv;
-
- /* 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;
-
- /**
- * A handy flag to know if this is the back color buffer.
- *
- * \note
- * This is currently only used by tdfx.
- */
- GLboolean backBuffer;
-} driRenderbuffer;
-
-
-extern driRenderbuffer *
-driNewRenderbuffer(gl_format format, GLvoid *addr,
- GLint cpp, GLint offset, GLint pitch,
- __DRIdrawable *dPriv);
-
-extern void
-driFlipRenderbuffers(struct gl_framebuffer *fb, GLboolean flipped);
-
-
-extern void
-driUpdateFramebufferSize(struct gl_context *ctx, const __DRIdrawable *dPriv);
-
-
-#endif /* DRIRENDERBUFFER_H */
+ +/** + * A driRenderbuffer is dervied from gl_renderbuffer. + * It describes a color buffer (front or back), a depth buffer, or stencil + * buffer etc. + * Specific to DRI drivers are the offset and pitch fields. + */ + + +#ifndef DRIRENDERBUFFER_H +#define DRIRENDERBUFFER_H + +#include "main/mtypes.h" +#include "main/formats.h" +#include "dri_util.h" + + +typedef struct { + struct gl_renderbuffer Base; + + /* Chars or bytes per pixel. If Z and Stencil are stored together this + * will typically be 32 whether this a depth or stencil renderbuffer. + */ + GLint cpp; + + /* Buffer position and pitch (row stride). Recall that for today's DRI + * drivers, we have statically allocated color/depth/stencil buffers. + * So this information describes the whole screen, not just a window. + * To address pixels in a window, we need to know the window's position + * and size with respect to the screen. + */ + 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/Data above. + * If page flipping is enabled, and this is the front(back) renderbuffer, + * flippedOffset/Pitch/Data will have the back(front) renderbuffer's values. + */ + GLint flippedOffset; + GLint flippedPitch; + GLvoid *flippedData; /* mmap'd address of buffer memory, if used */ + + /* Pointer to corresponding __DRIdrawable. This is used to compute + * the window's position within the framebuffer. + */ + __DRIdrawable *dPriv; + + /* 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; + + +extern driRenderbuffer * +driNewRenderbuffer(gl_format format, GLvoid *addr, + GLint cpp, GLint offset, GLint pitch, + __DRIdrawable *dPriv); + +extern void +driFlipRenderbuffers(struct gl_framebuffer *fb, GLboolean flipped); + + +extern void +driUpdateFramebufferSize(struct gl_context *ctx, const __DRIdrawable *dPriv); + + +#endif /* DRIRENDERBUFFER_H */ |