Home | History | Annotate | Download | only in main

Lines Matching full:teximage

27  * \file teximage.c
46 #include "teximage.h"
573 * \param texImage texture image.
578 struct gl_texture_image *texImage)
583 ASSERT(texImage);
587 tObj->Image[face][level] = texImage;
590 texImage->TexObject = tObj;
591 texImage->Level = level;
592 texImage->Face = face;
617 * \param texImage texture image.
623 struct gl_texture_image *texImage)
625 /* Free texImage->Data and/or any other driver-specific texture
629 ctx->Driver.FreeTextureImageBuffer( ctx, texImage );
630 free(texImage);
819 struct gl_texture_image *texImage;
824 texImage = _mesa_select_tex_image(ctx, texObj, target, level);
825 if (!texImage) {
826 texImage = ctx->Driver.NewTextureImage(ctx);
827 if (!texImage) {
832 set_tex_image(texObj, target, level, texImage);
835 return texImage;
848 struct gl_texture_image *texImage;
894 texImage = ctx->Texture.ProxyTex[texIndex]->Image[0][level];
895 if (!texImage) {
896 texImage = ctx->Driver.NewTextureImage(ctx);
897 if (!texImage) {
901 ctx->Texture.ProxyTex[texIndex]->Image[0][level] = texImage;
903 texImage->TexObject = ctx->Texture.ProxyTex[texIndex];
905 return texImage;
1238 * \param texImage texture image structure to be cleared.
1240 * After the call, \p texImage will have no data associated with it. Its
1245 struct gl_texture_image *texImage)
1247 ctx->Driver.FreeTextureImageBuffer(ctx, texImage);
1248 clear_teximage_fields(texImage);
2543 const struct gl_texture_image *teximage )
2546 if (!teximage) {
2566 if (xoffset < -((GLint)teximage->Border)) {
2571 if (xoffset + width > (GLint) (teximage->Width + teximage->Border)) {
2577 GLint yBorder = (target == GL_TEXTURE_1D_ARRAY) ? 0 : teximage->Border;
2584 if (yoffset + height > (GLint) teximage->Height + yBorder) {
2593 GLint zBorder = (target == GL_TEXTURE_2D_ARRAY) ? 0 : teximage->Border;
2599 if (zoffset > (GLint) teximage->Depth + zBorder) {
2606 if (_mesa_is_format_compressed(teximage->TexFormat)) {
2607 if (compressedteximage_only_format(ctx, teximage->InternalFormat)) {
2619 if ((width & 3) != 0 && (GLuint) width != teximage->Width) {
2624 if ((height & 3) != 0 && (GLuint) height != teximage->Height) {
2631 if (teximage->InternalFormat == GL_YCBCR_MESA) {
2636 if (!_mesa_source_buffer_exists(ctx, teximage->_BaseFormat)) {
2639 dimensions, teximage->_BaseFormat);
2650 if (_mesa_is_color_format(teximage->InternalFormat)) {
2654 _mesa_is_format_integer_color(teximage->TexFormat)) {
2917 teximage(struct gl_context *ctx, GLboolean compressed, GLuint dims,
2996 struct gl_texture_image *texImage =
3015 if (texImage)
3016 clear_teximage_fields(texImage);
3019 /* no error: store the teximage parameters */
3020 if (texImage)
3021 _mesa_init_teximage_fields(ctx, texImage, width, height, depth,
3032 struct gl_texture_image *texImage;
3056 texImage
3058 if (!texImage) {
3064 ctx->Driver.FreeTextureImageBuffer(ctx, texImage);
3071 _mesa_init_teximage_fields(ctx, texImage,
3078 ctx->Driver.CompressedTexImage(ctx, dims, texImage,
3082 ctx->Driver.TexImage(ctx, dims, texImage, format,
3112 teximage(ctx, GL_FALSE, 1, target, level, internalFormat, width, 1, 1,
3124 teximage(ctx, GL_FALSE, 2, target, level, internalFormat, width, height, 1,
3140 teximage(ctx, GL_FALSE, 3, target, level, internalFormat,
3162 struct gl_texture_image *texImage;
3198 texImage = _mesa_get_tex_image(ctx, texObj, target, 0);
3199 if (!texImage) {
3202 ctx->Driver.FreeTextureImageBuffer(ctx, texImage);
3205 texObj, texImage, image);
3226 struct gl_texture_image *texImage;
3257 texImage = _mesa_select_tex_image(ctx, texObj, target, level);
3262 format, type, texImage)) {
3270 zoffset += texImage->Border;
3274 yoffset += texImage->Border;
3277 xoffset += texImage->Border;
3280 ctx->Driver.TexSubImage(ctx, dims, texImage,
3368 struct gl_texture_image *texImage;
3401 texImage = _mesa_get_tex_image(ctx, texObj, target, level);
3403 if (!texImage) {
3417 ctx->Driver.FreeTextureImageBuffer(ctx, texImage);
3419 _mesa_init_teximage_fields(ctx, texImage, width, height, 1,
3423 ctx->Driver.TexImage(ctx, dims, texImage,
3430 get_copy_tex_image_source(ctx, texImage->TexFormat);
3432 ctx->Driver.CopyTexSubImage(ctx, dims, texImage, dstX, dstY, dstZ,
3486 struct gl_texture_image *texImage;
3506 texImage = _mesa_select_tex_image(ctx, texObj, target, level);
3509 zoffset, width, height, texImage)) {
3517 zoffset += texImage->Border;
3521 yoffset += texImage->Border;
3524 xoffset += texImage->Border;
3530 get_copy_tex_image_source(ctx, texImage->TexFormat);
3532 ctx->Driver.CopyTexSubImage(ctx, dims, texImage,
3680 struct gl_texture_image *texImage)
3682 if (!texImage) {
3688 if ((GLint) format != texImage->InternalFormat) {
3702 width != (GLsizei) texImage->Width) ||
3703 (width > (GLsizei) texImage->Width)) {
3711 height != (GLsizei) texImage->Height) ||
3712 (height > (GLsizei) texImage->Height)) {
3721 depth != (GLsizei) texImage->Depth) ||
3722 (depth > (GLsizei) texImage->Depth)) {
3740 teximage(ctx, GL_TRUE, 1, target, level, internalFormat,
3752 teximage(ctx, GL_TRUE, 2, target, level, internalFormat,
3764 teximage(ctx, GL_TRUE, 3, target, level, internalFormat,
3779 struct gl_texture_image *texImage;
3797 texImage = _mesa_select_tex_image(ctx, texObj, target, level);
3800 format, texImage)) {
3804 ctx->Driver.CompressedTexSubImage(ctx, dims, texImage,