#include "main/glheader.h"
#include "main/bufferobj.h"
#include "main/context.h"
#include "main/convolve.h"
#include "main/image.h"
#include "main/macros.h"
#include "main/imports.h"
#include "main/pixel.h"
#include "main/state.h"
#include "s_context.h"
#include "s_span.h"
#include "s_stencil.h"
#include "s_zoom.h"
Functions | |
static GLboolean | fast_draw_rgba_pixels (GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, const struct gl_pixelstore_attrib *userUnpack, const GLvoid *pixels) |
Try to do a fast and simple RGB(a) glDrawPixels. | |
static void | draw_index_pixels (GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum type, const struct gl_pixelstore_attrib *unpack, const GLvoid *pixels) |
static void | draw_stencil_pixels (GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum type, const struct gl_pixelstore_attrib *unpack, const GLvoid *pixels) |
static void | draw_depth_pixels (GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum type, const struct gl_pixelstore_attrib *unpack, const GLvoid *pixels) |
static void | draw_rgba_pixels (GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, const struct gl_pixelstore_attrib *unpack, const GLvoid *pixels) |
Draw RGBA image. | |
static void | draw_depth_stencil_pixels (GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum type, const struct gl_pixelstore_attrib *unpack, const GLvoid *pixels) |
This is a bit different from drawing GL_DEPTH_COMPONENT pixels. | |
void | _swrast_DrawPixels (GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, const struct gl_pixelstore_attrib *unpack, const GLvoid *pixels) |
Execute software-based glDrawPixels. |
void _swrast_DrawPixels | ( | GLcontext * | ctx, | |
GLint | x, | |||
GLint | y, | |||
GLsizei | width, | |||
GLsizei | height, | |||
GLenum | format, | |||
GLenum | type, | |||
const struct gl_pixelstore_attrib * | unpack, | |||
const GLvoid * | pixels | |||
) |
Execute software-based glDrawPixels.
By time we get here, all error checking will have been done.
static void draw_depth_pixels | ( | GLcontext * | ctx, | |
GLint | x, | |||
GLint | y, | |||
GLsizei | width, | |||
GLsizei | height, | |||
GLenum | type, | |||
const struct gl_pixelstore_attrib * | unpack, | |||
const GLvoid * | pixels | |||
) | [static] |
static void draw_depth_stencil_pixels | ( | GLcontext * | ctx, | |
GLint | x, | |||
GLint | y, | |||
GLsizei | width, | |||
GLsizei | height, | |||
GLenum | type, | |||
const struct gl_pixelstore_attrib * | unpack, | |||
const GLvoid * | pixels | |||
) | [static] |
This is a bit different from drawing GL_DEPTH_COMPONENT pixels.
The only per-pixel operations that apply are depth scale/bias, stencil offset/shift, GL_DEPTH_WRITEMASK and GL_STENCIL_WRITEMASK, and pixel zoom. Also, only the depth buffer and stencil buffers are touched, not the color buffer(s).
static void draw_index_pixels | ( | GLcontext * | ctx, | |
GLint | x, | |||
GLint | y, | |||
GLsizei | width, | |||
GLsizei | height, | |||
GLenum | type, | |||
const struct gl_pixelstore_attrib * | unpack, | |||
const GLvoid * | pixels | |||
) | [static] |
static void draw_rgba_pixels | ( | GLcontext * | ctx, | |
GLint | x, | |||
GLint | y, | |||
GLsizei | width, | |||
GLsizei | height, | |||
GLenum | format, | |||
GLenum | type, | |||
const struct gl_pixelstore_attrib * | unpack, | |||
const GLvoid * | pixels | |||
) | [static] |
Draw RGBA image.
static void draw_stencil_pixels | ( | GLcontext * | ctx, | |
GLint | x, | |||
GLint | y, | |||
GLsizei | width, | |||
GLsizei | height, | |||
GLenum | type, | |||
const struct gl_pixelstore_attrib * | unpack, | |||
const GLvoid * | pixels | |||
) | [static] |
static GLboolean fast_draw_rgba_pixels | ( | GLcontext * | ctx, | |
GLint | x, | |||
GLint | y, | |||
GLsizei | width, | |||
GLsizei | height, | |||
GLenum | format, | |||
GLenum | type, | |||
const struct gl_pixelstore_attrib * | userUnpack, | |||
const GLvoid * | pixels | |||
) | [static] |
Try to do a fast and simple RGB(a) glDrawPixels.
Return: GL_TRUE if success, GL_FALSE if slow path must be used instead