? .depend
? disasm_vp
? maplist.txt
? re2
? renouveau
Index: nv_objects.h
===================================================================
RCS file: /cvsroot/nouveau/renouveau/nv_objects.h,v
retrieving revision 1.24
diff -u -r1.24 nv_objects.h
--- nv_objects.h	16 Jun 2006 15:53:42 -0000	1.24
+++ nv_objects.h	16 Jun 2006 16:40:58 -0000
@@ -338,10 +338,20 @@
 #define NV30_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE		0x0000183c
 #define NV30_TCL_PRIMITIVE_3D_TX_ADDRESS_UNIT(n)	(0x00001A00 + (n * 32))
 #define NV30_TCL_PRIMITIVE_3D_TX_FORMAT_UNIT(n)		(0x00001A04 + (n * 32))
+#define NV30_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_COUNT	23:20
+#define NV30_TCL_PRIMITIVE_3D_TX_FORMAT_TYPE		14:13
+#define NV30_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT		12:8
+#define NV30_TCL_PRIMITIVE_3D_TX_FORMAT_NCOMP		7:4 /* 2=2D, 3=3D, high bit may be wrong */
+#define NV30_TCL_PRIMITIVE_3D_TX_FORMAT_CUBIC		2:2
 #define NV30_TCL_PRIMITIVE_3D_TX_WRAP_UNIT(n)		(0x00001A08 + (n * 32))
+#define NV30_TCL_PRIMITIVE_3D_TX_WRAP_S			7:0
+#define NV30_TCL_PRIMITIVE_3D_TX_WRAP_T			15:8
+#define NV30_TCL_PRIMITIVE_3D_TX_WRAP_R			23:16
 #define NV30_TCL_PRIMITIVE_3D_TX_UNK03_UNIT(n)		(0x00001A0C + (n * 32))
 #define NV30_TCL_PRIMITIVE_3D_TX_SWIZZLE_UNIT(n)	(0x00001A10 + (n * 32))
 #define NV30_TCL_PRIMITIVE_3D_TX_FILTER_UNIT(n)		(0x00001A14 + (n * 32))
+#define NV30_TCL_PRIMITIVE_3D_TX_FILTER_MIN		19:16
+#define NV30_TCL_PRIMITIVE_3D_TX_FILTER_MAG		27:24
 #define NV30_TCL_PRIMITIVE_3D_TX_XY_DIM_UNIT(n)		(0x00001A18 + (n * 32))
 #define NV30_TCL_PRIMITIVE_3D_TX_UNK07_UNIT(n)		(0x00001A1C + (n * 32))
 #define NV30_TCL_PRIMITIVE_3D_CLEAR_VALUES		0x00001d8c
Index: objects.c
===================================================================
RCS file: /cvsroot/nouveau/renouveau/objects.c,v
retrieving revision 1.27
diff -u -r1.27 objects.c
--- objects.c	16 Jun 2006 15:53:42 -0000	1.27
+++ objects.c	16 Jun 2006 16:40:58 -0000
@@ -77,7 +77,7 @@
 // temporary
 #define PRINT_OBJECT	{0, 31, &print_format, "object %08x"}
 
