#include "main/glheader.h"
#include "main/context.h"
#include "main/imports.h"
#include "main/macros.h"
#include "s_context.h"
#include "s_logic.h"
#include "s_span.h"
Defines | |
#define | LOGIC_OP_LOOP(MODE, MASKSTRIDE) |
We do all logic ops on 4-byte GLuints. | |
Functions | |
static INLINE void | logicop_uint1 (GLcontext *ctx, GLuint n, GLuint src[], const GLuint dest[], const GLubyte mask[]) |
static INLINE void | logicop_uint2 (GLcontext *ctx, GLuint n, GLuint src[], const GLuint dest[], const GLubyte mask[]) |
static INLINE void | logicop_uint4 (GLcontext *ctx, GLuint n, GLuint src[], const GLuint dest[], const GLubyte mask[]) |
void | _swrast_logicop_ci_span (GLcontext *ctx, struct gl_renderbuffer *rb, SWspan *span) |
void | _swrast_logicop_rgba_span (GLcontext *ctx, struct gl_renderbuffer *rb, SWspan *span) |
Apply the current logic operator to a span of RGBA pixels. |
#define LOGIC_OP_LOOP | ( | MODE, | |||
MASKSTRIDE | ) |
We do all logic ops on 4-byte GLuints.
Depending on bytes per pixel, the mask array elements correspond to 1, 2 or 4 GLuints.
void _swrast_logicop_ci_span | ( | GLcontext * | ctx, | |
struct gl_renderbuffer * | rb, | |||
SWspan * | span | |||
) |
void _swrast_logicop_rgba_span | ( | GLcontext * | ctx, | |
struct gl_renderbuffer * | rb, | |||
SWspan * | span | |||
) |
Apply the current logic operator to a span of RGBA pixels.
We can handle horizontal runs of pixels (spans) or arrays of x/y pixel coordinates.
static INLINE void logicop_uint1 | ( | GLcontext * | ctx, | |
GLuint | n, | |||
GLuint | src[], | |||
const GLuint | dest[], | |||
const GLubyte | mask[] | |||
) | [static] |
static INLINE void logicop_uint2 | ( | GLcontext * | ctx, | |
GLuint | n, | |||
GLuint | src[], | |||
const GLuint | dest[], | |||
const GLubyte | mask[] | |||
) | [static] |
static INLINE void logicop_uint4 | ( | GLcontext * | ctx, | |
GLuint | n, | |||
GLuint | src[], | |||
const GLuint | dest[], | |||
const GLubyte | mask[] | |||
) | [static] |