core | glapi | vbo | math | shader | swrast | swrast_setup | tnl | tnl_dd

s_drawpix.c File Reference

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


Function Documentation

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


Generated on Sun Sep 27 06:48:05 2009 for Mesa Software Rasterization (swrast) by  doxygen 1.5.4