-data_store begin_end_data[] = {
+static data_store begin_end_data[] = {
     { __(STOP)				},
     { __(POINTS)			},
     { __(LINES)				},
@@ -92,13 +92,13 @@
     {}
 };
 
-data_store bool_data[] = {
+static data_store bool_data[] = {
     { __(TRUE)				},
     { __(FALSE)				},
     {}
 };
 
-data_store gl_data[] = {
+static data_store gl_data[] = {
     { __(GL_ONE)			},
     { __(GL_ZERO)			},
     { __(GL_NEVER)			},
@@ -148,6 +148,45 @@
     {}
 };
 
+static data_store nv30_tx_type[] = {
+	{ 0x0, "POT"	},
+	{ 0x1, "NPOT"	},
+	{ 0x3, "RECT"	},
+	{}
+};
+
+static data_store nv30_tx_format[] = {
+	{ 0x01, "L8"	},
+	{ 0x02, "A1R5G5B5" },
+	{ 0x03, "A4R4G4B4" },
+	{ 0x04, "R5G6B5" },
+	{ 0x05, "A8R8G8B8" },
+	{ 0x06, "DXT1" },
+	{ 0x07, "DXT3" },
+	{ 0x08, "DXT5" },
+	{ 0x14, "L16" },
+	{ 0x15, "G16R16" },    /* possibly wrong */
+	{ 0x18, "A8L8" },    /* possibly wrong */
+	{}
+};
+
+static data_store nv30_tx_wrap[] = {
+	{ 1,	"REPEAT"		},
+	{ 2, 	"MIRRORED_REPEAT"	},
+	{ 3,	"CLAMP/CLAMP_TO_EDGE"	},
+	{ 4,	"CLAMP_TO_BORDER"	},
+	{}
+};
+
+static data_store nv30_tx_filter[] = {
+	{ 1,	"NEAREST"		},
+	{ 2,	"LINEAR"		},
+	{ 3, 	"NEAREST_MIPMAP_NEAREST"},
+	{ 4, 	"LINEAR_MIPMAP_NEAREST"	},
+	{ 5, 	"NEAREST_MIPMAP_LINEAR"	},
+	{ 6, 	"LINEAR_MIPMAP_LINEAR"	},
+	{}
+};
 
 static const object_store nv_objects[0x100] = {
 	[NV_MEMORY_TO_MEMORY_FORMAT] = { __(NV_MEMORY_TO_MEMORY_FORMAT), NV04|NV10|NV15|NV20|NV30|NV40|G70, {
@@ -464,14 +503,33 @@
 		{__(NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST),	{PRINT_X32,			{}} },
 #define NV30_TCL_TX_UNIT(n) \
 		{__(NV30_TCL_PRIMITIVE_3D_TX_ADDRESS_UNIT(n)), {PRINT_X32, {}} }, \
-		{__(NV30_TCL_PRIMITIVE_3D_TX_FORMAT_UNIT(n)), {PRINT_FUNC(nv30_tx_format_print), {}} }, \
-		{__(NV30_TCL_PRIMITIVE_3D_TX_WRAP_UNIT(n)), {PRINT_FUNC(nv30_tx_wrap_print), {}} }, \
-		{__(NV30_TCL_PRIMITIVE_3D_TX_UNK03_UNIT(n)), {PRINT_X32, {}} }, \
+		{__(NV30_TCL_PRIMITIVE_3D_TX_FORMAT_UNIT(n)), {	\
+			PRINT_BITFIELD(NV30_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_COUNT, print_format, "%d", "mipmap"), \
+			PRINT_BITFIELD(NV30_TCL_PRIMITIVE_3D_TX_FORMAT_TYPE, print_macro, nv30_tx_type, "type"), \
+			PRINT_BITFIELD(NV30_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT, print_macro, nv30_tx_format, "format"), \
+			PRINT_BITFIELD(NV30_TCL_PRIMITIVE_3D_TX_FORMAT_NCOMP, print_format, "%d", "ncomp"), \
+			PRINT_BITFIELD(NV30_TCL_PRIMITIVE_3D_TX_FORMAT_CUBIC, print_macro, bool_data, "cubic"), \
+											{}} }, \
+		{__(NV30_TCL_PRIMITIVE_3D_TX_WRAP_UNIT(n)), { \
+			PRINT_BITFIELD(NV30_TCL_PRIMITIVE_3D_TX_WRAP_S, print_macro, nv30_tx_wrap, "wrap_s"),	\
+			PRINT_BITFIELD(NV30_TCL_PRIMITIVE_3D_TX_WRAP_T, print_macro, nv30_tx_wrap, "wrap_u"),	\
+			PRINT_BITFIELD(NV30_TCL_PRIMITIVE_3D_TX_WRAP_R, print_macro, nv30_tx_wrap, "wrap_r"),	\
+											{}} }, \
+		{__(NV30_TCL_PRIMITIVE_3D_TX_UNK03_UNIT(n)), {		{}} }, \
 		{__(NV30_TCL_PRIMITIVE_3D_TX_SWIZZLE_UNIT(n)), {PRINT_FUNC(nv30_tx_swizzle_print), {}} }, \
-		{__(NV30_TCL_PRIMITIVE_3D_TX_FILTER_UNIT(n)), {PRINT_FUNC(nv30_tx_filter_print), {}} }, \
-		{__(NV30_TCL_PRIMITIVE_3D_TX_XY_DIM_UNIT(n)), {PRINT_FUNC(nv30_tx_xy_dim_print), {}} }, \
-		{__(NV30_TCL_PRIMITIVE_3D_TX_UNK07_UNIT(n)), {PRINT_X32, {}} }, \
-		{__(NV30_TCL_PRIMITIVE_3D_TX_DEPTH_UNIT(n)), {PRINT_FUNC(nv30_tx_depth_print), {}} }, \
+		{__(NV30_TCL_PRIMITIVE_3D_TX_FILTER_UNIT(n)), { \
+			PRINT_BITFIELD(NV30_TCL_PRIMITIVE_3D_TX_FILTER_MIN, print_macro, nv30_tx_filter, "filter_min"), \
+			PRINT_BITFIELD(NV30_TCL_PRIMITIVE_3D_TX_FILTER_MAG, print_macro, nv30_tx_filter, "filter_mag"), \
+											{}} }, \
+		{__(NV30_TCL_PRIMITIVE_3D_TX_XY_DIM_UNIT(n)), {	\
+			PRINT_BITFIELD(31:16, print_format, "%d", "width"),	\
+			PRINT_BITFIELD(15:0, print_format, "%d", "height"),	\
+											{}} }, \
+		{__(NV30_TCL_PRIMITIVE_3D_TX_UNK07_UNIT(n)), {		{}} }, \
+		{__(NV30_TCL_PRIMITIVE_3D_TX_DEPTH_UNIT(n)), {	\
+			PRINT_BITFIELD(31:20, print_format, "%d", "depth"),	\
+			PRINT_BITFIELD(7:7, print_macro, bool_data, "height"),	\
+											{}} }, \
 		{__(NV30_TCL_PRIMITIVE_3D_VB_POINTER), {PRINT_X32, {}} }, \
 		{__(NV30_TCL_PRIMITIVE_3D_VB_VERTEX_BATCH), {PRINT_X32, {}} }, \
 		{__(NV30_TCL_PRIMITIVE_3D_FP_ACTIVE_PROGRAM), {PRINT_X32, {}} },
Index: objects.h
===================================================================
RCS file: /cvsroot/nouveau/renouveau/objects.h,v
retrieving revision 1.9
diff -u -r1.9 objects.h
--- objects.h	16 Jun 2006 15:01:58 -0000	1.9
+++ objects.h	16 Jun 2006 16:40:58 -0000
@@ -46,10 +46,7 @@
 extern const char *record_length_in(unsigned int, void*);
 extern const char *record_dma_op(unsigned int, void*);
 
-extern const char *nv30_tx_format_print(unsigned int, void*);
-extern const char *nv30_tx_wrap_print(unsigned int, void*);
 extern const char *nv30_tx_swizzle_print(unsigned int, void*);
-extern const char *nv30_tx_filter_print(unsigned int, void*);
 extern const char *nv30_tx_xy_dim_print(unsigned int, void*);
 extern const char *nv30_tx_depth_print(unsigned int, void*);
 extern const char *nv30_disasm_vp_id_set(unsigned int, void*);
Index: texture.c
===================================================================
RCS file: /cvsroot/nouveau/renouveau/texture.c,v
retrieving revision 1.4
diff -u -r1.4 texture.c
--- texture.c	14 Jun 2006 04:15:13 -0000	1.4
+++ texture.c	16 Jun 2006 16:40:58 -0000
@@ -2,81 +2,6 @@
 #include <string.h>
 #include "nv40_reg.h"
 
-static const char *
-nv30_tx_format_name_get(int id)
-{
-	int fmt = (id & NV30_TX_FORMAT_MASK) >> NV30_TX_FORMAT_SHIFT;
-
-	switch(fmt) {
-	case NV30_TX_FORMAT_L8      : return "L8";
-	case NV30_TX_FORMAT_A1R5G5B5: return "A1R5G5B5";
-	case NV30_TX_FORMAT_A4R4G4B4: return "A4R4G4B4";
-	case NV30_TX_FORMAT_R5G6B5  : return "R5G6B5";
-	case NV30_TX_FORMAT_A8R8G8B8: return "A8R8G8B8";
-	case NV30_TX_FORMAT_DXT1    : return "DXT1";
-	case NV30_TX_FORMAT_DXT3    : return "DXT3";
-	case NV30_TX_FORMAT_DXT5    : return "DXT5";
-	case NV30_TX_FORMAT_L16     : return "L16";
-	case NV30_TX_FORMAT_G16R16  : return "G16R16";
-	case NV30_TX_FORMAT_A8L8    : return "A8L8";
-	default: return "UNKNOWN";
-	}
-}
-
-static const char *
-nv30_tx_wrap_name_get(int wrap)
-{
-	switch(wrap) {
-	case NV30_TX_REPEAT         : return "REPEAT";
-	case NV30_TX_MIRRORED_REPEAT: return "MIRRORED_REPEAT";
-	case NV30_TX_CLAMP_TO_EDGE  : return "CLAMP/CLAMP_TO_EDGE";
-	case NV30_TX_CLAMP_TO_BORDER: return "CLAMP_TO_BORDER";
-	default: return "UNKNOWN";
-	}
-}
-
-static const char *
-nv30_tx_filter_name_get(int filt)
-{
-	switch(filt) {
-	case NV30_TX_FILTER_NEAREST: return "NEAREST";
-	case NV30_TX_FILTER_LINEAR : return "LINEAR";
-	case NV30_TX_FILTER_NEAREST_MIPMAP_NEAREST: return "NEAREST_MIPMAP_NEAREST";
-	case NV30_TX_FILTER_NEAREST_MIPMAP_LINEAR : return "NEAREST_MIPMAP_LINEAR";
-	case NV30_TX_FILTER_LINEAR_MIPMAP_NEAREST : return "LINEAR_MIPMAP_NEAREST";
-	case NV30_TX_FILTER_LINEAR_MIPMAP_LINEAR  : return "LINEAR_MIPMAP_LINEAR ";
-	default: return "UNKNOWN";
-	}
-}
-
-const char *
-nv30_tx_format_print(unsigned int value, void *data)
-{
-	static char buf[100];
-
-	snprintf(buf, sizeof(buf), "mipmaps:%d type:%s format:%s ncomp:%d cubic:%d",
-			(value & NV30_TX_MIPMAP_COUNT_MASK) >> NV30_TX_MIPMAP_COUNT_SHIFT,
-			(value & NV30_TX_NPOT) ? ((value & NV30_TX_RECTANGLE) ? "RECT" : "NPOT") : "POT",
-			nv30_tx_format_name_get(value),
-			(value & NV30_TX_NCOMP_MASK) >> NV30_TX_NCOMP_SHIFT,
-			(value & NV30_TX_CUBIC) ? 1 : 0
-			);
-	return buf;
-}
-
-const char *
-nv30_tx_wrap_print(unsigned int value, void *data)
-{
-	static char buf[100];
-
-	snprintf(buf, sizeof(buf), "wrap_s:%s, wrap_t:%s, wrap_r:%s",
-			nv30_tx_wrap_name_get((value & NV30_TX_WRAP_S_MASK) >> NV30_TX_WRAP_S_SHIFT),
-			nv30_tx_wrap_name_get((value & NV30_TX_WRAP_T_MASK) >> NV30_TX_WRAP_T_SHIFT),
-			nv30_tx_wrap_name_get((value & NV30_TX_WRAP_R_MASK) >> NV30_TX_WRAP_R_SHIFT)
-			);
-	return buf;
-}
-
 const char *
 nv30_tx_swizzle_print(unsigned int value, void *data)
 {
@@ -106,40 +31,4 @@
 	return buf;
 }
 
-const char *
-nv30_tx_filter_print(unsigned int value, void *data)
-{
-	static char buf[100];
-
-	snprintf(buf, sizeof(buf), "min_filt:%s mag_filt:%s",
-			nv30_tx_filter_name_get((value & NV30_TX_MIN_FILTER_MASK) >> NV30_TX_MIN_FILTER_SHIFT),
-			nv30_tx_filter_name_get((value & NV30_TX_MAG_FILTER_MASK) >> NV30_TX_MAG_FILTER_SHIFT)
-		  );
-	return buf;
-}
-
-const char *
-nv30_tx_xy_dim_print(unsigned int value, void *data)
-{
-	static char buf[100];
-
-	snprintf(buf, sizeof(buf), "width:%d height:%d",
-			(value & NV30_TX_WIDTH_MASK) >> NV30_TX_WIDTH_SHIFT,
-			(value & NV30_TX_HEIGHT_MASK) >> NV30_TX_HEIGHT_SHIFT
-		  );
-	return buf;
-}
-
-
-const char *
-nv30_tx_depth_print(unsigned int value, void *data)
-{
-	static char buf[100];
-
-	snprintf(buf, sizeof(buf), "depth:%d type:%s",
-			(value & NV30_TX_DEPTH_MASK) >> NV30_TX_DEPTH_SHIFT,
-			(value & NV30_TX_DEPTH_NPOT) ? "NPOT/RECT" : "POT"
-			);
-	return buf;
-}
 
