On Mon, Oct 2, 2017 at 4:23 AM, Nicolai Hähnle <[email protected]> wrote: > On 02.10.2017 08:59, Matt Turner wrote: >> >> --- >> src/mesa/main/texcompress_s3tc.c | 117 >> +++++++++------------------------------ >> 1 file changed, 25 insertions(+), 92 deletions(-) >> >> diff --git a/src/mesa/main/texcompress_s3tc.c >> b/src/mesa/main/texcompress_s3tc.c >> index e08ed23d3a..e74e4c402a 100644 >> --- a/src/mesa/main/texcompress_s3tc.c >> +++ b/src/mesa/main/texcompress_s3tc.c >> @@ -43,78 +43,11 @@ >> #include "util/format_srgb.h" >> -#if defined(_WIN32) || defined(WIN32) >> -#define DXTN_LIBNAME "dxtn.dll" >> -#define RTLD_LAZY 0 >> -#define RTLD_GLOBAL 0 >> -#elif defined(__CYGWIN__) >> -#define DXTN_LIBNAME "cygtxc_dxtn.dll" >> -#else >> -#define DXTN_LIBNAME "libtxc_dxtn.so" >> -#endif >> - >> -typedef void (*dxtFetchTexelFuncExt)( GLint srcRowstride, const GLubyte >> *pixdata, GLint col, GLint row, GLvoid *texelOut ); >> - >> -static dxtFetchTexelFuncExt fetch_ext_rgb_dxt1 = NULL; >> -static dxtFetchTexelFuncExt fetch_ext_rgba_dxt1 = NULL; >> -static dxtFetchTexelFuncExt fetch_ext_rgba_dxt3 = NULL; >> -static dxtFetchTexelFuncExt fetch_ext_rgba_dxt5 = NULL; >> - >> -typedef void (*dxtCompressTexFuncExt)(GLint srccomps, GLint width, >> - GLint height, const GLubyte >> *srcPixData, >> - GLenum destformat, GLubyte *dest, >> - GLint dstRowStride); >> - >> -static dxtCompressTexFuncExt ext_tx_compress_dxtn = NULL; >> - >> -static void *dxtlibhandle = NULL; >> - >> - >> void >> _mesa_init_texture_s3tc( struct gl_context *ctx ) >> { >> /* called during context initialization */ >> - ctx->Mesa_DXTn = GL_FALSE; >> - if (!dxtlibhandle) { >> - dxtlibhandle = _mesa_dlopen(DXTN_LIBNAME, 0); >> - if (!dxtlibhandle) { >> - _mesa_warning(ctx, "couldn't open " DXTN_LIBNAME ", software DXTn >> " >> - "compression/decompression unavailable"); >> - } >> - else { >> - /* the fetch functions are not per context! Might be >> problematic... */ >> - fetch_ext_rgb_dxt1 = (dxtFetchTexelFuncExt) >> - _mesa_dlsym(dxtlibhandle, "fetch_2d_texel_rgb_dxt1"); >> - fetch_ext_rgba_dxt1 = (dxtFetchTexelFuncExt) >> - _mesa_dlsym(dxtlibhandle, "fetch_2d_texel_rgba_dxt1"); >> - fetch_ext_rgba_dxt3 = (dxtFetchTexelFuncExt) >> - _mesa_dlsym(dxtlibhandle, "fetch_2d_texel_rgba_dxt3"); >> - fetch_ext_rgba_dxt5 = (dxtFetchTexelFuncExt) >> - _mesa_dlsym(dxtlibhandle, "fetch_2d_texel_rgba_dxt5"); >> - ext_tx_compress_dxtn = (dxtCompressTexFuncExt) >> - _mesa_dlsym(dxtlibhandle, "tx_compress_dxtn"); >> - >> - if (!fetch_ext_rgb_dxt1 || >> - !fetch_ext_rgba_dxt1 || >> - !fetch_ext_rgba_dxt3 || >> - !fetch_ext_rgba_dxt5 || >> - !ext_tx_compress_dxtn) { >> - _mesa_warning(ctx, "couldn't reference all symbols in " >> - DXTN_LIBNAME ", software DXTn compression/decompression " >> - "unavailable"); >> - fetch_ext_rgb_dxt1 = NULL; >> - fetch_ext_rgba_dxt1 = NULL; >> - fetch_ext_rgba_dxt3 = NULL; >> - fetch_ext_rgba_dxt5 = NULL; >> - ext_tx_compress_dxtn = NULL; >> - _mesa_dlclose(dxtlibhandle); >> - dxtlibhandle = NULL; >> - } >> - } >> - } >> - if (dxtlibhandle) { >> - ctx->Mesa_DXTn = GL_TRUE; >> - } >> + ctx->Mesa_DXTn = GL_TRUE; >> } >> /** >> @@ -159,8 +92,8 @@ _mesa_texstore_rgb_dxt1(TEXSTORE_PARAMS) >> dst = dstSlices[0]; >> - if (ext_tx_compress_dxtn) { >> - (*ext_tx_compress_dxtn)(3, srcWidth, srcHeight, pixels, >> + if (tx_compress_dxtn) { >> + (*tx_compress_dxtn)(3, srcWidth, srcHeight, pixels, >> GL_COMPRESSED_RGB_S3TC_DXT1_EXT, >> dst, dstRowStride); >> } >> @@ -217,8 +150,8 @@ _mesa_texstore_rgba_dxt1(TEXSTORE_PARAMS) >> dst = dstSlices[0]; >> - if (ext_tx_compress_dxtn) { >> - (*ext_tx_compress_dxtn)(4, srcWidth, srcHeight, pixels, >> + if (tx_compress_dxtn) { >> + (*tx_compress_dxtn)(4, srcWidth, srcHeight, pixels, >> GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, >> dst, dstRowStride); >> } >> @@ -274,8 +207,8 @@ _mesa_texstore_rgba_dxt3(TEXSTORE_PARAMS) >> dst = dstSlices[0]; >> - if (ext_tx_compress_dxtn) { >> - (*ext_tx_compress_dxtn)(4, srcWidth, srcHeight, pixels, >> + if (tx_compress_dxtn) { >> + (*tx_compress_dxtn)(4, srcWidth, srcHeight, pixels, > > > Does the function pointer syntax compile when tx_compress_dxtn is not a > function pointer? Just in case you haven't done it, please use git rebase -x > to make sure each individual step in the series compiles.
It does, yes :) (and I did git rebase -x make :) _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
