[Mesa-dev] [PATCH 2/4] mesa: build the just imported txc_dxtn code, but only when configured with --enable-patented

Jon Severinsson jon at severinsson.net
Sun Mar 6 15:47:47 PST 2011


Also do some minor header and coding style modifications to better fit into mesa.
Note that this isn't actually used by anything just yet.
---
 src/mesa/main/txc_compress_dxtn.c |   28 +++++++++++--
 src/mesa/main/txc_dxtn.h          |   60 +++++++++++++++++-----------
 src/mesa/main/txc_fetch_dxtn.c    |   79 +++++++++++++++++++++++++++++++------
 src/mesa/sources.mak              |    2 +
 4 files changed, 129 insertions(+), 40 deletions(-)

diff --git a/src/mesa/main/txc_compress_dxtn.c b/src/mesa/main/txc_compress_dxtn.c
index cf83d08..1683417 100644
--- a/src/mesa/main/txc_compress_dxtn.c
+++ b/src/mesa/main/txc_compress_dxtn.c
@@ -1,6 +1,6 @@
 /*
- * libtxc_dxtn
- * Version:  1.0
+ * Mesa 3-D graphics library
+ * Version:  7.11
  *
  * Copyright (C) 2004  Roland Scheidegger   All Rights Reserved.
  *
@@ -26,6 +26,8 @@
 #include <stdlib.h>
 #include "txc_dxtn.h"
 
+#ifdef ENABLE_PATENTED
+
 /* weights used for error function, basically weights (unsquared 2/4/1) according to rgb->luminance conversion
    not sure if this really reflects visual perception */
 #define REDWEIGHT 4
@@ -755,8 +757,13 @@ static void extractsrccolors( GLubyte srcpixels[4][4][4], const GLchan *srcaddr,
 }
 
 
-void tx_compress_dxtn(GLint srccomps, GLint width, GLint height, const GLubyte *srcPixData,
-                     GLenum destFormat, GLubyte *dest, GLint dstRowStride)
+void
+tx_compress_dxtn(GLint srccomps,
+                 GLint width, GLint height,
+                 const GLubyte *srcPixData,
+                 GLenum destFormat,
+                 GLubyte *dest,
+                 GLint dstRowStride)
 {
       GLubyte *blkaddr = dest;
       GLubyte srcpixels[4][4][4];
@@ -840,4 +847,17 @@ void tx_compress_dxtn(GLint srccomps, GLint width, GLint height, const GLubyte *
    }
 }
 
+#else /* ENABLE_PATENTED */
+
+void
+tx_compress_dxtn(GLint srccomps,
+                 GLint width, GLint height,
+                 const GLubyte *srcPixData,
+                 GLenum destFormat,
+                 GLubyte *dest,
+                 GLint dstRowStride)
+{
+   assert(0);
+}
 
+#endif /* ENABLE_PATENTED */
diff --git a/src/mesa/main/txc_dxtn.h b/src/mesa/main/txc_dxtn.h
index cd1095b..24f2604 100644
--- a/src/mesa/main/txc_dxtn.h
+++ b/src/mesa/main/txc_dxtn.h
@@ -1,6 +1,6 @@
 /*
- * libtxc_dxtn
- * Version:  1.0
+ * Mesa 3-D graphics library
+ * Version:  7.11
  *
  * Copyright (C) 2004  Roland Scheidegger   All Rights Reserved.
  *
@@ -25,27 +25,39 @@
 #ifndef _TXC_DXTN_H
 #define _TXC_DXTN_H
 
-#include <GL/gl.h>
-
-typedef GLubyte GLchan;
-#define UBYTE_TO_CHAN(b)  (b)
-#define CHAN_MAX 255
-#define RCOMP 0
-#define GCOMP 1
-#define BCOMP 2
-#define ACOMP 3
-
-void fetch_2d_texel_rgb_dxt1(GLint srcRowStride, const GLubyte *pixdata,
-			     GLint i, GLint j, GLvoid *texel);
-void fetch_2d_texel_rgba_dxt1(GLint srcRowStride, const GLubyte *pixdata,
-			     GLint i, GLint j, GLvoid *texel);
-void fetch_2d_texel_rgba_dxt3(GLint srcRowStride, const GLubyte *pixdata,
-			     GLint i, GLint j, GLvoid *texel);
-void fetch_2d_texel_rgba_dxt5(GLint srcRowStride, const GLubyte *pixdata,
-			     GLint i, GLint j, GLvoid *texel);
-
-void tx_compress_dxtn(GLint srccomps, GLint width, GLint height,
-		      const GLubyte *srcPixData, GLenum destformat,
-		      GLubyte *dest, GLint dstRowStride);
+#include "mtypes.h"
+#include "colormac.h"
+
+void
+fetch_2d_texel_rgb_dxt1(GLint srcRowStride,
+                        const GLubyte *pixdata,
+                        GLint i, GLint j,
+                        GLvoid *texel);
+
+void
+fetch_2d_texel_rgba_dxt1(GLint srcRowStride,
+                         const GLubyte *pixdata,
+                         GLint i,GLint j,
+                         GLvoid *texel);
+
+void
+fetch_2d_texel_rgba_dxt3(GLint srcRowStride,
+                         const GLubyte *pixdata,
+                         GLint i, GLint j,
+                         GLvoid *texel);
+
+void
+fetch_2d_texel_rgba_dxt5(GLint srcRowStride,
+                         const GLubyte *pixdata,
+                         GLint i, GLint j,
+                         GLvoid *texel);
+
+void
+tx_compress_dxtn(GLint srccomps,
+                 GLint width, GLint height,
+                 const GLubyte *srcPixData,
+                 GLenum destformat,
+                 GLubyte *dest,
+                 GLint dstRowStride);
 
 #endif /* _TXC_DXTN_H */
