From: Brian Paul Date: Fri, 10 Dec 1999 16:14:40 +0000 (+0000) Subject: added stencil buffer functions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=86d518ec5b12248a985dc28021a2f8f4a2a2e525;p=mesa.git added stencil buffer functions --- diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index 5dc04fb6fc0..904fa4849db 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -1,4 +1,4 @@ -/* $Id: dd.h,v 1.6 1999/11/25 17:36:48 brianp Exp $ */ +/* $Id: dd.h,v 1.7 1999/12/10 16:14:40 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -390,6 +390,7 @@ struct dd_function_table { /*** *** For supporting hardware Z buffers: + *** Either ALL or NONE of these functions must be implemented! ***/ void (*AllocDepthBuffer)( GLcontext *ctx ); @@ -420,6 +421,43 @@ struct dd_function_table { */ + /*** + *** For supporting hardware stencil buffers: + *** Either ALL or NONE of these functions must be implemented! + ***/ + + void (*WriteStencilSpan)( GLcontext *ctx, 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, GLuint n, GLint x, GLint y, + GLstencil stencil[] ); + /* Read a horizontal span of stencil values from the stencil buffer. + */ + + + void (*WriteStencilPixels)( GLcontext *ctx, 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, GLuint n, + const GLint x[], const GLint y[], + GLstencil stencil[] ); + /* Read an array of stencil values from the stencil buffer. + */ + + + /*** *** Accelerated point, line, polygon, glDrawPixels and glBitmap functions: ***/