diff options
Diffstat (limited to 'src/mesa/swrast/swrast.h')
-rw-r--r-- | src/mesa/swrast/swrast.h | 177 |
1 files changed, 1 insertions, 176 deletions
diff --git a/src/mesa/swrast/swrast.h b/src/mesa/swrast/swrast.h index e1dbe0f512a..3aa30d35318 100644 --- a/src/mesa/swrast/swrast.h +++ b/src/mesa/swrast/swrast.h @@ -257,7 +257,7 @@ _swrast_copy_texsubimage3d(GLcontext *ctx, * Unless otherwise noted, all functions are mandatory. */ struct swrast_device_driver { -#if OLD_RENDERBUFFER +#if OLD_RENDERBUFFER || NEW_RENDERBUFFER void (*SetBuffer)(GLcontext *ctx, GLframebuffer *buffer, GLuint bufferBit); /* * Specifies the current color buffer for span/pixel writing/reading. @@ -289,181 +289,6 @@ struct swrast_device_driver { * these functions. Locking in that case must be organized by the * driver by other mechanisms. */ - - /*** - *** Functions for writing pixels to the frame buffer: - ***/ - - void (*WriteRGBASpan)( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, - CONST GLchan rgba[][4], const GLubyte mask[] ); - void (*WriteRGBSpan)( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, - CONST GLchan rgb[][3], const GLubyte mask[] ); - /* Write a horizontal run of RGBA or RGB pixels. - * If mask is NULL, draw all pixels. - * If mask is not null, only draw pixel [i] when mask [i] is true. - */ - - void (*WriteMonoRGBASpan)( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, - const GLchan color[4], const GLubyte mask[] ); - /* Write a horizontal run of RGBA pixels all with the same color. - * If mask is NULL, draw all pixels. - * If mask is not null, only draw pixel [i] when mask [i] is true. - */ - - void (*WriteRGBAPixels)( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - CONST GLchan rgba[][4], const GLubyte mask[] ); - /* Write array of RGBA pixels at random locations. - */ - - void (*WriteMonoRGBAPixels)( const GLcontext *ctx, - struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - const GLchan color[4], const GLubyte mask[] ); - /* Write an array of mono-RGBA pixels at random locations. - */ - -#if OLD_RENDERBUFFER /* these are obsolete */ - void (*WriteCI32Span)( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, - const GLuint index[], const GLubyte mask[] ); - void (*WriteCI8Span)( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, - const GLubyte index[], const GLubyte mask[] ); - /* Write a horizontal run of CI pixels. One function is for 32bpp - * indexes and the other for 8bpp pixels (the common case). You mus - * implement both for color index mode. - * If mask is NULL, draw all pixels. - * If mask is not null, only draw pixel [i] when mask [i] is true. - */ - void (*WriteMonoCISpan)( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, - GLuint colorIndex, const GLubyte mask[] ); - /* Write a horizontal run of color index pixels using the color index - * last specified by the Index() function. - * If mask is NULL, draw all pixels. - * If mask is not null, only draw pixel [i] when mask [i] is true. - */ - - void (*WriteCI32Pixels)( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - const GLuint index[], const GLubyte mask[] ); - /* - * Write a random array of CI pixels. - */ - void (*WriteMonoCIPixels)( const GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, const GLint x[], const GLint y[], - GLuint colorIndex, const GLubyte mask[] ); - /* Write a random array of color index pixels using the color index - * last specified by the Index() function. - */ - - /*** - *** Functions to read pixels from frame buffer: - ***/ - - void (*ReadCI32Span)( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, GLuint index[] ); - /* Read a horizontal run of color index pixels. - */ - - void (*ReadCI32Pixels)( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - GLuint indx[], const GLubyte mask[] ); - /* Read a random array of CI pixels. - */ -#endif - - void (*ReadRGBASpan)( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, GLchan rgba[][4] ); - /* Read a horizontal run of RGBA pixels. - */ - - void (*ReadRGBAPixels)( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - GLchan rgba[][4], const GLubyte mask[] ); - /* Read a random array of RGBA pixels. - */ - - - - /*** - *** For supporting hardware Z buffers: - *** Either ALL or NONE of these functions must be implemented! - *** NOTE that Each depth value is a 32-bit GLuint. If the depth - *** buffer is less than 32 bits deep then the extra upperbits are zero. - ***/ - - void (*WriteDepthSpan)( GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, - const GLdepth depth[], const GLubyte mask[] ); - /* Write a horizontal span of values into the depth buffer. Only write - * depth[i] value if mask[i] is nonzero. - */ - - void (*WriteMonoDepthSpan)( GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, - const GLdepth depth, const GLubyte mask[] ); - /* Write a horizontal run of depth values. - * If mask is NULL, draw all pixels. - * If mask is not null, only draw pixel [i] when mask [i] is true. - */ - - void (*ReadDepthSpan)( GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, GLdepth depth[] ); - /* Read a horizontal span of values from the depth buffer. - */ - - - void (*WriteDepthPixels)( GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - const GLdepth depth[], const GLubyte mask[] ); - /* Write an array of randomly positioned depth values into the - * depth buffer. Only write depth[i] value if mask[i] is nonzero. - */ - - void (*ReadDepthPixels)( GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - GLdepth depth[] ); - /* Read an array of randomly positioned depth values from the depth buffer. - */ - - - - /*** - *** For supporting hardware stencil buffers: - *** Either ALL or NONE of these functions must be implemented! - ***/ - - void (*WriteStencilSpan)( GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, - const GLstencil stencil[], const GLubyte mask[] ); - /* Write a horizontal span of stencil values into the stencil buffer. - * If mask is NULL, write all stencil values. - * Else, only write stencil[i] if mask[i] is non-zero. - */ - - void (*ReadStencilSpan)( GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, GLstencil stencil[] ); - /* Read a horizontal span of stencil values from the stencil buffer. - */ - - void (*WriteStencilPixels)( GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - const GLstencil stencil[], - const GLubyte mask[] ); - /* Write an array of stencil values into the stencil buffer. - * If mask is NULL, write all stencil values. - * Else, only write stencil[i] if mask[i] is non-zero. - */ - - void (*ReadStencilPixels)( GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - GLstencil stencil[] ); - /* Read an array of stencil values from the stencil buffer. - */ }; |