diff --git a/src/mesa/main/txc_fetch_dxtn.c b/src/mesa/main/txc_fetch_dxtn.c
index 7f0db56..9301699 100644
--- a/src/mesa/main/txc_fetch_dxtn.c
+++ b/src/mesa/main/txc_fetch_dxtn.c
@@ -1,6 +1,6 @@
 /*
- * libtxc_dxtn
- * Version:  1.0
+ * Mesa 3-D graphics library
+ * Version:  7.11
  *
  * Copyright (C) 2004  Roland Scheidegger   All Rights Reserved.
  *
@@ -25,6 +25,8 @@
 #include <stdio.h>
 #include "txc_dxtn.h"
 
+#ifdef ENABLE_PATENTED
+
 #define EXP5TO8R(packedcol)					\
    ((((packedcol) >> 8) & 0xf8) | (((packedcol) >> 13) & 0x7))
 
@@ -94,8 +96,11 @@ static void dxt135_decode_imageblock ( const GLubyte *img_block_src,
 }
 
 
-void fetch_2d_texel_rgb_dxt1(GLint srcRowStride, const GLubyte *pixdata,
-                         GLint i, GLint j, GLvoid *texel)
+void
+fetch_2d_texel_rgb_dxt1(GLint srcRowStride,
+                        const GLubyte *pixdata,
+                        GLint i, GLint j,
+                        GLvoid *texel)
 {
    /* Extract the (i,j) pixel from pixdata and return it
     * in texel[RCOMP], texel[GCOMP], texel[BCOMP], texel[ACOMP].
@@ -106,8 +111,11 @@ void fetch_2d_texel_rgb_dxt1(GLint srcRowStride, const GLubyte *pixdata,
 }
 
 
-void fetch_2d_texel_rgba_dxt1(GLint srcRowStride, const GLubyte *pixdata,
-                         GLint i, GLint j, GLvoid *texel)
+void
+fetch_2d_texel_rgba_dxt1(GLint srcRowStride,
+                         const GLubyte *pixdata,
+                         GLint i, GLint j,
+                         GLvoid *texel)
 {
    /* Extract the (i,j) pixel from pixdata and return it
     * in texel[RCOMP], texel[GCOMP], texel[BCOMP], texel[ACOMP].
@@ -117,9 +125,12 @@ void fetch_2d_texel_rgba_dxt1(GLint srcRowStride, const GLubyte *pixdata,
    dxt135_decode_imageblock(blksrc, (i&3), (j&3), 1, texel);
 }
 
-void fetch_2d_texel_rgba_dxt3(GLint srcRowStride, const GLubyte *pixdata,
-                         GLint i, GLint j, GLvoid *texel) {
-
+void
+fetch_2d_texel_rgba_dxt3(GLint srcRowStride,
+                         const GLubyte *pixdata,
+                         GLint i, GLint j,
+                         GLvoid *texel)
+{
    /* Extract the (i,j) pixel from pixdata and return it
     * in texel[RCOMP], texel[GCOMP], texel[BCOMP], texel[ACOMP].
     */
@@ -148,9 +159,12 @@ void fetch_2d_texel_rgba_dxt3(GLint srcRowStride, const GLubyte *pixdata,
 
 }
 
-void fetch_2d_texel_rgba_dxt5(GLint srcRowStride, const GLubyte *pixdata,
-                         GLint i, GLint j, GLvoid *texel) {
-
+void
+fetch_2d_texel_rgba_dxt5(GLint srcRowStride,
+                         const GLubyte *pixdata,
+                         GLint i, GLint j,
+                         GLvoid *texel)
+{
    /* Extract the (i,j) pixel from pixdata and return it
     * in texel[RCOMP], texel[GCOMP], texel[BCOMP], texel[ACOMP].
     */
@@ -241,3 +255,44 @@ void fetch_2d_texel_rgba_dxt5(GLint srcRowStride, const GLubyte *pixdata,
       rgba[ACOMP] = CHAN_MAX;
 #endif
 }
+
+#else /* ENABLE_PATENTED */
+
+void
+fetch_2d_texel_rgb_dxt1(GLint srcRowStride,
+                        const GLubyte *pixdata,
+                        GLint i, GLint j,
+                        GLvoid *texel)
+{
+   assert(0);
+}
+
+
+void
+fetch_2d_texel_rgba_dxt1(GLint srcRowStride,
+                         const GLubyte *pixdata,
+                         GLint i, GLint j,
+                         GLvoid *texel)
+{
+   assert(0);
+}
+
+void
+fetch_2d_texel_rgba_dxt3(GLint srcRowStride,
+                         const GLubyte *pixdata,
+                         GLint i, GLint j,
+                         GLvoid *texel)
+{
+   assert(0);
+}
+
+void
+fetch_2d_texel_rgba_dxt5(GLint srcRowStride,
+                         const GLubyte *pixdata,
+                         GLint i, GLint j,
+                         GLvoid *texel)
+{
+   assert(0);
+}
+
+#endif /* ENABLE_PATENTED */
diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak
index ae92e4d..cae3fbb 100644
--- a/src/mesa/sources.mak
+++ b/src/mesa/sources.mak
@@ -96,6 +96,8 @@ MAIN_SOURCES = \
 	main/texstate.c \
 	main/texstore.c \
 	main/transformfeedback.c \
+	main/txc_compress_dxtn.c \
+	main/txc_fetch_dxtn.c \
 	main/uniforms.c \
 	main/varray.c \
 	main/version.c \
-- 
1.7.3.4



More information about the mesa-dev mailing list