#include "glheader.h"
#include "imports.h"
#include "colormac.h"
#include "context.h"
#include "image.h"
#include "mipmap.h"
#include "texcompress.h"
#include "texformat.h"
#include "texstore.h"
Functions | |
GLuint | _mesa_get_compressed_formats (GLcontext *ctx, GLint *formats, GLboolean all) |
Return list of (and count of) all specific texture compression formats that are supported. | |
GLuint | _mesa_compressed_texture_size (GLcontext *ctx, GLsizei width, GLsizei height, GLsizei depth, GLuint mesaFormat) |
Return number of bytes needed to store a texture of the given size using the specified compressed format. | |
GLuint | _mesa_compressed_texture_size_glenum (GLcontext *ctx, GLsizei width, GLsizei height, GLsizei depth, GLenum glformat) |
As above, but format is specified by a GLenum (GL_COMPRESSED_*) token. | |
GLint | _mesa_compressed_row_stride (GLuint mesaFormat, GLsizei width) |
GLubyte * | _mesa_compressed_image_address (GLint col, GLint row, GLint img, GLuint mesaFormat, GLsizei width, const GLubyte *image) |
GLubyte* _mesa_compressed_image_address | ( | GLint | col, | |
GLint | row, | |||
GLint | img, | |||
GLuint | mesaFormat, | |||
GLsizei | width, | |||
const GLubyte * | image | |||
) |
GLint _mesa_compressed_row_stride | ( | GLuint | mesaFormat, | |
GLsizei | width | |||
) |
GLuint _mesa_compressed_texture_size | ( | GLcontext * | ctx, | |
GLsizei | width, | |||
GLsizei | height, | |||
GLsizei | depth, | |||
GLuint | mesaFormat | |||
) |
Return number of bytes needed to store a texture of the given size using the specified compressed format.
This is called via the ctx->Driver.CompressedTextureSize function, unless a device driver overrides it.
width | texture width in texels. | |
height | texture height in texels. | |
depth | texture depth in texels. | |
mesaFormat | one of the MESA_FORMAT_* compressed formats |
GLuint _mesa_compressed_texture_size_glenum | ( | GLcontext * | ctx, | |
GLsizei | width, | |||
GLsizei | height, | |||
GLsizei | depth, | |||
GLenum | glformat | |||
) |
As above, but format is specified by a GLenum (GL_COMPRESSED_*) token.
Note: This function CAN NOT return a padded hardware texture size. That's why we don't call the ctx->Driver.CompressedTextureSize() function.
We use this function to validate the <imageSize> parameter of glCompressedTex[Sub]Image1/2/3D(), which must be an exact match.
GLuint _mesa_get_compressed_formats | ( | GLcontext * | ctx, | |
GLint * | formats, | |||
GLboolean | all | |||
) |
Return list of (and count of) all specific texture compression formats that are supported.
ctx | the GL context | |
formats | the resulting format list (may be NULL). | |
all | if true return all formats, even those with some kind of restrictions/limitations (See GL_ARB_texture_compression spec for more info). |