summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/dd.h
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2002-07-09 01:22:50 +0000
committerBrian Paul <[email protected]>2002-07-09 01:22:50 +0000
commit3b4fbbc129c711a5aec8d653d5c6eb2e195f947c (patch)
treeececa2d3a08ab45afd2068d9cabf5609a0c374d1 /src/mesa/main/dd.h
parentb4338e58879a4f2eabf8af09f9dfa7adf6e9f9f2 (diff)
Overhaul of glRead/DrawBuffer() code. Now, swrast->Driver.SetBuffer()
indicates the read AND draw color buffer for all software rasterization. Lots of related clean-ups. See RELNOTES-4.1 for details.
Diffstat (limited to 'src/mesa/main/dd.h')
-rw-r--r--src/mesa/main/dd.h35
1 files changed, 11 insertions, 24 deletions
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
index 1a100102ae4..81ae9e4a125 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -1,4 +1,4 @@
-/* $Id: dd.h,v 1.69 2002/06/15 02:38:15 brianp Exp $ */
+/* $Id: dd.h,v 1.70 2002/07/09 01:22:50 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -48,11 +48,6 @@ struct gl_pixelstore_attrib;
*/
struct dd_function_table {
- /**********************************************************************
- *** Mandatory functions: these functions must be implemented by ***
- *** every device driver. ***
- **********************************************************************/
-
const GLubyte * (*GetString)( GLcontext *ctx, GLenum name );
/* Return a string as needed by glGetString().
* Only the GL_RENDERER token must be implemented. Otherwise,
@@ -74,28 +69,23 @@ struct dd_function_table {
* If 'all' is true then the clear the whole buffer, else clear only the
* region defined by (x,y,width,height).
* This function must obey the glColorMask, glIndexMask and glStencilMask
- * settings! Software Mesa can do masked clears if the device driver can't.
+ * settings!
+ * Software Mesa can do masked clears if the device driver can't.
*/
- void (*SetDrawBuffer)( GLcontext *ctx, GLenum buffer );
+ void (*DrawBuffer)( GLcontext *ctx, GLenum buffer );
/*
- * Specifies the current buffer for writing.
- * The following values must be accepted when applicable:
- * GL_FRONT_LEFT - this buffer always exists
- * GL_BACK_LEFT - when double buffering
- * GL_FRONT_RIGHT - when using stereo
- * GL_BACK_RIGHT - when using stereo and double buffering
- * GL_FRONT - write to front left and front right if it exists
- * GL_BACK - write to back left and back right if it exists
- * GL_LEFT - write to front left and back left if it exists
- * GL_RIGHT - write to right left and back right if they exist
- * GL_FRONT_AND_BACK - write to all four buffers if they exist
- * GL_NONE - disable buffer write in device driver.
- *
+ * Specifies the current buffer for writing. Called via glDrawBuffer().
* Note the driver must organize fallbacks (eg with swrast) if it
* cannot implement the requested mode.
*/
+
+ void (*ReadBuffer)( GLcontext *ctx, GLenum buffer );
+ /*
+ * Specifies the current buffer for reading. Called via glReadBuffer().
+ */
+
void (*GetBufferSize)( GLframebuffer *buffer,
GLuint *width, GLuint *height );
/*
@@ -520,7 +510,6 @@ struct dd_function_table {
void (*TextureMatrix)(GLcontext *ctx, GLuint unit, const GLmatrix *mat);
void (*Viewport)(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
-
/***
*** Vertex array functions
***
@@ -555,8 +544,6 @@ struct dd_function_table {
GLboolean (*GetIntegerv)(GLcontext *ctx, GLenum pname, GLint *result);
GLboolean (*GetPointerv)(GLcontext *ctx, GLenum pname, GLvoid **result);
-
-
/***
*** Support for multiple t&l engines
***/