#include "glheader.h"
#include "imports.h"
#include "colormac.h"
-#include "context.h"
-#include "convolve.h"
#include "dlopen.h"
#include "image.h"
+#include "macros.h"
#include "texcompress.h"
#include "texcompress_s3tc.h"
#include "texstore.h"
#if FEATURE_texture_s3tc
-#ifdef __MINGW32__
+#if defined(_WIN32) || defined(WIN32)
#define DXTN_LIBNAME "dxtn.dll"
#define RTLD_LAZY 0
#define RTLD_GLOBAL 0
table[i] = cs / 12.92f;
}
else {
- table[i] = (GLfloat) _mesa_pow((cs + 0.055) / 1.055, 2.4);
+ table[i] = (GLfloat) pow((cs + 0.055) / 1.055, 2.4);
}
}
tableReady = GL_TRUE;
void
-_mesa_init_texture_s3tc( GLcontext *ctx )
+_mesa_init_texture_s3tc( struct gl_context *ctx )
{
/* called during context initialization */
ctx->Mesa_DXTn = GL_FALSE;
}
if (dxtlibhandle) {
ctx->Mesa_DXTn = GL_TRUE;
- _mesa_warning(ctx, "software DXTn compression/decompression available");
}
#else
(void) ctx;
const GLint texWidth = dstRowStride * 4 / 8; /* a bit of a hack */
const GLchan *tempImage = NULL;
- ASSERT(dstFormat == MESA_FORMAT_RGB_DXT1);
+ ASSERT(dstFormat == MESA_FORMAT_RGB_DXT1 ||
+ dstFormat == MESA_FORMAT_SRGB_DXT1);
ASSERT(dstXoffset % 4 == 0);
ASSERT(dstYoffset % 4 == 0);
ASSERT(dstZoffset % 4 == 0);
srcPacking);
if (!tempImage)
return GL_FALSE; /* out of memory */
- _mesa_adjust_image_for_convolution(ctx, dims, &srcWidth, &srcHeight);
pixels = tempImage;
srcRowStride = 3 * srcWidth;
srcFormat = GL_RGB;
}
if (tempImage)
- _mesa_free((void *) tempImage);
+ free((void *) tempImage);
return GL_TRUE;
}
const GLint texWidth = dstRowStride * 4 / 8; /* a bit of a hack */
const GLchan *tempImage = NULL;
- ASSERT(dstFormat == MESA_FORMAT_RGBA_DXT1);
+ ASSERT(dstFormat == MESA_FORMAT_RGBA_DXT1 ||
+ dstFormat == MESA_FORMAT_SRGBA_DXT1);
ASSERT(dstXoffset % 4 == 0);
ASSERT(dstYoffset % 4 == 0);
ASSERT(dstZoffset % 4 == 0);
srcPacking);
if (!tempImage)
return GL_FALSE; /* out of memory */
- _mesa_adjust_image_for_convolution(ctx, dims, &srcWidth, &srcHeight);
pixels = tempImage;
srcRowStride = 4 * srcWidth;
srcFormat = GL_RGBA;
}
if (tempImage)
- _mesa_free((void*) tempImage);
+ free((void*) tempImage);
return GL_TRUE;
}
const GLint texWidth = dstRowStride * 4 / 16; /* a bit of a hack */
const GLchan *tempImage = NULL;
- ASSERT(dstFormat == MESA_FORMAT_RGBA_DXT3);
+ ASSERT(dstFormat == MESA_FORMAT_RGBA_DXT3 ||
+ dstFormat == MESA_FORMAT_SRGBA_DXT3);
ASSERT(dstXoffset % 4 == 0);
ASSERT(dstYoffset % 4 == 0);
ASSERT(dstZoffset % 4 == 0);
srcPacking);
if (!tempImage)
return GL_FALSE; /* out of memory */
- _mesa_adjust_image_for_convolution(ctx, dims, &srcWidth, &srcHeight);
pixels = tempImage;
srcRowStride = 4 * srcWidth;
}
}
if (tempImage)
- _mesa_free((void *) tempImage);
+ free((void *) tempImage);
return GL_TRUE;
}
const GLint texWidth = dstRowStride * 4 / 16; /* a bit of a hack */
const GLchan *tempImage = NULL;
- ASSERT(dstFormat == MESA_FORMAT_RGBA_DXT5);
+ ASSERT(dstFormat == MESA_FORMAT_RGBA_DXT5 ||
+ dstFormat == MESA_FORMAT_SRGBA_DXT5);
ASSERT(dstXoffset % 4 == 0);
ASSERT(dstYoffset % 4 == 0);
ASSERT(dstZoffset % 4 == 0);
srcPacking);
if (!tempImage)
return GL_FALSE; /* out of memory */
- _mesa_adjust_image_for_convolution(ctx, dims, &srcWidth, &srcHeight);
pixels = tempImage;
srcRowStride = 4 * srcWidth;
}
}
if (tempImage)
- _mesa_free((void *) tempImage);
+ free((void *) tempImage);
return GL_TRUE;
}