#include "context.h"
#include "fbobject.h"
#include "texformat.h"
#include "texrender.h"
#include "renderbuffer.h"
Data Structures | |
struct | texture_renderbuffer |
Derived from gl_renderbuffer class. More... | |
Functions | |
static void | texture_get_row (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, GLint x, GLint y, void *values) |
Get row of values from the renderbuffer that wraps a texture image. | |
static void | texture_get_values (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, const GLint x[], const GLint y[], void *values) |
static void | texture_put_row (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, GLint x, GLint y, const void *values, const GLubyte *mask) |
Put row of values into a renderbuffer that wraps a texture image. | |
static void | texture_put_row_rgb (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, GLint x, GLint y, const void *values, const GLubyte *mask) |
Put row of RGB values into a renderbuffer that wraps a texture image. | |
static void | texture_put_mono_row (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, GLint x, GLint y, const void *value, const GLubyte *mask) |
static void | texture_put_values (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, const GLint x[], const GLint y[], const void *values, const GLubyte *mask) |
static void | texture_put_mono_values (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, const GLint x[], const GLint y[], const void *value, const GLubyte *mask) |
static void | store_nop (struct gl_texture_image *texImage, GLint col, GLint row, GLint img, const void *texel) |
static void | delete_texture_wrapper (struct gl_renderbuffer *rb) |
static void | wrap_texture (GLcontext *ctx, struct gl_renderbuffer_attachment *att) |
This function creates a renderbuffer object which wraps a texture image. | |
static void | update_wrapper (GLcontext *ctx, const struct gl_renderbuffer_attachment *att) |
Update the renderbuffer wrapper for rendering to a texture. | |
void | _mesa_render_texture (GLcontext *ctx, struct gl_framebuffer *fb, struct gl_renderbuffer_attachment *att) |
Called when rendering to a texture image begins, or when changing the dest mipmap level, cube face, etc. | |
void | _mesa_finish_render_texture (GLcontext *ctx, struct gl_renderbuffer_attachment *att) |
void _mesa_finish_render_texture | ( | GLcontext * | ctx, | |
struct gl_renderbuffer_attachment * | att | |||
) |
void _mesa_render_texture | ( | GLcontext * | ctx, | |
struct gl_framebuffer * | fb, | |||
struct gl_renderbuffer_attachment * | att | |||
) |
Called when rendering to a texture image begins, or when changing the dest mipmap level, cube face, etc.
This is a fallback routine for software render-to-texture.
Called via the glRenderbufferTexture1D/2D/3D() functions and elsewhere (such as glTexImage2D).
The image we're rendering into is att->Texture->Image[att->CubeMapFace][att->TextureLevel]; It'll never be NULL.
fb | the framebuffer object the texture is being bound to | |
att | the fb attachment point of the texture |
static void delete_texture_wrapper | ( | struct gl_renderbuffer * | rb | ) | [static] |
static void store_nop | ( | struct gl_texture_image * | texImage, | |
GLint | col, | |||
GLint | row, | |||
GLint | img, | |||
const void * | texel | |||
) | [static] |
static void texture_get_row | ( | GLcontext * | ctx, | |
struct gl_renderbuffer * | rb, | |||
GLuint | count, | |||
GLint | x, | |||
GLint | y, | |||
void * | values | |||
) | [static] |
Get row of values from the renderbuffer that wraps a texture image.
static void texture_get_values | ( | GLcontext * | ctx, | |
struct gl_renderbuffer * | rb, | |||
GLuint | count, | |||
const GLint | x[], | |||
const GLint | y[], | |||
void * | values | |||
) | [static] |
static void texture_put_mono_row | ( | GLcontext * | ctx, | |
struct gl_renderbuffer * | rb, | |||
GLuint | count, | |||
GLint | x, | |||
GLint | y, | |||
const void * | value, | |||
const GLubyte * | mask | |||
) | [static] |
static void texture_put_mono_values | ( | GLcontext * | ctx, | |
struct gl_renderbuffer * | rb, | |||
GLuint | count, | |||
const GLint | x[], | |||
const GLint | y[], | |||
const void * | value, | |||
const GLubyte * | mask | |||
) | [static] |
static void texture_put_row | ( | GLcontext * | ctx, | |
struct gl_renderbuffer * | rb, | |||
GLuint | count, | |||
GLint | x, | |||
GLint | y, | |||
const void * | values, | |||
const GLubyte * | mask | |||
) | [static] |
Put row of values into a renderbuffer that wraps a texture image.
static void texture_put_row_rgb | ( | GLcontext * | ctx, | |
struct gl_renderbuffer * | rb, | |||
GLuint | count, | |||
GLint | x, | |||
GLint | y, | |||
const void * | values, | |||
const GLubyte * | mask | |||
) | [static] |
Put row of RGB values into a renderbuffer that wraps a texture image.
static void texture_put_values | ( | GLcontext * | ctx, | |
struct gl_renderbuffer * | rb, | |||
GLuint | count, | |||
const GLint | x[], | |||
const GLint | y[], | |||
const void * | values, | |||
const GLubyte * | mask | |||
) | [static] |
static void update_wrapper | ( | GLcontext * | ctx, | |
const struct gl_renderbuffer_attachment * | att | |||
) | [static] |
Update the renderbuffer wrapper for rendering to a texture.
For example, update the width, height of the RB based on the texture size, update the internal format info, etc.
static void wrap_texture | ( | GLcontext * | ctx, | |
struct gl_renderbuffer_attachment * | att | |||
) | [static] |
This function creates a renderbuffer object which wraps a texture image.
The new renderbuffer is plugged into the given attachment point. This allows rendering into the texture as if it were a renderbuffer.