Example #1
0
/*
 * Apply the current logic operator to a span of CI pixels.  This is only
 * used if the device driver can't do logic ops.
 */
void gl_logicop_ci_span( GLcontext *ctx, GLuint n, GLint x, GLint y,
                         GLuint index[], const GLubyte mask[] )
{
   GLuint dest[MAX_WIDTH];
   /* Read dest values from frame buffer */
   (*ctx->Driver.ReadCI32Span)( ctx, n, x, y, dest );
   index_logicop( ctx, n, index, dest, mask );
}
Example #2
0
/*
 * Apply the current logic operator to an array of CI pixels.  This is only
 * used if the device driver can't do logic ops.
 */
void gl_logicop_ci_pixels( GLcontext *ctx,
                           GLuint n, const GLint x[], const GLint y[],
                           GLuint index[], const GLubyte mask[] )
{
   GLuint dest[PB_SIZE];
   /* Read dest values from frame buffer */
   (*ctx->Driver.ReadCI32Pixels)( ctx, n, x, y, dest, mask );
   index_logicop( ctx, n, index, dest, mask );
}
Example #3
0
/*
 * Apply the current logic operator to a span of CI pixels.  This is only
 * used if the device driver can't do logic ops.
 */
void
_mesa_logicop_ci_span( GLcontext *ctx, GLuint n, GLint x, GLint y,
                       GLuint index[], const GLubyte mask[] )
{
   SWcontext *swrast = SWRAST_CONTEXT(ctx);
   GLuint dest[MAX_WIDTH];
   /* Read dest values from frame buffer */
   (*swrast->Driver.ReadCI32Span)( ctx, n, x, y, dest );
   index_logicop( ctx, n, index, dest, mask );
}
Example #4
0
/*
 * Apply the current logic operator to an array of CI pixels.  This is only
 * used if the device driver can't do logic ops.
 */
void
_mesa_logicop_ci_pixels( GLcontext *ctx,
                         GLuint n, const GLint x[], const GLint y[],
                         GLuint index[], const GLubyte mask[] )
{
   SWcontext *swrast = SWRAST_CONTEXT(ctx);
   GLuint dest[PB_SIZE];
   /* Read dest values from frame buffer */
   (*swrast->Driver.ReadCI32Pixels)( ctx, n, x, y, dest, mask );
   index_logicop( ctx, n, index, dest, mask );
}
Example #5
0
/*
 * Apply the current logic operator to a span of CI pixels.  This is only
 * used if the device driver can't do logic ops.
 */
void
_swrast_logicop_ci_span( GLcontext *ctx, const struct sw_span *span,
                       GLuint index[] )
{
   SWcontext *swrast = SWRAST_CONTEXT(ctx);
   GLuint dest[MAX_WIDTH];

   ASSERT(span->end < MAX_WIDTH);

   /* Read dest values from frame buffer */
   if (span->arrayMask & SPAN_XY) {
      (*swrast->Driver.ReadCI32Pixels)( ctx, span->end,
                                        span->array->x, span->array->y,
                                        dest, span->array->mask );
   }
   else {
      (*swrast->Driver.ReadCI32Span)( ctx, span->end, span->x, span->y, dest );
   }

   index_logicop( ctx, span->end, index, dest, span->array->mask );
}