#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
1.5.4