diff options
author | dawes <dawes> | 2002-09-11 00:57:47 +0000 |
---|---|---|
committer | dawes <dawes> | 2002-09-11 00:57:47 +0000 |
commit | b92f66e136342c471c33c1670e2449d0d383a13a (patch) | |
tree | a4259587909b67be5bd913a452e8f24a86fdfe58 /xc/lib | |
parent | 0bd932181a7cafa9d7704e1239e37e818399fa16 (diff) |
- Fix various bugs in the DRI support for the i830 and i845G (Keith Whitwell).
- Major rework of the 2D i830/i845G support, including:
- Improve VESA mode selection, and fix refresh rate selection.
- Don't duplicate functions provided in the vbe modules.
- Don't duplicate functions provided in the vgahw module.
- Rewrite memory allocation.
- Rewrite initialisation and save/restore state handling.
- Decouple the i810 support from i830 and later.
- Remove various unnecessary hacks and workarounds.
- Fix an 845G problem with the ring buffer not in pre-allocated
memory.
- Fix screen blanking.
- Fix some HW cursor glitches, and turn HW cursor off at VT switch
and exit.
- Don't attempt to use the i830's function 1 entity.
- Fix problems with option handling.
(David Dawes).
- Add mode VBE-aware mode handling functions to the vbe module (David Dawes).
Diffstat (limited to 'xc/lib')
22 files changed, 902 insertions, 22517 deletions
diff --git a/xc/lib/GL/mesa/src/drv/i810/Imakefile b/xc/lib/GL/mesa/src/drv/i810/Imakefile index b4d509db3..2d32ec508 100644 --- a/xc/lib/GL/mesa/src/drv/i810/Imakefile +++ b/xc/lib/GL/mesa/src/drv/i810/Imakefile @@ -32,8 +32,17 @@ XCOMM $XFree86: xc/lib/GL/mesa/src/drv/i810/Imakefile,v 1.21 2002/02/23 00:45:49 #include "../../SPARC/Imakefile.inc" #endif +#ifndef HaveDrmCommand +#define HaveDrmCommand NO +#endif + +#if HaveDrmCommand +DRMCOMMAND_DEFINES = -DHAVE_DRM_COMMAND +#endif + + DEFINES = $(ALLOC_DEFINES) $(DRI_DEFINES) $(MESA_ASM_DEFINES) \ + $(DRMCOMMAND_DEFINES) - DEFINES = $(ALLOC_DEFINES) $(DRI_DEFINES) $(MESA_ASM_DEFINES) INCLUDES = $(X_INCLUDES) $(MESA_INCLUDES) $(DRI_INCLUDES) DRIOBJS = $(GLXLIBSRC)/dri/dri_util.o diff --git a/xc/lib/GL/mesa/src/drv/i830/Imakefile b/xc/lib/GL/mesa/src/drv/i830/Imakefile index 18d9a24ab..4d48a651c 100644 --- a/xc/lib/GL/mesa/src/drv/i830/Imakefile +++ b/xc/lib/GL/mesa/src/drv/i830/Imakefile @@ -29,8 +29,17 @@ XCOMM $XFree86: xc/lib/GL/mesa/src/drv/i830/Imakefile,v 1.2 2002/02/23 00:45:50 #include "../../X86/Imakefile.inc" #endif +#ifndef HaveDrmCommand +#define HaveDrmCommand NO +#endif + +#if HaveDrmCommand +DRMCOMMAND_DEFINES = -DHAVE_DRM_COMMAND +#endif + + DEFINES = $(ALLOC_DEFINES) $(DRI_DEFINES) $(MESA_ASM_DEFINES) \ + $(DRMCOMMAND_DEFINES) - DEFINES = $(ALLOC_DEFINES) $(DRI_DEFINES) $(MESA_ASM_DEFINES) INCLUDES = $(X_INCLUDES) $(MESA_INCLUDES) $(DRI_INCLUDES) DRIOBJS = $(GLXLIBSRC)/dri/dri_util.o @@ -52,7 +61,7 @@ XCOMM $XFree86: xc/lib/GL/mesa/src/drv/i830/Imakefile,v 1.2 2002/02/23 00:45:50 OBJS = $(LOOBJS) $(DRIOBJS) $(DRMOBJS) $(COREMESAOBJS) \ $(MESA_ASM_OBJS) $(COMMONOBJS) $(I830OBJS) $(HIOBJS) -REQUIREDLIBS = MathLibrary $(LDPRELIB) $(GLXLIB) $(XONLYLIB) +REQUIREDLIBS = MathLibrary $(LDPRELIB) $(GLXLIB) #include <Library.tmpl> @@ -63,12 +72,12 @@ NormalLintTarget($(SRCS)) #if !GlxUseBuiltInDRIDriver LIBNAME = i830_dri.so -SharedDriModuleTarget($(LIBNAME),DONE,$(OBJS)) +SharedDriModuleTarget($(LIBNAME),DONE $(OBJS),$(OBJS)) InstallDynamicModule($(LIBNAME),$(MODULEDIR),dri) #ifdef GlxSoProf SOPROF_LIBNAME = _i830_dri_p -NormalDepLibraryTarget($(SOPROF_LIBNAME),DONE,$(ALL_OBJS)) +NormalDepLibraryTarget($(SOPROF_LIBNAME),DONE $(OBJS),$(OBJS)) InstallLibrary($(SOPROF_LIBNAME),$(MODULEDIR)/dri) #endif #endif diff --git a/xc/lib/GL/mesa/src/drv/i830/Imakefile.inc b/xc/lib/GL/mesa/src/drv/i830/Imakefile.inc index 9da00b91a..9474d7e25 100644 --- a/xc/lib/GL/mesa/src/drv/i830/Imakefile.inc +++ b/xc/lib/GL/mesa/src/drv/i830/Imakefile.inc @@ -59,7 +59,7 @@ MESA_INCLUDES = -I$(MESASRCDIR)/src -I$(MESADRVSRCDIR)/common \ $(MESADRVI830BUILDDIR)i830_tris.o \ $(MESADRVI830BUILDDIR)i830_vb.o - I830UOBJS = $(MESADRVI830BUILDDIR)unshared/i830_context.o \ + I830UOBJS = $(MESADRVI830BUILDDIR)unshared/i830_context.o \ $(MESADRVI830BUILDDIR)unshared/i830_debug.o \ $(MESADRVI830BUILDDIR)unshared/i830_ioctl.o \ $(MESADRVI830BUILDDIR)unshared/i830_render.o \ @@ -72,7 +72,7 @@ MESA_INCLUDES = -I$(MESASRCDIR)/src -I$(MESADRVSRCDIR)/common \ $(MESADRVI830BUILDDIR)unshared/i830_tris.o \ $(MESADRVI830BUILDDIR)unshared/i830_vb.o - I830DOBJS = $(MESADRVI830BUILDDIR)debugger/i830_context.o \ + I830DOBJS = $(MESADRVI830BUILDDIR)debugger/i830_context.o \ $(MESADRVI830BUILDDIR)debugger/i830_debug.o \ $(MESADRVI830BUILDDIR)debugger/i830_ioctl.o \ $(MESADRVI830BUILDDIR)debugger/i830_render.o \ @@ -85,7 +85,7 @@ MESA_INCLUDES = -I$(MESASRCDIR)/src -I$(MESADRVSRCDIR)/common \ $(MESADRVI830BUILDDIR)debugger/i830_tris.o \ $(MESADRVI830BUILDDIR)debugger/i830_vb.o - I830POBJS = $(MESADRVI830BUILDDIR)profiled/i830_context.o \ + I830POBJS = $(MESADRVI830BUILDDIR)profiled/i830_context.o \ $(MESADRVI830BUILDDIR)profiled/i830_debug.o \ $(MESADRVI830BUILDDIR)profiled/i830_ioctl.o \ $(MESADRVI830BUILDDIR)profiled/i830_render.o \ @@ -113,4 +113,3 @@ LinkSourceFile(i830_tris.c, $(MESADRVSRCDIR)/i830) LinkSourceFile(i830_vb.c, $(MESADRVSRCDIR)/i830) #endif - diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_context.c b/xc/lib/GL/mesa/src/drv/i830/i830_context.c index 822b578b6..208611647 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_context.c +++ b/xc/lib/GL/mesa/src/drv/i830/i830_context.c @@ -63,19 +63,42 @@ #include <X11/Xlibint.h> #include <stdio.h> + +#ifndef I830_DEBUG +int I830_DEBUG = (0); +#endif + /*************************************** * Mesa's Driver Functions ***************************************/ +#define PCI_CHIP_845_G 0x2562 +#define PCI_CHIP_I830_M 0x3577 +#define DRIVER_DATE "20020803" + static const GLubyte *i830DDGetString( GLcontext *ctx, GLenum name ) { - switch (name) { - case GL_VENDOR: - return (GLubyte *)"2d3D, Inc"; - case GL_RENDERER: - return (GLubyte *)"Mesa DRI I830 20020528"; - default: - return 0; + switch (I830_CONTEXT(ctx)->i830Screen->deviceID) { + case PCI_CHIP_845_G: + switch (name) { + case GL_VENDOR: + return (GLubyte *)"2d3D, Inc"; + case GL_RENDERER: + return (GLubyte *)"Mesa DRI I845 " DRIVER_DATE; + default: + return 0; + } + break; + case PCI_CHIP_I830_M: + switch (name) { + case GL_VENDOR: + return (GLubyte *)"VA Linux, Inc"; + case GL_RENDERER: + return (GLubyte *)"Mesa DRI I830 " DRIVER_DATE; + default: + return 0; + } + break; } } @@ -108,6 +131,8 @@ static void i830InitExtensions( GLcontext *ctx ) _mesa_enable_extension( ctx, "GL_EXT_blend_subtract" ); _mesa_enable_extension( ctx, "GL_EXT_blend_func_separate" ); _mesa_enable_extension( ctx, "GL_EXT_texture_lod_bias" ); + _mesa_enable_extension( ctx, "GL_EXT_secondary_color" ); + _mesa_enable_extension( ctx, "GL_EXT_fog_coord" ); /* Leave this for later */ #if 0 @@ -132,6 +157,48 @@ static const struct gl_pipeline_stage *i830_pipeline[] = { 0, }; + +#if DO_DEBUG +static void add_debug_flags( const char *debug ) +{ + if (strstr(debug, "fall")) + I830_DEBUG |= DEBUG_FALLBACKS; + + if (strstr(debug, "tex")) + I830_DEBUG |= DEBUG_TEXTURE; + + if (strstr(debug, "ioctl")) + I830_DEBUG |= DEBUG_IOCTL; + + if (strstr(debug, "prim")) + I830_DEBUG |= DEBUG_PRIMS; + + if (strstr(debug, "vert")) + I830_DEBUG |= DEBUG_VERTS; + + if (strstr(debug, "state")) + I830_DEBUG |= DEBUG_STATE; + + if (strstr(debug, "verb")) + I830_DEBUG |= DEBUG_VERBOSE; + + if (strstr(debug, "dri")) + I830_DEBUG |= DEBUG_DRI; + + if (strstr(debug, "dma")) + I830_DEBUG |= DEBUG_DMA; + + if (strstr(debug, "san")) + I830_DEBUG |= DEBUG_SANITY; + + if (strstr(debug, "sync")) + I830_DEBUG |= DEBUG_SYNC; + + if (strstr(debug, "sleep")) + I830_DEBUG |= DEBUG_SLEEP; +} +#endif + GLboolean i830CreateContext( Display *dpy, const __GLcontextModes *mesaVis, __DRIcontextPrivate *driContextPriv, void *sharedContextPrivate) @@ -268,6 +335,14 @@ GLboolean i830CreateContext( Display *dpy, const __GLcontextModes *mesaVis, i830InitVB (ctx); i830DDInitState (ctx); +#if DO_DEBUG + if (getenv("INTEL_DEBUG")) + add_debug_flags( getenv("INTEL_DEBUG") ); + if (getenv("I830_DEBUG")) + add_debug_flags( getenv("I830_DEBUG") ); +#endif + + return GL_TRUE; } @@ -363,15 +438,16 @@ GLboolean i830MakeCurrent(__DRIcontextPrivate *driContextPriv, if (driContextPriv) { i830ContextPtr imesa = (i830ContextPtr) driContextPriv->driverPrivate; - /* Shouldn't the readbuffer be stored also? */ - imesa->driDrawable = driDrawPriv; + if ( imesa->driDrawable != driDrawPriv ) { + /* Shouldn't the readbuffer be stored also? */ + imesa->driDrawable = driDrawPriv; + i830XMesaWindowMoved( imesa ); + } _mesa_make_current2(imesa->glCtx, (GLframebuffer *) driDrawPriv->driverPrivate, (GLframebuffer *) driReadPriv->driverPrivate); - /* Are these necessary? */ - i830XMesaWindowMoved( imesa ); if (!imesa->glCtx->Viewport.Width) _mesa_set_viewport(imesa->glCtx, 0, 0, driDrawPriv->w, driDrawPriv->h); diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_context.h b/xc/lib/GL/mesa/src/drv/i830/i830_context.h index 516e0047b..fd5901dff 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_context.h +++ b/xc/lib/GL/mesa/src/drv/i830/i830_context.h @@ -41,12 +41,21 @@ typedef struct i830_texture_object_t *i830TextureObjectPtr; #include "i830_screen.h" #include "i830_tex.h" -#include "i830_drv.h" #define TAG(x) i830##x #include "tnl_dd/t_dd_vertex.h" #undef TAG +#define DV_PF_555 (1<<8) +#define DV_PF_565 (2<<8) +#define DV_PF_8888 (3<<8) + +#define I830_TEX_MAXLEVELS 10 + +#define I830_CONTEXT(ctx) ((i830ContextPtr)(ctx->DriverCtx)) +#define GET_DISPATCH_AGE(imesa) imesa->sarea->last_dispatch +#define GET_ENQUEUE_AGE(imesa) imesa->sarea->last_enqueue + typedef void (*i830_tri_func)(i830ContextPtr, i830Vertex *, i830Vertex *, i830Vertex *); @@ -57,13 +66,10 @@ typedef void (*i830_point_func)(i830ContextPtr, i830Vertex *); #define I830_FALLBACK_DRAW_BUFFER 0x2 #define I830_FALLBACK_READ_BUFFER 0x4 #define I830_FALLBACK_COLORMASK 0x8 -#define I830_FALLBACK_SPECULAR 0x20 -#define I830_FALLBACK_LOGICOP 0x40 -#define I830_FALLBACK_RENDERMODE 0x80 -#define I830_FALLBACK_STENCIL 0x100 -#define I830_FALLBACK_BLEND_EQ 0x200 -#define I830_FALLBACK_BLEND_FUNC 0x400 -#define I830_FALLBACK_STIPPLE 0x800 +#define I830_FALLBACK_RENDERMODE 0x10 +#define I830_FALLBACK_STENCIL 0x20 +#define I830_FALLBACK_STIPPLE 0x40 +#define I830_FALLBACK_USER 0x80 struct i830_context_t { @@ -262,6 +268,30 @@ extern void i830DDUpdateHwState(GLcontext *ctx); #define SUBPIXEL_X 0.125 #define SUBPIXEL_Y 0.125 + + +/* ================================================================ + * Debugging: + */ +#define DO_DEBUG 1 +#if DO_DEBUG +extern int I830_DEBUG; +#else +#define I830_DEBUG 0 +#endif + +#define DEBUG_TEXTURE 0x1 +#define DEBUG_STATE 0x2 +#define DEBUG_IOCTL 0x4 +#define DEBUG_PRIMS 0x8 +#define DEBUG_VERTS 0x10 +#define DEBUG_FALLBACKS 0x20 +#define DEBUG_VERBOSE 0x40 +#define DEBUG_DRI 0x80 +#define DEBUG_DMA 0x100 +#define DEBUG_SANITY 0x200 +#define DEBUG_SYNC 0x400 +#define DEBUG_SLEEP 0x800 #endif diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_debug.c b/xc/lib/GL/mesa/src/drv/i830/i830_debug.c index 94fc38a90..b94a2d7d7 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_debug.c +++ b/xc/lib/GL/mesa/src/drv/i830/i830_debug.c @@ -288,7 +288,7 @@ void i830VertexSanity( i830ContextPtr imesa, drmI830Vertex vertex ) sleep(10); } } - if (PRINT_VERTEX_INFO) { + if (1) { fprintf(stderr, "\n\nPrim name (%s), vertices (%d)\n", prim_name, size / vfmt_size); diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_debug.h b/xc/lib/GL/mesa/src/drv/i830/i830_debug.h index 77e7ac213..aa225b4dc 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_debug.h +++ b/xc/lib/GL/mesa/src/drv/i830/i830_debug.h @@ -36,12 +36,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #ifndef I830DEBUG_INC #define I830DEBUG_INC -/* Do sanity checking on vertex buffers */ -#define VERTEX_SANITY 0 -/* Print out information at each vertex buffer dispatch */ -#define PRINT_VERTEX_INFO 0 -/* Dump all emitted state */ -#define OUTPUT_EMITTED_STATE 0 void i830DumpContextState( i830ContextPtr imesa ); void i830DumpBufferState( i830ContextPtr imesa ); diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_drv.h b/xc/lib/GL/mesa/src/drv/i830/i830_drv.h deleted file mode 100644 index fafd9f98c..000000000 --- a/xc/lib/GL/mesa/src/drv/i830/i830_drv.h +++ /dev/null @@ -1,150 +0,0 @@ -/************************************************************************** - -Copyright 2001 VA Linux Systems Inc., Fremont, California. - -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -on the rights to use, copy, modify, merge, publish, distribute, sub -license, and/or sell copies of the Software, and to permit persons to whom -the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next -paragraph) shall be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL -ATI, VA LINUX SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. - -**************************************************************************/ - -/* $XFree86$ */ - -/* - * Author: - * Jeff Hartmann <jhartmann@2d3d.com> - * - * Heavily based on the I810 driver, which was written by: - * Keith Whitwell <keith@tungstengraphics.com> - */ - -#ifndef __I830_MESA_DRV_H__ -#define __I830_MESA_DRV_H__ - -#define DEBUGGING 0 - -#define TRACE_IN {\ - if (DEBUGGING) \ - fprintf(stderr,"\nWe are IN function %s on line %d\n",__FUNCTION__,__LINE__);\ -} -#define TRACE_OUT {\ - if (DEBUGGING) \ - fprintf(stderr,"\nWe are OUT OF function %s on line %d\n",__FUNCTION__,__LINE__);\ -} - - - - -/* To remove all debugging, make sure I830_DEBUG is defined as a - * preprocessor symbol, and equal to zero. - */ -#define I830_DEBUG 0/*DEBUG_VERBOSE_2D|DEBUG_VERBOSE_STATE|DEBUG_VERBOSE_TRACE|DEBUG_VERBOSE_IOCTL|DEBUG_VERBOSE_DRI|DEBUG_VERBOSE_LRU|DEBUG_VALIDATE_RING|DEBUG_VERBOSE_API|DEBUG_VERBOSE_MSG*/ -#ifndef I830_DEBUG -#warning "Debugging enabled - expect reduced performance" -extern int I830_DEBUG; -#endif - -#define DEBUG_VERBOSE_2D 0x1 -#define DEBUG_VERBOSE_RING 0x8 -#define DEBUG_VERBOSE_OUTREG 0x10 -#define DEBUG_ALWAYS_SYNC 0x40 -#define DEBUG_VERBOSE_MSG 0x80 -#define DEBUG_NO_OUTRING 0x100 -#define DEBUG_NO_OUTREG 0x200 -#define DEBUG_VERBOSE_API 0x400 -#define DEBUG_VALIDATE_RING 0x800 -#define DEBUG_VERBOSE_LRU 0x1000 -#define DEBUG_VERBOSE_DRI 0x2000 -#define DEBUG_VERBOSE_IOCTL 0x4000 -#define DEBUG_VERBOSE_TRACE 0x8000 -#define DEBUG_VERBOSE_STATE 0x10000 - -#define DV_PF_555 (1<<8) -#define DV_PF_565 (2<<8) -#define DV_PF_8888 (3<<8) - -/* Reasons to fallback on all primitives. (see also - * imesa->IndirectTriangles). - */ -/* -#define I830_FALLBACK_TEXTURE 0x1 -#define I830_FALLBACK_DRAW_BUFFER 0x2 -#define I830_FALLBACK_READ_BUFFER 0x4 -#define I830_FALLBACK_STIPPLE 0x8 -#define I830_FALLBACK_SPECULAR 0x10 -#define I830_FALLBACK_STENCIL 0x20 -#define I830_FALLBACK_COLORMASK 0x40 -*/ - -/* for i830ctx.new_state - manage GL->driver state changes - */ -#define I830_NEW_TEXTURE 0x1 - -#define I830_TEX_MAXLEVELS 10 - - -#define I830_NO_PALETTE 0x0 -#define I830_USE_PALETTE 0x1 -#define I830_UPDATE_PALETTE 0x2 -#define I830_FALLBACK_PALETTE 0x4 - -/*#define I830_SPEC_BIT 0x1 -#define I830_FOG_BIT 0x2*/ -#define I830_ALPHA_BIT 0x4 /* GL_BLEND, not used */ -/*#define I830_TEX0_BIT 0x8 -#define I830_TEX1_BIT 0x10*/ -/*#define I830_RGBA_BIT 0x20*/ -#define I830_WIN_BIT 0x40 - - -/* For shared texture space managment, these texture objects may also - * be used as proxies for regions of texture memory containing other - * client's textures. Such proxy textures (not to be confused with GL - * proxy textures) are subject to the same LRU aging we use for our - * own private textures, and thus we have a mechanism where we can - * fairly decide between kicking out our own textures and those of - * other clients. - * - * Non-local texture objects have a valid MemBlock to describe the - * region managed by the other client, and can be identified by - * 't->globj == 0' - */ -#define TEX_0 1 -#define TEX_1 2 - -typedef void (*i830_interp_func)( GLfloat t, - GLfloat *result, - const GLfloat *in, - const GLfloat *out ); - - - - - - -#define I830_TEX_UNIT_ENABLED(unit) (1<<unit) -#define VALID_I830_TEXTURE_OBJECT(tobj) (tobj) - -#define I830_CONTEXT(ctx) ((i830ContextPtr)(ctx->DriverCtx)) -#define I830_DRIVER_DATA(vb) ((i830VertexBufferPtr)((vb)->driver_data)) -#define GET_DISPATCH_AGE(imesa) imesa->sarea->last_dispatch -#define GET_ENQUEUE_AGE(imesa) imesa->sarea->last_enqueue - -#endif /* __I830_MESA_DRV_H__ */ diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_ioctl.c b/xc/lib/GL/mesa/src/drv/i830/i830_ioctl.c index 493e495c8..e5990d09c 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_ioctl.c +++ b/xc/lib/GL/mesa/src/drv/i830/i830_ioctl.c @@ -60,6 +60,69 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #include "drm.h" +/* + * XXX This is here only while not all of the XFree86 versions of interest + * don't have the drmCommand interfaces. + */ + +#if !defined(HAVE_DRM_COMMAND) +#include <sys/ioctl.h> + +#define DRM_COMMAND_BASE 0x40 + +#define DRM_I830_INIT 0x00 +#define DRM_I830_VERTEX 0x01 +#define DRM_I830_CLEAR 0x02 +#define DRM_I830_FLUSH 0x03 +#define DRM_I830_GETAGE 0x04 +#define DRM_I830_GETBUF 0x05 +#define DRM_I830_SWAP 0x06 +#define DRM_I830_COPY 0x07 +#define DRM_I830_DOCOPY 0x08 + +static int +drmCommandNone(int fd, unsigned long drmCommandIndex) +{ + void *data = NULL; /* dummy */ + unsigned long request; + + request = DRM_IO(DRM_COMMAND_BASE + drmCommandIndex); + + if (ioctl(fd, request, data)) { + return -errno; + } + return 0; +} + +static int +drmCommandWrite(int fd, unsigned long drmCommandIndex, + void *data, unsigned long size ) +{ + unsigned long request; + + request = DRM_IOW(DRM_COMMAND_BASE + drmCommandIndex, size); + + if (ioctl(fd, request, data)) { + return -errno; + } + return 0; +} + +static int +drmCommandWriteRead(int fd, unsigned long drmCommandIndex, + void *data, unsigned long size ) +{ + unsigned long request; + + request = DRM_IOWR(DRM_COMMAND_BASE + drmCommandIndex, size); + + if (ioctl(fd, request, data)) { + return -errno; + } + return 0; +} +#endif + static drmBufPtr i830_get_buffer_ioctl( i830ContextPtr imesa ) { drmI830DMA dma; @@ -78,10 +141,6 @@ static drmBufPtr i830_get_buffer_ioctl( i830ContextPtr imesa ) i = 0; } } - if (0) - fprintf(stderr,"\nimesa->i830Screen->bufs->list: %p\n - dma.request_idx: %d\n",imesa->i830Screen->bufs->list, - dma.request_idx); buf = &(imesa->i830Screen->bufs->list[dma.request_idx]); buf->idx = dma.request_idx; @@ -152,7 +211,7 @@ static void i830ClearWithTris(GLcontext *ctx, GLbitfield mask, GLuint old_dirty; int x0, y0, x1, y1; - if(I830_DEBUG&DEBUG_VERBOSE_IOCTL) + if (I830_DEBUG & DEBUG_IOCTL) fprintf(stderr, "Clearing with triangles\n"); old_dirty = imesa->dirty & ~I830_UPLOAD_CLIPRECTS; @@ -598,33 +657,38 @@ void i830RegetLockQuiescent( i830ContextPtr imesa ) void i830WaitAgeLocked( i830ContextPtr imesa, int age ) { - int i = 0, j; + int i = 0; while (++i < 5000) { drmCommandNone(imesa->driFd, DRM_I830_GETAGE); if (GET_DISPATCH_AGE(imesa) >= age) return; - for (j = 0 ; j < 1000 ; j++); + UNLOCK_HARDWARE( imesa ); + if (I830_DEBUG & DEBUG_SLEEP) fprintf(stderr, "."); + usleep(1); + LOCK_HARDWARE( imesa ); } - drmCommandNone(imesa->driFd, DRM_I830_FLUSH); + /* If that didn't work, just do a flush: + */ + drmCommandNone(imesa->driFd, DRM_I830_FLUSH); } void i830WaitAge( i830ContextPtr imesa, int age ) { - int i = 0, j; + int i = 0; while (++i < 5000) { drmCommandNone(imesa->driFd, DRM_I830_GETAGE); if (GET_DISPATCH_AGE(imesa) >= age) return; - for (j = 0 ; j < 1000 ; j++); } i = 0; while (++i < 1000) { drmCommandNone(imesa->driFd, DRM_I830_GETAGE); if (GET_DISPATCH_AGE(imesa) >= age) return; + if (I830_DEBUG & DEBUG_SLEEP) fprintf(stderr, "."); usleep(1000); } LOCK_HARDWARE(imesa); - drmCommandNone(imesa->driFd, DRM_I830_FLUSH); + drmCommandNone(imesa->driFd, DRM_I830_FLUSH); UNLOCK_HARDWARE(imesa); } @@ -643,76 +707,48 @@ void i830FlushPrimsLocked( i830ContextPtr imesa ) drmI830Vertex vertex; int i; - if (0) fprintf(stderr, "%s dirty: %08x\n", __FUNCTION__, imesa->dirty); - if (imesa->dirty) -#if OUTPUT_EMITTED_STATE - i830EmitHwStateLockedDebug(imesa); -#else - i830EmitHwStateLocked(imesa); -#endif + if (I830_DEBUG & DEBUG_IOCTL) + fprintf(stderr, "%s dirty: %08x\n", __FUNCTION__, imesa->dirty); + + if (imesa->dirty) { + if (I830_DEBUG & DEBUG_SANITY) + i830EmitHwStateLockedDebug(imesa); + else + i830EmitHwStateLocked(imesa); + } vertex.idx = buffer->idx; vertex.used = imesa->vertex_low; vertex.discard = 0; sarea->vertex_prim = imesa->hw_primitive; - if (0) - fprintf(stderr,"\nVertex idx%d\n" - "\nused %d\n" - "\ndiscard %d\n", - vertex.idx, - vertex.used, - vertex.discard); + if (I830_DEBUG & DEBUG_IOCTL) + fprintf(stderr,"%s: Vertex idx %d used %d discard %d\n", + __FUNCTION__, vertex.idx, vertex.used, vertex.discard); + if (!nbox) vertex.used = 0; - else if (nbox > I830_NR_SAREA_CLIPRECTS) - imesa->upload_cliprects = GL_TRUE; - if (!nbox || !imesa->upload_cliprects) { - sarea->nbox = nbox == 1 ? 0 : nbox; - vertex.discard = 1; - drmCommandWrite (imesa->driFd, DRM_I830_VERTEX, - &vertex, sizeof(drmI830Vertex)); - age_imesa(imesa, sarea->last_enqueue); - } else { - for (i = 0 ; i < nbox ; ) { - int nr = MIN2(i + I830_NR_SAREA_CLIPRECTS, nbox); - XF86DRIClipRectPtr b = sarea->boxes; - - sarea->nbox = nr - i; - for ( ; i < nr ; i++, b++) { - *b++ = pbox[i]; - if (0) - fprintf(stderr,"\nCo-ordiantes: x1 %d\n" - "y1: %d\n" - "x2: %d\n" - "x3: %d\n", - b->x1, - b->y1, - b->x2, - b->y2); - } + for (i = 0 ; i < nbox ; ) { + int nr = MIN2(i + I830_NR_SAREA_CLIPRECTS, nbox); + XF86DRIClipRectPtr b = sarea->boxes; - /* Finished with the buffer? - */ - if (nr == nbox) - vertex.discard = 1; - if (0) - fprintf(stderr,"\nWriting vertex info to hardware\n"); - if (0) { - fprintf(stderr,"\nimesa->BufferSetup[I830_DESTREG_DR1] = %x\n", - imesa->BufferSetup[I830_DESTREG_DR1]); - fprintf(stderr,"\nimesa->BufferSetup[I830_DESTREG_DR4] = %x\n", - imesa->BufferSetup[I830_DESTREG_DR4]); - } + sarea->nbox = nr - i; + for ( ; i < nr ; i++, b++) + *b++ = pbox[i]; - /* Do a bunch of sanity checks on the vertices sent to the hardware */ - if (VERTEX_SANITY) i830VertexSanity(imesa, vertex); + /* Finished with the buffer? + */ + if (nr == nbox) + vertex.discard = 1; - drmCommandWrite (imesa->driFd, DRM_I830_VERTEX, - &vertex, sizeof(drmI830Vertex)); - age_imesa(imesa, imesa->sarea->last_enqueue); - } + /* Do a bunch of sanity checks on the vertices sent to the hardware */ + if (I830_DEBUG & DEBUG_SANITY) + i830VertexSanity(imesa, vertex); + + drmCommandWrite (imesa->driFd, DRM_I830_VERTEX, + &vertex, sizeof(drmI830Vertex)); + age_imesa(imesa, imesa->sarea->last_enqueue); } /* Reset imesa vars: @@ -726,30 +762,28 @@ void i830FlushPrimsLocked( i830ContextPtr imesa ) imesa->upload_cliprects = GL_FALSE; } -void i830FlushPrimsGetBuffer( i830ContextPtr imesa ) +void i830FlushPrimsGetBufferLocked( i830ContextPtr imesa ) { - LOCK_HARDWARE(imesa); if (imesa->vertex_buffer) i830FlushPrimsLocked( imesa ); imesa->vertex_buffer = i830_get_buffer_ioctl( imesa ); - imesa->vertex_high = imesa->vertex_buffer->total; imesa->vertex_addr = (char *)imesa->vertex_buffer->address; - imesa->vertex_low = 4; /* leave room for instruction header */ + + /* leave room for instruction header & footer: + */ + imesa->vertex_high = imesa->vertex_buffer->total - 4; + imesa->vertex_low = 4; imesa->vertex_last_prim = imesa->vertex_low; - UNLOCK_HARDWARE(imesa); } -void i830FlushPrimsGetBufferLocked( i830ContextPtr imesa ) +void i830FlushPrimsGetBuffer( i830ContextPtr imesa ) { - if (imesa->vertex_buffer) - i830FlushPrimsLocked( imesa ); - imesa->vertex_buffer = i830_get_buffer_ioctl( imesa ); - imesa->vertex_high = imesa->vertex_buffer->total; - imesa->vertex_addr = (char *)imesa->vertex_buffer->address; - imesa->vertex_low = 4; /* leave room for instruction header */ - imesa->vertex_last_prim = imesa->vertex_low; + LOCK_HARDWARE(imesa); + i830FlushPrimsGetBufferLocked( imesa ); + UNLOCK_HARDWARE(imesa); } + void i830FlushPrims( i830ContextPtr imesa ) { if (imesa->vertex_buffer) { diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_ioctl.h b/xc/lib/GL/mesa/src/drv/i830/i830_ioctl.h index 389143b22..33b504b60 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_ioctl.h +++ b/xc/lib/GL/mesa/src/drv/i830/i830_ioctl.h @@ -26,8 +26,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. **************************************************************************/ -/* $XFree86$ */ - /* * Author: * Jeff Hartmann <jhartmann@2d3d.com> diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_render.c b/xc/lib/GL/mesa/src/drv/i830/i830_render.c index 8acf24f2f..6a1332475 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_render.c +++ b/xc/lib/GL/mesa/src/drv/i830/i830_render.c @@ -1,3 +1,4 @@ +/* $Id: i830_render.c,v 1.5 2002/09/11 00:57:47 dawes Exp $ */ /* * Intel i810 DRI driver for Mesa 3.5 diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_screen.c b/xc/lib/GL/mesa/src/drv/i830/i830_screen.c index 78ea80b06..c251de464 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_screen.c +++ b/xc/lib/GL/mesa/src/drv/i830/i830_screen.c @@ -158,8 +158,7 @@ static GLboolean i830InitDriver(__DRIscreenPrivate *sPriv) /* Allocate the private area */ i830Screen = (i830ScreenPrivate *)Xmalloc(sizeof(i830ScreenPrivate)); if (!i830Screen) { - if(DEBUGGING) - fprintf(stderr,"\nERROR! Allocating private area failed\n"); + fprintf(stderr,"\nERROR! Allocating private area failed\n"); return GL_FALSE; } @@ -188,16 +187,11 @@ static GLboolean i830InitDriver(__DRIscreenPrivate *sPriv) i830Screen->textureSize = gDRIPriv->textureSize; i830Screen->logTextureGranularity = gDRIPriv->logTextureGranularity; - if (DEBUGGING) - fprintf(stderr, "Tex heap size 0x%x, granularity 0x%x bytes\n", - i830Screen->textureSize, - 1 << i830Screen->logTextureGranularity); i830Screen->bufs = i830_create_empty_buffers(); if(i830Screen->bufs == NULL) { - if (DEBUGGING) - fprintf(stderr,"\nERROR: Failed to create empty buffers in %s \n", - __FUNCTION__); + fprintf(stderr,"\nERROR: Failed to create empty buffers in %s \n", + __FUNCTION__); Xfree(i830Screen); return GL_FALSE; } @@ -217,9 +211,8 @@ static GLboolean i830InitDriver(__DRIscreenPrivate *sPriv) i830Screen->back.handle, i830Screen->back.size, (drmAddress *)&i830Screen->back.map) != 0) { - if (DEBUGGING) - fprintf(stderr, "\nERROR: line %d, Function %s, File %s\n", - __LINE__, __FUNCTION__, __FILE__); + fprintf(stderr, "\nERROR: line %d, Function %s, File %s\n", + __LINE__, __FUNCTION__, __FILE__); Xfree(i830Screen); sPriv->private = NULL; return GL_FALSE; @@ -232,9 +225,8 @@ static GLboolean i830InitDriver(__DRIscreenPrivate *sPriv) i830Screen->depth.handle, i830Screen->depth.size, (drmAddress *)&i830Screen->depth.map) != 0) { - if (DEBUGGING) - fprintf(stderr, "\nERROR: line %d, Function %s, File %s\n", - __LINE__, __FUNCTION__, __FILE__); + fprintf(stderr, "\nERROR: line %d, Function %s, File %s\n", + __LINE__, __FUNCTION__, __FILE__); Xfree(i830Screen); drmUnmap(i830Screen->back.map, i830Screen->back.size); sPriv->private = NULL; @@ -248,9 +240,8 @@ static GLboolean i830InitDriver(__DRIscreenPrivate *sPriv) i830Screen->tex.handle, i830Screen->tex.size, (drmAddress *)&i830Screen->tex.map) != 0) { - if (DEBUGGING) - fprintf(stderr, "\nERROR: line %d, Function %s, File %s\n", - __LINE__, __FUNCTION__, __FILE__); + fprintf(stderr, "\nERROR: line %d, Function %s, File %s\n", + __LINE__, __FUNCTION__, __FILE__); Xfree(i830Screen); drmUnmap(i830Screen->back.map, i830Screen->back.size); drmUnmap(i830Screen->depth.map, i830Screen->depth.size); @@ -259,7 +250,7 @@ static GLboolean i830InitDriver(__DRIscreenPrivate *sPriv) } i830Screen->sarea_priv_offset = gDRIPriv->sarea_priv_offset; - if(0) i830PrintDRIInfo(i830Screen, sPriv, gDRIPriv); + if (1) i830PrintDRIInfo(i830Screen, sPriv, gDRIPriv); return GL_TRUE; } @@ -308,35 +299,6 @@ static void i830DestroyBuffer(__DRIdrawablePrivate *driDrawPriv) _mesa_destroy_framebuffer((GLframebuffer *) (driDrawPriv->driverPrivate)); } -#if 0 -GLboolean XMesaCloseFullScreen(__DRIcontextPrivate *driContextPriv) -{ - i830ContextPtr imesa = (i830ContextPtr)driContextPriv->driverPrivate; - - if (imesa->currentPage ==1) { - i830PageFlip(imesa); - imesa->currentPage = 0; - } - - imesa->doPageFlip = GL_FALSE; - imesa->Setup[I830_DESTREG_DI0] = imesa->driScreen->front_offset; - - return GL_TRUE; -} - - -GLboolean XMesaOpenFullScreen(__DRIcontextPrivate *driContextPriv) -{ - i830ContextPtr imesa = (i830ContextPtr)driContextPriv->driverPrivate; - - imesa->doPageFlip = 1; - imesa->currentPage = 0; - - return GL_TRUE; -} - -#else - static GLboolean i830OpenFullScreen (__DRIcontextPrivate *driContextPriv) { return GL_TRUE; @@ -347,8 +309,6 @@ static GLboolean i830CloseFullScreen (__DRIcontextPrivate *driContextPriv) return GL_TRUE; } -#endif - static struct __DriverAPIRec i830API = { i830InitDriver, i830DestroyScreen, diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_span.c b/xc/lib/GL/mesa/src/drv/i830/i830_span.c index 035eb3820..ade204813 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_span.c +++ b/xc/lib/GL/mesa/src/drv/i830/i830_span.c @@ -50,6 +50,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #define DBG 0 #define LOCAL_VARS \ + i830ContextPtr imesa = I830_CONTEXT(ctx); \ __DRIdrawablePrivate *dPriv = imesa->driDrawable; \ i830ScreenPrivate *i830Screen = imesa->i830Screen; \ GLuint pitch = i830Screen->backPitch * i830Screen->cpp; \ @@ -64,6 +65,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. (void) read_buf; (void) buf; (void) p #define LOCAL_DEPTH_VARS \ + i830ContextPtr imesa = I830_CONTEXT(ctx); \ __DRIdrawablePrivate *dPriv = imesa->driDrawable; \ i830ScreenPrivate *i830Screen = imesa->i830Screen; \ GLuint pitch = i830Screen->backPitch * i830Screen->cpp; \ @@ -93,11 +95,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #define Y_FLIP(_y) (height - _y - 1) -#define HW_LOCK() \ - i830ContextPtr imesa = I830_CONTEXT(ctx); \ - I830_FIREVERTICES(imesa); \ - i830DmaFinish(imesa); \ - LOCK_HARDWARE_QUIESCENT(imesa); +#define HW_LOCK() #define HW_CLIPLOOP() \ do { \ @@ -114,9 +112,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. } \ } while (0) -#define HW_UNLOCK() \ - UNLOCK_HARDWARE(imesa); - +#define HW_UNLOCK() /* 16 bit, 565 rgb color spanline and pixel functions */ @@ -179,6 +175,7 @@ do { \ #undef LOCAL_VARS #define LOCAL_VARS \ + i830ContextPtr imesa = I830_CONTEXT(ctx); \ __DRIdrawablePrivate *dPriv = imesa->driDrawable; \ i830ScreenPrivate *i830Screen = imesa->i830Screen; \ GLuint pitch = i830Screen->backPitch * i830Screen->cpp; \ @@ -280,14 +277,29 @@ static void i830SetReadBuffer(GLcontext *ctx, GLframebuffer *colorBuffer, +/* Move locking out to get reasonable span performance. + */ +void i830SpanRenderStart( GLcontext *ctx ) +{ + i830ContextPtr imesa = I830_CONTEXT(ctx); + I830_FIREVERTICES(imesa); + i830DmaFinish(imesa); + LOCK_HARDWARE_QUIESCENT(imesa); +} + +void i830SpanRenderFinish( GLcontext *ctx ) +{ + i830ContextPtr imesa = I830_CONTEXT( ctx ); + _swrast_flush( ctx ); + UNLOCK_HARDWARE( imesa ); +} + void i830DDInitSpanFuncs( GLcontext *ctx ) { i830ContextPtr imesa = I830_CONTEXT(ctx); i830ScreenPrivate *i830Screen = imesa->i830Screen; struct swrast_device_driver *swdd = _swrast_GetDeviceDriverReference(ctx); - if (DEBUGGING) - fprintf(stderr,"\nInitialising SPAN funcs\n"); swdd->SetReadBuffer = i830SetReadBuffer; @@ -349,6 +361,7 @@ void i830DDInitSpanFuncs( GLcontext *ctx ) } break; } - if (DEBUGGING) - fprintf(stderr,"\nFinished initialising SPAN funcs\n"); + + swdd->SpanRenderStart = i830SpanRenderStart; + swdd->SpanRenderFinish = i830SpanRenderFinish; } diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_span.h b/xc/lib/GL/mesa/src/drv/i830/i830_span.h index 295bf2838..ad3f6f384 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_span.h +++ b/xc/lib/GL/mesa/src/drv/i830/i830_span.h @@ -40,4 +40,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. extern void i830DDInitSpanFuncs( GLcontext *ctx ); +extern void i830SpanRenderFinish( GLcontext *ctx ); +extern void i830SpanRenderStart( GLcontext *ctx ); + #endif diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_state.c b/xc/lib/GL/mesa/src/drv/i830/i830_state.c index 68ad5de16..19dc53c7b 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_state.c +++ b/xc/lib/GL/mesa/src/drv/i830/i830_state.c @@ -66,7 +66,7 @@ static __inline__ GLuint i830PackColor(GLuint format, GLubyte b, GLubyte a) { - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); switch (format) { @@ -90,20 +90,37 @@ static void i830StencilFunc(GLcontext *ctx, GLenum func, GLint ref, mask = mask & 0xff; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s : func: %s, ref : 0x%x, mask: 0x%x\n", __FUNCTION__, _mesa_lookup_enum_by_nr(func), ref, mask); switch(func) { - case GL_NEVER: test = COMPAREFUNC_NEVER; break; - case GL_LESS: test = COMPAREFUNC_LESS; break; - case GL_LEQUAL: test = COMPAREFUNC_LEQUAL; break; - case GL_GREATER: test = COMPAREFUNC_GREATER; break; - case GL_GEQUAL: test = COMPAREFUNC_GEQUAL; break; - case GL_NOTEQUAL: test = COMPAREFUNC_NOTEQUAL; break; - case GL_EQUAL: test = COMPAREFUNC_EQUAL; break; - case GL_ALWAYS: test = COMPAREFUNC_ALWAYS; break; - default: return; + case GL_NEVER: + test = COMPAREFUNC_NEVER; + break; + case GL_LESS: + test = COMPAREFUNC_LESS; + break; + case GL_LEQUAL: + test = COMPAREFUNC_LEQUAL; + break; + case GL_GREATER: + test = COMPAREFUNC_GREATER; + break; + case GL_GEQUAL: + test = COMPAREFUNC_GEQUAL; + break; + case GL_NOTEQUAL: + test = COMPAREFUNC_NOTEQUAL; + break; + case GL_EQUAL: + test = COMPAREFUNC_EQUAL; + break; + case GL_ALWAYS: + test = COMPAREFUNC_ALWAYS; + break; + default: + return; } I830_STATECHANGE(imesa, I830_UPLOAD_CTX); @@ -124,7 +141,7 @@ static void i830StencilMask(GLcontext *ctx, GLuint mask) { i830ContextPtr imesa = I830_CONTEXT(ctx); - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s : mask 0x%x\n", __FUNCTION__, mask); mask = mask & 0xff; @@ -143,7 +160,7 @@ static void i830StencilOp(GLcontext *ctx, GLenum fail, GLenum zfail, i830ContextPtr imesa = I830_CONTEXT(ctx); int fop, dfop, dpop; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s: fail : %s, zfail: %s, zpass : %s\n", __FUNCTION__, _mesa_lookup_enum_by_nr(fail), _mesa_lookup_enum_by_nr(zfail), @@ -152,31 +169,70 @@ static void i830StencilOp(GLcontext *ctx, GLenum fail, GLenum zfail, fop = 0; dfop = 0; dpop = 0; switch(fail) { - case GL_KEEP: fop = STENCILOP_KEEP; break; - case GL_ZERO: fop = STENCILOP_ZERO; break; - case GL_REPLACE: fop = STENCILOP_REPLACE; break; - case GL_INCR: fop = STENCILOP_INCR; break; - case GL_DECR: fop = STENCILOP_DECR; break; - case GL_INVERT: fop = STENCILOP_INVERT; break; - default: break; + case GL_KEEP: + fop = STENCILOP_KEEP; + break; + case GL_ZERO: + fop = STENCILOP_ZERO; + break; + case GL_REPLACE: + fop = STENCILOP_REPLACE; + break; + case GL_INCR: + fop = STENCILOP_INCR; + break; + case GL_DECR: + fop = STENCILOP_DECR; + break; + case GL_INVERT: + fop = STENCILOP_INVERT; + break; + default: + break; } switch(zfail) { - case GL_KEEP: dfop = STENCILOP_KEEP; break; - case GL_ZERO: dfop = STENCILOP_ZERO; break; - case GL_REPLACE: dfop = STENCILOP_REPLACE; break; - case GL_INCR: dfop = STENCILOP_INCR; break; - case GL_DECR: dfop = STENCILOP_DECR; break; - case GL_INVERT: dfop = STENCILOP_INVERT; break; - default: break; + case GL_KEEP: + dfop = STENCILOP_KEEP; + break; + case GL_ZERO: + dfop = STENCILOP_ZERO; + break; + case GL_REPLACE: + dfop = STENCILOP_REPLACE; + break; + case GL_INCR: + dfop = STENCILOP_INCR; + break; + case GL_DECR: + dfop = STENCILOP_DECR; + break; + case GL_INVERT: + dfop = STENCILOP_INVERT; + break; + default: + break; } switch(zpass) { - case GL_KEEP: dpop = STENCILOP_KEEP; break; - case GL_ZERO: dpop = STENCILOP_ZERO; break; - case GL_REPLACE: dpop = STENCILOP_REPLACE; break; - case GL_INCR: dpop = STENCILOP_INCR; break; - case GL_DECR: dpop = STENCILOP_DECR; break; - case GL_INVERT: dpop = STENCILOP_INVERT; break; - default: break; + case GL_KEEP: + dpop = STENCILOP_KEEP; + break; + case GL_ZERO: + dpop = STENCILOP_ZERO; + break; + case GL_REPLACE: + dpop = STENCILOP_REPLACE; + break; + case GL_INCR: + dpop = STENCILOP_INCR; + break; + case GL_DECR: + dpop = STENCILOP_DECR; + break; + case GL_INVERT: + dpop = STENCILOP_INVERT; + break; + default: + break; } @@ -186,37 +242,47 @@ static void i830StencilOp(GLcontext *ctx, GLenum fail, GLenum zfail, STENCIL_FAIL_OP(fop) | STENCIL_PASS_DEPTH_FAIL_OP(dfop) | STENCIL_PASS_DEPTH_PASS_OP(dpop)); - if(I830_DEBUG&DEBUG_VERBOSE_STATE) - fprintf(stderr, "%s : stentst : 0x%x\n", __FUNCTION__, - imesa->Setup[I830_CTXREG_STENCILTST]); } static void i830AlphaFunc(GLcontext *ctx, GLenum func, GLchan ref) { i830ContextPtr imesa = I830_CONTEXT(ctx); int test = 0; - GLubyte tmp_ref; - - FLOAT_COLOR_TO_UBYTE_COLOR(tmp_ref, ref); switch(func) { - case GL_NEVER: test = COMPAREFUNC_NEVER; break; - case GL_LESS: test = COMPAREFUNC_LESS; break; - case GL_LEQUAL: test = COMPAREFUNC_LEQUAL; break; - case GL_GREATER: test = COMPAREFUNC_GREATER; break; - case GL_GEQUAL: test = COMPAREFUNC_GEQUAL; break; - case GL_NOTEQUAL: test = COMPAREFUNC_NOTEQUAL; break; - case GL_EQUAL: test = COMPAREFUNC_EQUAL; break; - case GL_ALWAYS: test = COMPAREFUNC_ALWAYS; break; + case GL_NEVER: + test = COMPAREFUNC_NEVER; + break; + case GL_LESS: + test = COMPAREFUNC_LESS; + break; + case GL_LEQUAL: + test = COMPAREFUNC_LEQUAL; + break; + case GL_GREATER: + test = COMPAREFUNC_GREATER; + break; + case GL_GEQUAL: + test = COMPAREFUNC_GEQUAL; + break; + case GL_NOTEQUAL: + test = COMPAREFUNC_NOTEQUAL; + break; + case GL_EQUAL: + test = COMPAREFUNC_EQUAL; + break; + case GL_ALWAYS: + test = COMPAREFUNC_ALWAYS; + break; default: return; } I830_STATECHANGE(imesa, I830_UPLOAD_CTX); imesa->Setup[I830_CTXREG_STATE2] &= ~ALPHA_TEST_REF_MASK; imesa->Setup[I830_CTXREG_STATE2] |= (ENABLE_ALPHA_TEST_FUNC | - ENABLE_ALPHA_REF_VALUE | - ALPHA_TEST_FUNC(test) | - ALPHA_REF_VALUE(tmp_ref)); + ENABLE_ALPHA_REF_VALUE | + ALPHA_TEST_FUNC(test) | + ALPHA_REF_VALUE(ref)); } /* This function makes sure that the proper enables are @@ -231,31 +297,31 @@ static void i830EvalLogicOpBlendState(GLcontext *ctx) I830_STATECHANGE(imesa, I830_UPLOAD_CTX); - if(ctx->Color.ColorLogicOpEnabled) { - imesa->Setup[I830_CTXREG_ENABLES_1] &= ~(ENABLE_COLOR_BLEND | - ENABLE_LOGIC_OP_MASK); - imesa->Setup[I830_CTXREG_ENABLES_1] |= (DISABLE_COLOR_BLEND | - ENABLE_LOGIC_OP); - imesa->Setup[I830_CTXREG_IALPHAB] &= ~ENABLE_INDPT_ALPHA_BLEND; - imesa->Setup[I830_CTXREG_IALPHAB] |= DISABLE_INDPT_ALPHA_BLEND; - } else if(ctx->Color.BlendEnabled) { - imesa->Setup[I830_CTXREG_ENABLES_1] &= ~(ENABLE_COLOR_BLEND | - ENABLE_LOGIC_OP_MASK); - imesa->Setup[I830_CTXREG_ENABLES_1] |= (ENABLE_COLOR_BLEND | - DISABLE_LOGIC_OP); - imesa->Setup[I830_CTXREG_IALPHAB] &= ~ENABLE_INDPT_ALPHA_BLEND; - if(imesa->Setup[I830_CTXREG_IALPHAB] & SRC_DST_ABLEND_MASK) { - imesa->Setup[I830_CTXREG_IALPHAB] |= ENABLE_INDPT_ALPHA_BLEND; - } else { - imesa->Setup[I830_CTXREG_IALPHAB] |= DISABLE_INDPT_ALPHA_BLEND; - } + if (ctx->Color.ColorLogicOpEnabled) { + imesa->Setup[I830_CTXREG_ENABLES_1] &= ~(ENABLE_COLOR_BLEND | + ENABLE_LOGIC_OP_MASK); + imesa->Setup[I830_CTXREG_ENABLES_1] |= (DISABLE_COLOR_BLEND | + ENABLE_LOGIC_OP); + imesa->Setup[I830_CTXREG_IALPHAB] &= ~ENABLE_INDPT_ALPHA_BLEND; + imesa->Setup[I830_CTXREG_IALPHAB] |= DISABLE_INDPT_ALPHA_BLEND; + } else if (ctx->Color.BlendEnabled) { + imesa->Setup[I830_CTXREG_ENABLES_1] &= ~(ENABLE_COLOR_BLEND | + ENABLE_LOGIC_OP_MASK); + imesa->Setup[I830_CTXREG_ENABLES_1] |= (ENABLE_COLOR_BLEND | + DISABLE_LOGIC_OP); + imesa->Setup[I830_CTXREG_IALPHAB] &= ~ENABLE_INDPT_ALPHA_BLEND; + if (imesa->Setup[I830_CTXREG_IALPHAB] & SRC_DST_ABLEND_MASK) { + imesa->Setup[I830_CTXREG_IALPHAB] |= ENABLE_INDPT_ALPHA_BLEND; + } else { + imesa->Setup[I830_CTXREG_IALPHAB] |= DISABLE_INDPT_ALPHA_BLEND; + } } else { - imesa->Setup[I830_CTXREG_ENABLES_1] &= ~(ENABLE_COLOR_BLEND | - ENABLE_LOGIC_OP_MASK); - imesa->Setup[I830_CTXREG_ENABLES_1] |= (DISABLE_COLOR_BLEND | - DISABLE_LOGIC_OP); - imesa->Setup[I830_CTXREG_IALPHAB] &= ~ENABLE_INDPT_ALPHA_BLEND; - imesa->Setup[I830_CTXREG_IALPHAB] |= DISABLE_INDPT_ALPHA_BLEND; + imesa->Setup[I830_CTXREG_ENABLES_1] &= ~(ENABLE_COLOR_BLEND | + ENABLE_LOGIC_OP_MASK); + imesa->Setup[I830_CTXREG_ENABLES_1] |= (DISABLE_COLOR_BLEND | + DISABLE_LOGIC_OP); + imesa->Setup[I830_CTXREG_IALPHAB] &= ~ENABLE_INDPT_ALPHA_BLEND; + imesa->Setup[I830_CTXREG_IALPHAB] |= DISABLE_INDPT_ALPHA_BLEND; } } @@ -264,7 +330,7 @@ static void i830BlendColor(GLcontext *ctx, const GLfloat color[4]) i830ContextPtr imesa = I830_CONTEXT(ctx); GLubyte r, g, b, a; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); FLOAT_COLOR_TO_UBYTE_COLOR(r, color[RCOMP]); @@ -274,9 +340,9 @@ static void i830BlendColor(GLcontext *ctx, const GLfloat color[4]) I830_STATECHANGE(imesa, I830_UPLOAD_CTX); imesa->Setup[I830_CTXREG_BLENDCOLR] = ((a << 24) | - (r << 16) | - (g << 8) | - b); + (r << 16) | + (g << 8) | + b); } static void i830BlendEquation(GLcontext *ctx, GLenum mode) @@ -284,7 +350,7 @@ static void i830BlendEquation(GLcontext *ctx, GLenum mode) i830ContextPtr imesa = I830_CONTEXT(ctx); int func = ENABLE_ALPHA_BLENDFUNC; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s %s\n", __FUNCTION__, _mesa_lookup_enum_by_nr(mode)); @@ -292,11 +358,21 @@ static void i830BlendEquation(GLcontext *ctx, GLenum mode) i830EvalLogicOpBlendState(ctx); switch(mode) { - case GL_FUNC_ADD_EXT: func |= BLENDFUNC_ADD; break; - case GL_MIN_EXT: func |= BLENDFUNC_MIN; break; - case GL_MAX_EXT: func |= BLENDFUNC_MAX; break; - case GL_FUNC_SUBTRACT_EXT: func |= BLENDFUNC_SUB; break; - case GL_FUNC_REVERSE_SUBTRACT_EXT: func |= BLENDFUNC_RVRSE_SUB; break; + case GL_FUNC_ADD_EXT: + func |= BLENDFUNC_ADD; + break; + case GL_MIN_EXT: + func |= BLENDFUNC_MIN; + break; + case GL_MAX_EXT: + func |= BLENDFUNC_MAX; + break; + case GL_FUNC_SUBTRACT_EXT: + func |= BLENDFUNC_SUB; + break; + case GL_FUNC_REVERSE_SUBTRACT_EXT: + func |= BLENDFUNC_RVRSE_SUB; + break; default: return; } @@ -313,62 +389,94 @@ static void i830BlendFunc(GLcontext *ctx, GLenum sfactor, GLenum dfactor) i830ContextPtr imesa = I830_CONTEXT(ctx); int func = (ENABLE_SRC_BLND_FACTOR|ENABLE_DST_BLND_FACTOR); - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s %s %s\n", __FUNCTION__, _mesa_lookup_enum_by_nr(sfactor), _mesa_lookup_enum_by_nr(dfactor)); switch(sfactor) { - case GL_ZERO: func |= SRC_BLND_FACT(BLENDFACT_ZERO); break; - case GL_SRC_ALPHA: func |= SRC_BLND_FACT(BLENDFACT_SRC_ALPHA); break; - case GL_ONE: func |= SRC_BLND_FACT(BLENDFACT_ONE); break; - case GL_DST_COLOR: func |= SRC_BLND_FACT(BLENDFACT_DST_COLR); break; + case GL_ZERO: + func |= SRC_BLND_FACT(BLENDFACT_ZERO); + break; + case GL_SRC_ALPHA: + func |= SRC_BLND_FACT(BLENDFACT_SRC_ALPHA); + break; + case GL_ONE: + func |= SRC_BLND_FACT(BLENDFACT_ONE); + break; + case GL_DST_COLOR: + func |= SRC_BLND_FACT(BLENDFACT_DST_COLR); + break; case GL_ONE_MINUS_DST_COLOR: - func |= SRC_BLND_FACT(BLENDFACT_INV_DST_COLR); break; + func |= SRC_BLND_FACT(BLENDFACT_INV_DST_COLR); + break; case GL_ONE_MINUS_SRC_ALPHA: - func |= SRC_BLND_FACT(BLENDFACT_INV_SRC_ALPHA); break; - case GL_DST_ALPHA: func |= SRC_BLND_FACT(BLENDFACT_DST_ALPHA); break; + func |= SRC_BLND_FACT(BLENDFACT_INV_SRC_ALPHA); + break; + case GL_DST_ALPHA: + func |= SRC_BLND_FACT(BLENDFACT_DST_ALPHA); + break; case GL_ONE_MINUS_DST_ALPHA: - func |= SRC_BLND_FACT(BLENDFACT_INV_DST_ALPHA); break; + func |= SRC_BLND_FACT(BLENDFACT_INV_DST_ALPHA); + break; case GL_SRC_ALPHA_SATURATE: - func |= SRC_BLND_FACT(BLENDFACT_SRC_ALPHA_SATURATE); - break; + func |= SRC_BLND_FACT(BLENDFACT_SRC_ALPHA_SATURATE); + break; case GL_CONSTANT_COLOR_EXT: - func |= SRC_BLND_FACT(BLENDFACT_CONST_COLOR); break; + func |= SRC_BLND_FACT(BLENDFACT_CONST_COLOR); + break; case GL_ONE_MINUS_CONSTANT_COLOR_EXT: - func |= SRC_BLND_FACT(BLENDFACT_INV_CONST_COLOR); - break; + func |= SRC_BLND_FACT(BLENDFACT_INV_CONST_COLOR); + break; case GL_CONSTANT_ALPHA_EXT: - func |= SRC_BLND_FACT(BLENDFACT_CONST_ALPHA); break; + func |= SRC_BLND_FACT(BLENDFACT_CONST_ALPHA); + break; case GL_ONE_MINUS_CONSTANT_ALPHA_EXT: - func |= SRC_BLND_FACT(BLENDFACT_INV_CONST_ALPHA); - break; - default: return; + func |= SRC_BLND_FACT(BLENDFACT_INV_CONST_ALPHA); + break; + default: + return; } switch(dfactor) { - case GL_SRC_ALPHA: func |= DST_BLND_FACT(BLENDFACT_SRC_ALPHA); break; + case GL_SRC_ALPHA: + func |= DST_BLND_FACT(BLENDFACT_SRC_ALPHA); + break; case GL_ONE_MINUS_SRC_ALPHA: - func |= DST_BLND_FACT(BLENDFACT_INV_SRC_ALPHA); break; - case GL_ZERO: func |= DST_BLND_FACT(BLENDFACT_ZERO); break; - case GL_ONE: func |= DST_BLND_FACT(BLENDFACT_ONE); break; - case GL_SRC_COLOR: func |= DST_BLND_FACT(BLENDFACT_SRC_COLR); break; + func |= DST_BLND_FACT(BLENDFACT_INV_SRC_ALPHA); + break; + case GL_ZERO: + func |= DST_BLND_FACT(BLENDFACT_ZERO); + break; + case GL_ONE: + func |= DST_BLND_FACT(BLENDFACT_ONE); + break; + case GL_SRC_COLOR: + func |= DST_BLND_FACT(BLENDFACT_SRC_COLR); + break; case GL_ONE_MINUS_SRC_COLOR: - func |= DST_BLND_FACT(BLENDFACT_INV_SRC_COLR); break; - case GL_DST_ALPHA: func |= DST_BLND_FACT(BLENDFACT_DST_ALPHA); break; + func |= DST_BLND_FACT(BLENDFACT_INV_SRC_COLR); + break; + case GL_DST_ALPHA: + func |= DST_BLND_FACT(BLENDFACT_DST_ALPHA); + break; case GL_ONE_MINUS_DST_ALPHA: - func |= DST_BLND_FACT(BLENDFACT_INV_DST_ALPHA); break; + func |= DST_BLND_FACT(BLENDFACT_INV_DST_ALPHA); + break; case GL_CONSTANT_COLOR_EXT: - func |= DST_BLND_FACT(BLENDFACT_CONST_COLOR); break; + func |= DST_BLND_FACT(BLENDFACT_CONST_COLOR); + break; case GL_ONE_MINUS_CONSTANT_COLOR_EXT: - func |= DST_BLND_FACT(BLENDFACT_INV_CONST_COLOR); - break; + func |= DST_BLND_FACT(BLENDFACT_INV_CONST_COLOR); + break; case GL_CONSTANT_ALPHA_EXT: - func |= DST_BLND_FACT(BLENDFACT_CONST_ALPHA); break; + func |= DST_BLND_FACT(BLENDFACT_CONST_ALPHA); + break; case GL_ONE_MINUS_CONSTANT_ALPHA_EXT: - func |= DST_BLND_FACT(BLENDFACT_INV_CONST_ALPHA); - break; - default: return; + func |= DST_BLND_FACT(BLENDFACT_INV_CONST_ALPHA); + break; + default: + return; } I830_STATECHANGE(imesa, I830_UPLOAD_CTX); @@ -387,111 +495,172 @@ static void i830BlendFuncSeparate(GLcontext *ctx, GLenum sfactorRGB, int funcA = (ENABLE_SRC_ABLEND_FACTOR|ENABLE_DST_ABLEND_FACTOR); int funcRGB = (ENABLE_SRC_BLND_FACTOR|ENABLE_DST_BLND_FACTOR); - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); switch(sfactorA) { - case GL_ZERO: funcA |= SRC_ABLEND_FACT(BLENDFACT_ZERO); break; - case GL_SRC_ALPHA: funcA |= SRC_ABLEND_FACT(BLENDFACT_SRC_ALPHA); break; - case GL_ONE: funcA |= SRC_ABLEND_FACT(BLENDFACT_ONE); break; - case GL_DST_COLOR: funcA |= SRC_ABLEND_FACT(BLENDFACT_DST_COLR); break; + case GL_ZERO: + funcA |= SRC_ABLEND_FACT(BLENDFACT_ZERO); + break; + case GL_SRC_ALPHA: + funcA |= SRC_ABLEND_FACT(BLENDFACT_SRC_ALPHA); + break; + case GL_ONE: + funcA |= SRC_ABLEND_FACT(BLENDFACT_ONE); + break; + case GL_DST_COLOR: + funcA |= SRC_ABLEND_FACT(BLENDFACT_DST_COLR); + break; case GL_ONE_MINUS_DST_COLOR: - funcA |= SRC_ABLEND_FACT(BLENDFACT_INV_DST_COLR); break; + funcA |= SRC_ABLEND_FACT(BLENDFACT_INV_DST_COLR); + break; case GL_ONE_MINUS_SRC_ALPHA: - funcA |= SRC_ABLEND_FACT(BLENDFACT_INV_SRC_ALPHA); break; - case GL_DST_ALPHA: funcA |= SRC_ABLEND_FACT(BLENDFACT_DST_ALPHA); break; + funcA |= SRC_ABLEND_FACT(BLENDFACT_INV_SRC_ALPHA); + break; + case GL_DST_ALPHA: + funcA |= SRC_ABLEND_FACT(BLENDFACT_DST_ALPHA); + break; case GL_ONE_MINUS_DST_ALPHA: - funcA |= SRC_ABLEND_FACT(BLENDFACT_INV_DST_ALPHA); break; + funcA |= SRC_ABLEND_FACT(BLENDFACT_INV_DST_ALPHA); + break; case GL_SRC_ALPHA_SATURATE: - funcA |= SRC_ABLEND_FACT(BLENDFACT_SRC_ALPHA_SATURATE); - break; + funcA |= SRC_ABLEND_FACT(BLENDFACT_SRC_ALPHA_SATURATE); + break; case GL_CONSTANT_COLOR_EXT: - funcA |= SRC_ABLEND_FACT(BLENDFACT_CONST_COLOR); break; + funcA |= SRC_ABLEND_FACT(BLENDFACT_CONST_COLOR); + break; case GL_ONE_MINUS_CONSTANT_COLOR_EXT: - funcA |= SRC_ABLEND_FACT(BLENDFACT_INV_CONST_COLOR); break; + funcA |= SRC_ABLEND_FACT(BLENDFACT_INV_CONST_COLOR); + break; case GL_CONSTANT_ALPHA_EXT: - funcA |= SRC_ABLEND_FACT(BLENDFACT_CONST_ALPHA); break; + funcA |= SRC_ABLEND_FACT(BLENDFACT_CONST_ALPHA); + break; case GL_ONE_MINUS_CONSTANT_ALPHA_EXT: - funcA |= SRC_ABLEND_FACT(BLENDFACT_INV_CONST_ALPHA); - break; + funcA |= SRC_ABLEND_FACT(BLENDFACT_INV_CONST_ALPHA); + break; default: return; } switch(dfactorA) { - case GL_SRC_ALPHA: funcA |= DST_ABLEND_FACT(BLENDFACT_SRC_ALPHA); break; + case GL_SRC_ALPHA: + funcA |= DST_ABLEND_FACT(BLENDFACT_SRC_ALPHA); + break; case GL_ONE_MINUS_SRC_ALPHA: - funcA |= DST_ABLEND_FACT(BLENDFACT_INV_SRC_ALPHA); break; - case GL_ZERO: funcA |= DST_ABLEND_FACT(BLENDFACT_ZERO); break; - case GL_ONE: funcA |= DST_ABLEND_FACT(BLENDFACT_ONE); break; - case GL_SRC_COLOR: funcA |= DST_ABLEND_FACT(BLENDFACT_SRC_COLR); break; + funcA |= DST_ABLEND_FACT(BLENDFACT_INV_SRC_ALPHA); + break; + case GL_ZERO: + funcA |= DST_ABLEND_FACT(BLENDFACT_ZERO); + break; + case GL_ONE: + funcA |= DST_ABLEND_FACT(BLENDFACT_ONE); + break; + case GL_SRC_COLOR: + funcA |= DST_ABLEND_FACT(BLENDFACT_SRC_COLR); + break; case GL_ONE_MINUS_SRC_COLOR: - funcA |= DST_ABLEND_FACT(BLENDFACT_INV_SRC_COLR); break; - case GL_DST_ALPHA: funcA |= DST_ABLEND_FACT(BLENDFACT_DST_ALPHA); break; + funcA |= DST_ABLEND_FACT(BLENDFACT_INV_SRC_COLR); + break; + case GL_DST_ALPHA: + funcA |= DST_ABLEND_FACT(BLENDFACT_DST_ALPHA); + break; case GL_ONE_MINUS_DST_ALPHA: - funcA |= DST_ABLEND_FACT(BLENDFACT_INV_DST_ALPHA); break; + funcA |= DST_ABLEND_FACT(BLENDFACT_INV_DST_ALPHA); + break; case GL_CONSTANT_COLOR_EXT: - funcA |= DST_ABLEND_FACT(BLENDFACT_CONST_COLOR); break; + funcA |= DST_ABLEND_FACT(BLENDFACT_CONST_COLOR); + break; case GL_ONE_MINUS_CONSTANT_COLOR_EXT: - funcA |= DST_ABLEND_FACT(BLENDFACT_INV_CONST_COLOR); - break; + funcA |= DST_ABLEND_FACT(BLENDFACT_INV_CONST_COLOR); + break; case GL_CONSTANT_ALPHA_EXT: - funcA |= DST_ABLEND_FACT(BLENDFACT_CONST_ALPHA); break; + funcA |= DST_ABLEND_FACT(BLENDFACT_CONST_ALPHA); + break; case GL_ONE_MINUS_CONSTANT_ALPHA_EXT: - funcA |= DST_ABLEND_FACT(BLENDFACT_INV_CONST_ALPHA); - break; + funcA |= DST_ABLEND_FACT(BLENDFACT_INV_CONST_ALPHA); + break; default: return; } switch(sfactorRGB) { - case GL_ZERO: funcRGB |= SRC_BLND_FACT(BLENDFACT_ZERO); break; - case GL_SRC_ALPHA: funcRGB |= SRC_BLND_FACT(BLENDFACT_SRC_ALPHA); break; - case GL_ONE: funcRGB |= SRC_BLND_FACT(BLENDFACT_ONE); break; - case GL_DST_COLOR: funcRGB |= SRC_BLND_FACT(BLENDFACT_DST_COLR); break; + case GL_ZERO: + funcRGB |= SRC_BLND_FACT(BLENDFACT_ZERO); + break; + case GL_SRC_ALPHA: + funcRGB |= SRC_BLND_FACT(BLENDFACT_SRC_ALPHA); + break; + case GL_ONE: + funcRGB |= SRC_BLND_FACT(BLENDFACT_ONE); + break; + case GL_DST_COLOR: + funcRGB |= SRC_BLND_FACT(BLENDFACT_DST_COLR); + break; case GL_ONE_MINUS_DST_COLOR: - funcRGB |= SRC_BLND_FACT(BLENDFACT_INV_DST_COLR); break; + funcRGB |= SRC_BLND_FACT(BLENDFACT_INV_DST_COLR); + break; case GL_ONE_MINUS_SRC_ALPHA: - funcRGB |= SRC_BLND_FACT(BLENDFACT_INV_SRC_ALPHA); break; - case GL_DST_ALPHA: funcRGB |= SRC_BLND_FACT(BLENDFACT_DST_ALPHA); break; + funcRGB |= SRC_BLND_FACT(BLENDFACT_INV_SRC_ALPHA); + break; + case GL_DST_ALPHA: + funcRGB |= SRC_BLND_FACT(BLENDFACT_DST_ALPHA); + break; case GL_ONE_MINUS_DST_ALPHA: - funcRGB |= SRC_BLND_FACT(BLENDFACT_INV_DST_ALPHA); break; + funcRGB |= SRC_BLND_FACT(BLENDFACT_INV_DST_ALPHA); + break; case GL_SRC_ALPHA_SATURATE: - funcRGB |= SRC_BLND_FACT(BLENDFACT_SRC_ALPHA_SATURATE); - break; + funcRGB |= SRC_BLND_FACT(BLENDFACT_SRC_ALPHA_SATURATE); + break; case GL_CONSTANT_COLOR_EXT: - funcRGB |= SRC_BLND_FACT(BLENDFACT_CONST_COLOR); break; + funcRGB |= SRC_BLND_FACT(BLENDFACT_CONST_COLOR); + break; case GL_ONE_MINUS_CONSTANT_COLOR_EXT: - funcRGB |= SRC_BLND_FACT(BLENDFACT_INV_CONST_COLOR); - break; + funcRGB |= SRC_BLND_FACT(BLENDFACT_INV_CONST_COLOR); + break; case GL_CONSTANT_ALPHA_EXT: - funcRGB |= SRC_BLND_FACT(BLENDFACT_CONST_ALPHA); break; + funcRGB |= SRC_BLND_FACT(BLENDFACT_CONST_ALPHA); + break; case GL_ONE_MINUS_CONSTANT_ALPHA_EXT: - funcRGB |= SRC_BLND_FACT(BLENDFACT_INV_CONST_ALPHA); - break; + funcRGB |= SRC_BLND_FACT(BLENDFACT_INV_CONST_ALPHA); + break; default: return; } switch(dfactorRGB) { - case GL_SRC_ALPHA: funcRGB |= DST_BLND_FACT(BLENDFACT_SRC_ALPHA); break; + case GL_SRC_ALPHA: + funcRGB |= DST_BLND_FACT(BLENDFACT_SRC_ALPHA); + break; case GL_ONE_MINUS_SRC_ALPHA: - funcRGB |= DST_BLND_FACT(BLENDFACT_INV_SRC_ALPHA); break; - case GL_ZERO: funcRGB |= DST_BLND_FACT(BLENDFACT_ZERO); break; - case GL_ONE: funcRGB |= DST_BLND_FACT(BLENDFACT_ONE); break; - case GL_SRC_COLOR: funcRGB |= DST_BLND_FACT(BLENDFACT_SRC_COLR); break; + funcRGB |= DST_BLND_FACT(BLENDFACT_INV_SRC_ALPHA); + break; + case GL_ZERO: + funcRGB |= DST_BLND_FACT(BLENDFACT_ZERO); + break; + case GL_ONE: + funcRGB |= DST_BLND_FACT(BLENDFACT_ONE); + break; + case GL_SRC_COLOR: + funcRGB |= DST_BLND_FACT(BLENDFACT_SRC_COLR); + break; case GL_ONE_MINUS_SRC_COLOR: - funcRGB |= DST_BLND_FACT(BLENDFACT_INV_SRC_COLR); break; - case GL_DST_ALPHA: funcRGB |= DST_BLND_FACT(BLENDFACT_DST_ALPHA); break; + funcRGB |= DST_BLND_FACT(BLENDFACT_INV_SRC_COLR); + break; + case GL_DST_ALPHA: + funcRGB |= DST_BLND_FACT(BLENDFACT_DST_ALPHA); + break; case GL_ONE_MINUS_DST_ALPHA: - funcRGB |= DST_BLND_FACT(BLENDFACT_INV_DST_ALPHA); break; + funcRGB |= DST_BLND_FACT(BLENDFACT_INV_DST_ALPHA); + break; case GL_CONSTANT_COLOR_EXT: - funcRGB |= DST_BLND_FACT(BLENDFACT_CONST_COLOR); break; + funcRGB |= DST_BLND_FACT(BLENDFACT_CONST_COLOR); + break; case GL_ONE_MINUS_CONSTANT_COLOR_EXT: - funcRGB |= DST_BLND_FACT(BLENDFACT_INV_CONST_COLOR); - break; + funcRGB |= DST_BLND_FACT(BLENDFACT_INV_CONST_COLOR); + break; case GL_CONSTANT_ALPHA_EXT: - funcRGB |= DST_BLND_FACT(BLENDFACT_CONST_ALPHA); break; + funcRGB |= DST_BLND_FACT(BLENDFACT_CONST_ALPHA); + break; case GL_ONE_MINUS_CONSTANT_ALPHA_EXT: - funcRGB |= DST_BLND_FACT(BLENDFACT_INV_CONST_ALPHA); - break; + funcRGB |= DST_BLND_FACT(BLENDFACT_INV_CONST_ALPHA); + break; default: return; } @@ -512,18 +681,34 @@ static void i830DepthFunc(GLcontext *ctx, GLenum func) i830ContextPtr imesa = I830_CONTEXT(ctx); int test = 0; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); switch(func) { - case GL_NEVER: test = COMPAREFUNC_NEVER; break; - case GL_LESS: test = COMPAREFUNC_LESS; break; - case GL_LEQUAL: test = COMPAREFUNC_LEQUAL; break; - case GL_GREATER: test = COMPAREFUNC_GREATER; break; - case GL_GEQUAL: test = COMPAREFUNC_GEQUAL; break; - case GL_NOTEQUAL: test = COMPAREFUNC_NOTEQUAL; break; - case GL_EQUAL: test = COMPAREFUNC_EQUAL; break; - case GL_ALWAYS: test = COMPAREFUNC_ALWAYS; break; + case GL_NEVER: + test = COMPAREFUNC_NEVER; + break; + case GL_LESS: + test = COMPAREFUNC_LESS; + break; + case GL_LEQUAL: + test = COMPAREFUNC_LEQUAL; + break; + case GL_GREATER: + test = COMPAREFUNC_GREATER; + break; + case GL_GEQUAL: + test = COMPAREFUNC_GEQUAL; + break; + case GL_NOTEQUAL: + test = COMPAREFUNC_NOTEQUAL; + break; + case GL_EQUAL: + test = COMPAREFUNC_EQUAL; + break; + case GL_ALWAYS: + test = COMPAREFUNC_ALWAYS; + break; default: return; } @@ -537,7 +722,7 @@ static void i830DepthMask(GLcontext *ctx, GLboolean flag) { i830ContextPtr imesa = I830_CONTEXT(ctx); - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s flag (%d)\n", __FUNCTION__, flag); I830_STATECHANGE(imesa, I830_UPLOAD_CTX); @@ -545,17 +730,14 @@ static void i830DepthMask(GLcontext *ctx, GLboolean flag) imesa->Setup[I830_CTXREG_ENABLES_2] &= ~ENABLE_DIS_DEPTH_WRITE_MASK; if (flag) - imesa->Setup[I830_CTXREG_ENABLES_2] |= ENABLE_DEPTH_WRITE; + imesa->Setup[I830_CTXREG_ENABLES_2] |= ENABLE_DEPTH_WRITE; else - imesa->Setup[I830_CTXREG_ENABLES_2] |= DISABLE_DEPTH_WRITE; + imesa->Setup[I830_CTXREG_ENABLES_2] |= DISABLE_DEPTH_WRITE; } /* The i830 has no stipple hardware */ static void i830PolygonStipple(GLcontext *ctx, const GLubyte *mask) { - i830ContextPtr imesa = I830_CONTEXT(ctx); - - FALLBACK(imesa, I830_FALLBACK_STIPPLE, ctx->Polygon.StippleFlag); } /* ============================================================= @@ -570,14 +752,14 @@ static void i830Scissor(GLcontext *ctx, GLint x, GLint y, int x2 = x + w - 1; int y2 = y1 + h - 1; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "[%s] x(%d) y(%d) w(%d) h(%d)\n", __FUNCTION__, x, y, w, h); - if(x1 < 0) x1 = 0; - if(y1 < 0) y1 = 0; - if(x2 < 0) x2 = 0; - if(y2 < 0) y2 = 0; + if (x1 < 0) x1 = 0; + if (y1 < 0) y1 = 0; + if (x2 < 0) x2 = 0; + if (y2 < 0) y2 = 0; I830_STATECHANGE(imesa, I830_UPLOAD_BUFFERS); imesa->BufferSetup[I830_DESTREG_SR1] = (y1 << 16) | (x1 & 0xffff); @@ -589,27 +771,60 @@ static void i830LogicOp(GLcontext *ctx, GLenum opcode) i830ContextPtr imesa = I830_CONTEXT(ctx); int tmp = 0; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); switch(opcode) { - case GL_CLEAR: tmp = LOGICOP_CLEAR; break; - case GL_AND: tmp = LOGICOP_AND; break; - case GL_AND_REVERSE: tmp = LOGICOP_AND_RVRSE; break; - case GL_COPY: tmp = LOGICOP_COPY; break; - case GL_COPY_INVERTED: tmp = LOGICOP_COPY_INV; break; - case GL_AND_INVERTED: tmp = LOGICOP_AND_INV; break; - case GL_NOOP: tmp = LOGICOP_NOOP; break; - case GL_XOR: tmp = LOGICOP_XOR; break; - case GL_OR: tmp = LOGICOP_OR; break; - case GL_OR_INVERTED: tmp = LOGICOP_OR_INV; break; - case GL_NOR: tmp = LOGICOP_NOR; break; - case GL_EQUIV: tmp = LOGICOP_EQUIV; break; - case GL_INVERT: tmp = LOGICOP_INV; break; - case GL_OR_REVERSE: tmp = LOGICOP_OR_RVRSE; break; - case GL_NAND: tmp = LOGICOP_NAND; break; - case GL_SET: tmp = LOGICOP_SET; break; - default: return; + case GL_CLEAR: + tmp = LOGICOP_CLEAR; + break; + case GL_AND: + tmp = LOGICOP_AND; + break; + case GL_AND_REVERSE: + tmp = LOGICOP_AND_RVRSE; + break; + case GL_COPY: + tmp = LOGICOP_COPY; + break; + case GL_COPY_INVERTED: + tmp = LOGICOP_COPY_INV; + break; + case GL_AND_INVERTED: + tmp = LOGICOP_AND_INV; + break; + case GL_NOOP: + tmp = LOGICOP_NOOP; + break; + case GL_XOR: + tmp = LOGICOP_XOR; + break; + case GL_OR: + tmp = LOGICOP_OR; + break; + case GL_OR_INVERTED: + tmp = LOGICOP_OR_INV; + break; + case GL_NOR: + tmp = LOGICOP_NOR; + break; + case GL_EQUIV: + tmp = LOGICOP_EQUIV; + break; + case GL_INVERT: + tmp = LOGICOP_INV; + break; + case GL_OR_REVERSE: + tmp = LOGICOP_OR_RVRSE; + break; + case GL_NAND: + tmp = LOGICOP_NAND; + break; + case GL_SET: + tmp = LOGICOP_SET; + break; + default: + return; } I830_STATECHANGE(imesa, I830_UPLOAD_CTX); @@ -628,11 +843,11 @@ static void i830RenderMode( GLcontext *ctx, GLenum mode ) FALLBACK( imesa, I830_FALLBACK_RENDERMODE, (mode != GL_RENDER) ); } -static GLboolean i830SetDrawBuffer(GLcontext *ctx, GLenum mode ) +static void i830SetDrawBuffer(GLcontext *ctx, GLenum mode ) { i830ContextPtr imesa = I830_CONTEXT(ctx); - if(mode == GL_FRONT_LEFT) { + if (mode == GL_FRONT_LEFT) { I830_FIREVERTICES(imesa); I830_STATECHANGE(imesa, I830_UPLOAD_BUFFERS); @@ -642,8 +857,7 @@ static GLboolean i830SetDrawBuffer(GLcontext *ctx, GLenum mode ) imesa->readMap = (char *)imesa->driScreen->pFB; i830XMesaSetFrontClipRects( imesa ); FALLBACK( imesa, I830_FALLBACK_DRAW_BUFFER, GL_FALSE ); - return GL_TRUE; - } else if(mode == GL_BACK_LEFT) { + } else if (mode == GL_BACK_LEFT) { I830_FIREVERTICES(imesa); I830_STATECHANGE(imesa, I830_UPLOAD_BUFFERS); @@ -654,10 +868,8 @@ static GLboolean i830SetDrawBuffer(GLcontext *ctx, GLenum mode ) imesa->readMap = imesa->i830Screen->back.map; i830XMesaSetBackClipRects( imesa ); FALLBACK( imesa, I830_FALLBACK_DRAW_BUFFER, GL_FALSE ); - return GL_TRUE; } else { FALLBACK( imesa, I830_FALLBACK_DRAW_BUFFER, GL_TRUE ); - return GL_FALSE; } } @@ -682,7 +894,7 @@ static void i830CullFaceFrontFace(GLcontext *ctx, GLenum unused) i830ContextPtr imesa = I830_CONTEXT(ctx); GLuint mode = CULLMODE_BOTH; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); if (ctx->Polygon.CullFaceMode != GL_FRONT_AND_BACK) { @@ -697,9 +909,9 @@ static void i830CullFaceFrontFace(GLcontext *ctx, GLenum unused) imesa->LcsCullMode = mode; if (ctx->Polygon.CullFlag) { - I830_STATECHANGE(imesa, I830_UPLOAD_CTX); - imesa->Setup[I830_CTXREG_STATE3] &= ~CULLMODE_MASK; - imesa->Setup[I830_CTXREG_STATE3] |= ENABLE_CULL_MODE | mode; + I830_STATECHANGE(imesa, I830_UPLOAD_CTX); + imesa->Setup[I830_CTXREG_STATE3] &= ~CULLMODE_MASK; + imesa->Setup[I830_CTXREG_STATE3] |= ENABLE_CULL_MODE | mode; } } @@ -708,7 +920,7 @@ static void i830LineWidth( GLcontext *ctx, GLfloat widthf ) i830ContextPtr imesa = I830_CONTEXT( ctx ); int width; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); width = FloatToInt(widthf * 2); @@ -725,7 +937,7 @@ static void i830PointSize(GLcontext *ctx, GLfloat size) i830ContextPtr imesa = I830_CONTEXT(ctx); GLint point_size = FloatToInt(size); - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); CLAMP_SELF(point_size, 1, 256); @@ -747,8 +959,8 @@ static void i830ColorMask(GLcontext *ctx, i830ContextPtr imesa = I830_CONTEXT( ctx ); GLuint tmp = 0; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) - fprintf(stderr, "%s r(%d) g(%d) b(%d) a(%d)\n", __FUNCTION__, r, g, b, a); + if (I830_DEBUG&DEBUG_DRI) + fprintf(stderr, "%s r(%d) g(%d) b(%d) a(%d)\n", __FUNCTION__, r, g, b, a); imesa->mask_red = !r; imesa->mask_green = !g; @@ -756,46 +968,41 @@ static void i830ColorMask(GLcontext *ctx, imesa->mask_alpha = !a; tmp = (imesa->Setup[I830_CTXREG_ENABLES_2] & ~WRITEMASK_MASK) | - ENABLE_COLOR_MASK | - ENABLE_COLOR_WRITE | - ((!r) << WRITEMASK_RED_SHIFT) | - ((!g) << WRITEMASK_GREEN_SHIFT) | - ((!b) << WRITEMASK_BLUE_SHIFT) | - ((!a) << WRITEMASK_ALPHA_SHIFT); - - if(tmp != imesa->Setup[I830_CTXREG_ENABLES_2]) { + ENABLE_COLOR_MASK | + ENABLE_COLOR_WRITE | + ((!r) << WRITEMASK_RED_SHIFT) | + ((!g) << WRITEMASK_GREEN_SHIFT) | + ((!b) << WRITEMASK_BLUE_SHIFT) | + ((!a) << WRITEMASK_ALPHA_SHIFT); + + if (tmp != imesa->Setup[I830_CTXREG_ENABLES_2]) { I830_FIREVERTICES(imesa); imesa->dirty |= I830_UPLOAD_CTX; imesa->Setup[I830_CTXREG_ENABLES_2] = tmp; - - if(I830_DEBUG&DEBUG_VERBOSE_STATE) - fprintf(stderr, "[%s] enables 2 = 0x%08x\n", __FUNCTION__, tmp); } } +static void update_specular( GLcontext *ctx ) +{ + i830ContextPtr imesa = I830_CONTEXT( ctx ); + + I830_STATECHANGE(imesa, I830_UPLOAD_CTX); + imesa->Setup[I830_CTXREG_ENABLES_1] &= ~ENABLE_SPEC_ADD_MASK; + + if (ctx->_TriangleCaps & DD_SEPARATE_SPECULAR) + imesa->Setup[I830_CTXREG_ENABLES_1] |= ENABLE_SPEC_ADD; + else + imesa->Setup[I830_CTXREG_ENABLES_1] |= DISABLE_SPEC_ADD; +} static void i830LightModelfv(GLcontext *ctx, GLenum pname, const GLfloat *param) { - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); - if(pname == GL_LIGHT_MODEL_COLOR_CONTROL) { - i830ContextPtr imesa = I830_CONTEXT( ctx ); - - I830_STATECHANGE(imesa, I830_UPLOAD_CTX); - imesa->Setup[I830_CTXREG_ENABLES_1] &= ~ENABLE_SPEC_ADD_MASK; - - if(ctx->Texture._ReallyEnabled && - ctx->Light.Enabled && - ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR) - imesa->Setup[I830_CTXREG_ENABLES_1] |= ENABLE_SPEC_ADD; - else - imesa->Setup[I830_CTXREG_ENABLES_1] |= DISABLE_SPEC_ADD; - - if(I830_DEBUG&DEBUG_VERBOSE_STATE) - fprintf(stderr, "[%s] Enables_1 = 0x%08x\n", __FUNCTION__, - imesa->Setup[I830_CTXREG_ENABLES_1]); + if (pname == GL_LIGHT_MODEL_COLOR_CONTROL) { + update_specular( ctx ); } } @@ -831,7 +1038,7 @@ static void i830Fogfv(GLcontext *ctx, GLenum pname, const GLfloat *param) { i830ContextPtr imesa = I830_CONTEXT(ctx); - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); if (pname == GL_FOG_COLOR) { @@ -853,140 +1060,119 @@ static void i830Enable(GLcontext *ctx, GLenum cap, GLboolean state) switch(cap) { case GL_LIGHTING: - I830_STATECHANGE(imesa, I830_UPLOAD_CTX); - imesa->Setup[I830_CTXREG_ENABLES_1] &= ~ENABLE_SPEC_ADD_MASK; - - if (ctx->Texture._ReallyEnabled && - ctx->Light.Enabled && - ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR) - imesa->Setup[I830_CTXREG_ENABLES_1] |= ENABLE_SPEC_ADD; - else - imesa->Setup[I830_CTXREG_ENABLES_1] |= DISABLE_SPEC_ADD; - - break; + case GL_COLOR_SUM_EXT: + update_specular( ctx ); + break; case GL_ALPHA_TEST: - I830_STATECHANGE(imesa, I830_UPLOAD_CTX); - imesa->Setup[I830_CTXREG_ENABLES_1] &= ~ENABLE_DIS_ALPHA_TEST_MASK; - if(state) - imesa->Setup[I830_CTXREG_ENABLES_1] |= ENABLE_ALPHA_TEST; - else - imesa->Setup[I830_CTXREG_ENABLES_1] |= DISABLE_ALPHA_TEST; + I830_STATECHANGE(imesa, I830_UPLOAD_CTX); + imesa->Setup[I830_CTXREG_ENABLES_1] &= ~ENABLE_DIS_ALPHA_TEST_MASK; + if (state) + imesa->Setup[I830_CTXREG_ENABLES_1] |= ENABLE_ALPHA_TEST; + else + imesa->Setup[I830_CTXREG_ENABLES_1] |= DISABLE_ALPHA_TEST; - break; + break; case GL_BLEND: case GL_COLOR_LOGIC_OP: case GL_INDEX_LOGIC_OP: - i830EvalLogicOpBlendState(ctx); - break; + i830EvalLogicOpBlendState(ctx); + break; case GL_DITHER: - I830_STATECHANGE(imesa, I830_UPLOAD_CTX); - imesa->Setup[I830_CTXREG_ENABLES_2] &= ~ENABLE_DITHER; + I830_STATECHANGE(imesa, I830_UPLOAD_CTX); + imesa->Setup[I830_CTXREG_ENABLES_2] &= ~ENABLE_DITHER; - if(state) - imesa->Setup[I830_CTXREG_ENABLES_2] |= ENABLE_DITHER; - else - imesa->Setup[I830_CTXREG_ENABLES_2] |= DISABLE_DITHER; - break; + if (state) + imesa->Setup[I830_CTXREG_ENABLES_2] |= ENABLE_DITHER; + else + imesa->Setup[I830_CTXREG_ENABLES_2] |= DISABLE_DITHER; + break; case GL_DEPTH_TEST: - I830_STATECHANGE(imesa, I830_UPLOAD_CTX); - imesa->Setup[I830_CTXREG_ENABLES_1] &= ~ENABLE_DIS_DEPTH_TEST_MASK; + I830_STATECHANGE(imesa, I830_UPLOAD_CTX); + imesa->Setup[I830_CTXREG_ENABLES_1] &= ~ENABLE_DIS_DEPTH_TEST_MASK; - if(state) - imesa->Setup[I830_CTXREG_ENABLES_1] |= ENABLE_DEPTH_TEST; - else - imesa->Setup[I830_CTXREG_ENABLES_1] |= DISABLE_DEPTH_TEST; - break; + if (state) + imesa->Setup[I830_CTXREG_ENABLES_1] |= ENABLE_DEPTH_TEST; + else + imesa->Setup[I830_CTXREG_ENABLES_1] |= DISABLE_DEPTH_TEST; + break; case GL_SCISSOR_TEST: I830_STATECHANGE(imesa, I830_UPLOAD_BUFFERS); if (state) - imesa->BufferSetup[I830_DESTREG_SENABLE] = - (STATE3D_SCISSOR_ENABLE_CMD | - ENABLE_SCISSOR_RECT); + imesa->BufferSetup[I830_DESTREG_SENABLE] = + (STATE3D_SCISSOR_ENABLE_CMD | + ENABLE_SCISSOR_RECT); else - imesa->BufferSetup[I830_DESTREG_SENABLE] = - (STATE3D_SCISSOR_ENABLE_CMD | - DISABLE_SCISSOR_RECT); + imesa->BufferSetup[I830_DESTREG_SENABLE] = + (STATE3D_SCISSOR_ENABLE_CMD | + DISABLE_SCISSOR_RECT); imesa->upload_cliprects = GL_TRUE; break; case GL_LINE_SMOOTH: if (imesa->reduced_primitive == GL_LINES) { - I830_STATECHANGE(imesa, I830_UPLOAD_CTX); + I830_STATECHANGE(imesa, I830_UPLOAD_CTX); - imesa->Setup[I830_CTXREG_AA] &= ~AA_LINE_ENABLE; - if(state) - imesa->Setup[I830_CTXREG_AA] |= AA_LINE_ENABLE; - else - imesa->Setup[I830_CTXREG_AA] |= AA_LINE_DISABLE; + imesa->Setup[I830_CTXREG_AA] &= ~AA_LINE_ENABLE; + if (state) + imesa->Setup[I830_CTXREG_AA] |= AA_LINE_ENABLE; + else + imesa->Setup[I830_CTXREG_AA] |= AA_LINE_DISABLE; } break; case GL_FOG: - I830_STATECHANGE(imesa, I830_UPLOAD_CTX); - imesa->Setup[I830_CTXREG_ENABLES_1] &= ~ENABLE_DIS_FOG_MASK; - if(state) - imesa->Setup[I830_CTXREG_ENABLES_1] |= I830_ENABLE_FOG; - else - imesa->Setup[I830_CTXREG_ENABLES_1] |= I830_DISABLE_FOG; - break; + I830_STATECHANGE(imesa, I830_UPLOAD_CTX); + imesa->Setup[I830_CTXREG_ENABLES_1] &= ~ENABLE_DIS_FOG_MASK; + if (state) + imesa->Setup[I830_CTXREG_ENABLES_1] |= I830_ENABLE_FOG; + else + imesa->Setup[I830_CTXREG_ENABLES_1] |= I830_DISABLE_FOG; + break; case GL_CULL_FACE: I830_STATECHANGE(imesa, I830_UPLOAD_CTX); imesa->Setup[I830_CTXREG_STATE3] &= ~CULLMODE_MASK; - if(state) - imesa->Setup[I830_CTXREG_STATE3] |= (ENABLE_CULL_MODE | - imesa->LcsCullMode); + if (state) + imesa->Setup[I830_CTXREG_STATE3] |= (ENABLE_CULL_MODE | + imesa->LcsCullMode); else - imesa->Setup[I830_CTXREG_STATE3] |= (ENABLE_CULL_MODE | - CULLMODE_NONE); + imesa->Setup[I830_CTXREG_STATE3] |= (ENABLE_CULL_MODE | + CULLMODE_NONE); break; case GL_TEXTURE_2D: - if(0) { - if(state) fprintf(stderr, "\n\nTexturing Enabled\n\n"); - else fprintf(stderr, "\n\nTexturing Disabled\n\n"); - } I830_STATECHANGE(imesa, I830_UPLOAD_CTX); imesa->Setup[I830_CTXREG_ENABLES_1] &= ~ENABLE_SPEC_ADD_MASK; - - if (ctx->Texture._ReallyEnabled && - ctx->Light.Enabled && - ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR) - imesa->Setup[I830_CTXREG_ENABLES_1] |= ENABLE_SPEC_ADD; - else - imesa->Setup[I830_CTXREG_ENABLES_1] |= DISABLE_SPEC_ADD; break; case GL_STENCIL_TEST: - if(imesa->hw_stencil) { - I830_STATECHANGE(imesa, I830_UPLOAD_CTX); - imesa->Setup[I830_CTXREG_ENABLES_1] &= ~ENABLE_STENCIL_TEST; - - if(state) { - imesa->Setup[I830_CTXREG_ENABLES_1] |= ENABLE_STENCIL_TEST; - } else { - imesa->Setup[I830_CTXREG_ENABLES_1] |= DISABLE_STENCIL_TEST; - } - - if(I830_DEBUG&DEBUG_VERBOSE_STATE) - fprintf(stderr, "%s : state4 : 0x%x, stentst : 0x%x," - " enables_1 : 0x%x\n", __FUNCTION__, - imesa->Setup[I830_CTXREG_STATE4], - imesa->Setup[I830_CTXREG_STENCILTST], - imesa->Setup[I830_CTXREG_ENABLES_1]); + if (imesa->hw_stencil) { + I830_STATECHANGE(imesa, I830_UPLOAD_CTX); + imesa->Setup[I830_CTXREG_ENABLES_1] &= ~ENABLE_STENCIL_TEST; + + if (state) { + imesa->Setup[I830_CTXREG_ENABLES_1] |= ENABLE_STENCIL_TEST; + } else { + imesa->Setup[I830_CTXREG_ENABLES_1] |= DISABLE_STENCIL_TEST; + } } else { - FALLBACK( imesa, I830_FALLBACK_STENCIL, state ); + FALLBACK( imesa, I830_FALLBACK_STENCIL, state ); } break; + + case GL_POLYGON_STIPPLE: + FALLBACK(imesa, I830_FALLBACK_STIPPLE, ctx->Polygon.StippleFlag); + break; + default: - ; + ; } } @@ -1001,7 +1187,7 @@ void i830EmitDrawingRectangle( i830ContextPtr imesa ) int y1 = y0 + dPriv->h; /* Don't set drawing rectangle */ - if(DEBUGGING) + if (I830_DEBUG & DEBUG_IOCTL) fprintf(stderr, "%s x0(%d) x1(%d) y0(%d) y1(%d)\n", __FUNCTION__, x0, x1, y0, y1); @@ -1033,7 +1219,7 @@ void i830EmitDrawingRectangle( i830ContextPtr imesa ) imesa->dirty |= I830_UPLOAD_BUFFERS; - if(0) + if (0) fprintf(stderr, "[%s] DR2(0x%08x) DR3(0x%08x) DR4(0x%08x)\n", __FUNCTION__, imesa->BufferSetup[I830_DESTREG_DR2], @@ -1093,11 +1279,9 @@ void i830PrintDirty( const char *msg, GLuint state ) void i830EmitHwStateLocked( i830ContextPtr imesa ) { int i; - if (DEBUGGING) - i830PrintDirty( "\n\n\ni830EmitHwStateLocked", imesa->dirty ); - if (DEBUGGING) - fprintf(stderr, "%s\n", __FUNCTION__); + if (I830_DEBUG & DEBUG_STATE) + i830PrintDirty( __FUNCTION__, imesa->dirty ); if ((imesa->dirty & I830_UPLOAD_TEX0_IMAGE) && imesa->CurrentTexObj[0]) i830UploadTexImages(imesa, imesa->CurrentTexObj[0]); @@ -1108,7 +1292,7 @@ void i830EmitHwStateLocked( i830ContextPtr imesa ) imesa->Setup, sizeof(imesa->Setup) ); } - for(i = 0; i < I830_TEXTURE_COUNT; i++) { + for (i = 0; i < I830_TEXTURE_COUNT; i++) { if ((imesa->dirty & I830_UPLOAD_TEX_N(i)) && imesa->CurrentTexObj[i]) { imesa->sarea->dirty |= I830_UPLOAD_TEX_N(i); memcpy(imesa->sarea->TexState[i], @@ -1120,7 +1304,7 @@ void i830EmitHwStateLocked( i830ContextPtr imesa ) } /* Need to figure out if texturing state, or enable changed. */ - for(i = 0; i < I830_TEXBLEND_COUNT; i++) { + for (i = 0; i < I830_TEXBLEND_COUNT; i++) { if (imesa->dirty & I830_UPLOAD_TEXBLEND_N(i)) { imesa->sarea->dirty |= I830_UPLOAD_TEXBLEND_N(i); memcpy(imesa->sarea->TexBlendState[i],imesa->TexBlend[i], @@ -1131,7 +1315,7 @@ void i830EmitHwStateLocked( i830ContextPtr imesa ) } if (imesa->dirty & I830_UPLOAD_BUFFERS) { - if (DEBUGGING) + if (I830_DEBUG & DEBUG_STATE) fprintf(stderr,"\nCopying BufferState to shared area\n"); memcpy( imesa->sarea->BufferState,imesa->BufferSetup, sizeof(imesa->BufferSetup) ); @@ -1168,9 +1352,6 @@ void i830DDInitState( GLcontext *ctx ) i830ScreenPrivate *i830Screen = imesa->i830Screen; int i, j; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) - fprintf(stderr, "%s\n", __FUNCTION__); - imesa->clear_red = 0; imesa->clear_green = 0; imesa->clear_blue = 0; @@ -1182,8 +1363,8 @@ void i830DDInitState( GLcontext *ctx ) imesa->mask_alpha = GL_FALSE; /* Zero all texture state */ - for(i = 0; i < I830_TEXBLEND_COUNT; i++) { - for(j = 0; j < I830_TEXBLEND_SIZE; j++) { + for (i = 0; i < I830_TEXBLEND_COUNT; i++) { + for (j = 0; j < I830_TEXBLEND_SIZE; j++) { imesa->TexBlend[i][j] = 0; imesa->Init_TexBlend[i][j] = 0; } @@ -1284,7 +1465,7 @@ void i830DDInitState( GLcontext *ctx ) DISABLE_COLOR_BLEND | DISABLE_DEPTH_TEST); - if(imesa->hw_stencil) { + if (imesa->hw_stencil) { imesa->Setup[I830_CTXREG_ENABLES_2] = (STATE3D_ENABLES_2_CMD | ENABLE_STENCIL_WRITE | ENABLE_TEX_CACHE | diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_tex.c b/xc/lib/GL/mesa/src/drv/i830/i830_tex.c index a4dbc907c..3215aeaeb 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_tex.c +++ b/xc/lib/GL/mesa/src/drv/i830/i830_tex.c @@ -71,7 +71,7 @@ static GLuint i830ComputeLodBias(GLfloat bias) static void i830SetTexWrapping(i830TextureObjectPtr tex, GLenum swrap, GLenum twrap) { - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if(I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); tex->Setup[I830_TEXREG_MCS] &= ~(TEXCOORD_ADDR_U_MASK|TEXCOORD_ADDR_V_MASK); @@ -112,7 +112,7 @@ static void i830SetTexFilter(i830ContextPtr imesa, { int minFilt = 0, mipFilt = 0, magFilt = 0; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if(I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); switch (minf) { @@ -181,7 +181,7 @@ static void i830SetTexFilter(i830ContextPtr imesa, static void i830SetTexBorderColor(i830TextureObjectPtr t, GLubyte color[4]) { - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if(I830_DEBUG&DEBUG_DRI) fprintf(stderr, "%s\n", __FUNCTION__); t->Setup[I830_TEXREG_MI5] = diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_texmem.c b/xc/lib/GL/mesa/src/drv/i830/i830_texmem.c index 16a5709ed..f4114757c 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_texmem.c +++ b/xc/lib/GL/mesa/src/drv/i830/i830_texmem.c @@ -285,7 +285,7 @@ void i830TexturesGone( i830ContextPtr imesa, { i830TextureObjectPtr t, tmp; - if (I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_TEXTURE) fprintf(stderr, "%s\n", __FUNCTION__); foreach_s ( t, tmp, &imesa->TexObjList ) { diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_texstate.c b/xc/lib/GL/mesa/src/drv/i830/i830_texstate.c index 0f002cd50..da7a12813 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_texstate.c +++ b/xc/lib/GL/mesa/src/drv/i830/i830_texstate.c @@ -56,6 +56,8 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #include "i830_state.h" #include "i830_ioctl.h" +#define I830_TEX_UNIT_ENABLED(unit) (1<<unit) + static void i830SetTexImages( i830ContextPtr imesa, struct gl_texture_object *tObj ) { @@ -184,7 +186,9 @@ static void i830SetTexImages( i830ContextPtr imesa, LOD_MIN(numLevels - 1)); t->dirty = I830_UPLOAD_TEX0 | I830_UPLOAD_TEX1; + LOCK_HARDWARE( imesa ); i830UploadTexImages( imesa, t ); + UNLOCK_HARDWARE( imesa ); } /* ================================================================ @@ -206,7 +210,7 @@ static void i830SetBlend_GL1_2(i830ContextPtr imesa, int curTex, { GLuint texel_op = GetTexelOp(curTex); - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if(I830_DEBUG&DEBUG_TEXTURE) fprintf(stderr, "%s %s %s unit (%d) texel_op(0x%x)\n", __FUNCTION__, _mesa_lookup_enum_by_nr(format), @@ -1015,7 +1019,7 @@ static void i830SetBlend_GL1_2(i830ContextPtr imesa, int curTex, break; } - if (I830_DEBUG&DEBUG_VERBOSE_TRACE) + if (I830_DEBUG&DEBUG_TEXTURE) fprintf(stderr, "%s\n", __FUNCTION__); } @@ -1030,7 +1034,7 @@ static void i830SetTexEnvCombine(i830ContextPtr imesa, GLuint texel_op = GetTexelOp(unit); int i; - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if(I830_DEBUG&DEBUG_TEXTURE) fprintf(stderr, "%s\n", __FUNCTION__); switch(texUnit->CombineModeRGB) { @@ -1251,7 +1255,7 @@ static void i830UpdateTexEnv( GLcontext *ctx, GLuint unit ) static void i830TexSetUnit( i830TextureObjectPtr t, GLuint unit ) { - if(I830_DEBUG&DEBUG_VERBOSE_TRACE) + if(I830_DEBUG&DEBUG_TEXTURE) fprintf(stderr, "%s unit(%d)\n", __FUNCTION__, unit); /* This will need to be changed when I support more then 2 t units */ diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_tris.c b/xc/lib/GL/mesa/src/drv/i830/i830_tris.c index a5f230e25..312230053 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_tris.c +++ b/xc/lib/GL/mesa/src/drv/i830/i830_tris.c @@ -54,6 +54,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #include "i830_state.h" #include "i830_vb.h" #include "i830_ioctl.h" +#include "i830_span.h" static void i830RenderPrimitive( GLcontext *ctx, GLenum prim ); @@ -398,13 +399,15 @@ i830_fallback_tri( i830ContextPtr imesa, GLcontext *ctx = imesa->glCtx; SWvertex v[3]; - if (DEBUGGING) + if (0) fprintf(stderr, "\n%s\n", __FUNCTION__); i830_translate_vertex( ctx, v0, &v[0] ); i830_translate_vertex( ctx, v1, &v[1] ); i830_translate_vertex( ctx, v2, &v[2] ); + i830SpanRenderStart( ctx ); _swrast_Triangle( ctx, &v[0], &v[1], &v[2] ); + i830SpanRenderFinish( ctx ); } @@ -416,12 +419,14 @@ i830_fallback_line( i830ContextPtr imesa, GLcontext *ctx = imesa->glCtx; SWvertex v[2]; - if (DEBUGGING) + if (0) fprintf(stderr, "\n%s\n", __FUNCTION__); i830_translate_vertex( ctx, v0, &v[0] ); i830_translate_vertex( ctx, v1, &v[1] ); + i830SpanRenderStart( ctx ); _swrast_Line( ctx, &v[0], &v[1] ); + i830SpanRenderFinish( ctx ); } @@ -432,11 +437,13 @@ i830_fallback_point( i830ContextPtr imesa, GLcontext *ctx = imesa->glCtx; SWvertex v[1]; - if (DEBUGGING) + if (0) fprintf(stderr, "\n%s\n", __FUNCTION__); i830_translate_vertex( ctx, v0, &v[0] ); + i830SpanRenderStart( ctx ); _swrast_Point( ctx, &v[0] ); + i830SpanRenderFinish( ctx ); } @@ -486,9 +493,6 @@ static void i830RenderClippedPoly( GLcontext *ctx, const GLuint *elts, struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb; GLuint prim = imesa->render_primitive; - if (DEBUGGING) - fprintf(stderr, "\n%s\n", __FUNCTION__); - /* Render the new vertices as an unclipped polygon. */ { @@ -509,9 +513,6 @@ static void i830RenderClippedLine( GLcontext *ctx, GLuint ii, GLuint jj ) { TNLcontext *tnl = TNL_CONTEXT(ctx); - if (DEBUGGING) - fprintf(stderr, "\n%s\n", __FUNCTION__); - tnl->Driver.Render.Line( ctx, ii, jj ); } @@ -526,9 +527,6 @@ static void i830FastRenderClippedPoly( GLcontext *ctx, const GLuint *elts, const GLuint *start = (const GLuint *)V(elts[0]); int i,j; - if (DEBUGGING) - fprintf(stderr, "\n%s\n", __FUNCTION__); - for (i = 2 ; i < n ; i++) { COPY_DWORDS( j, vb, vertsize, V(elts[i-1]) ); COPY_DWORDS( j, vb, vertsize, V(elts[i]) ); @@ -562,7 +560,8 @@ static void i830ChooseRenderState(GLcontext *ctx) i830ContextPtr imesa = I830_CONTEXT(ctx); GLuint flags = ctx->_TriangleCaps; GLuint index = 0; - if (DEBUGGING) + + if (I830_DEBUG & DEBUG_STATE) fprintf(stderr,"\n%s\n",__FUNCTION__); if (flags & (ANY_FALLBACK_FLAGS|ANY_RASTER_FLAGS)) { @@ -714,7 +713,7 @@ void i830RasterPrimitive( GLcontext *ctx, aa &= ~AA_LINE_ENABLE; - if (0) { + if (I830_DEBUG & DEBUG_PRIMS) { /* Prints reduced prim, and hw prim */ char *prim_name = "Unknown"; @@ -785,6 +784,29 @@ void i830RasterPrimitive( GLcontext *ctx, /* Transition to/from hardware rasterization. */ /**********************************************************************/ +static char *fallbackStrings[] = { + "Texture", + "Draw buffer", + "Read buffer", + "Color mask", + "Render mode", + "Stencil", + "Stipple", + "User disable" +}; + + +static char *getFallbackString(GLuint bit) +{ + int i = 0; + while (bit > 1) { + i++; + bit >>= 1; + } + return fallbackStrings[i]; +} + + void i830Fallback( i830ContextPtr imesa, GLuint bit, GLboolean mode ) { @@ -792,14 +814,12 @@ void i830Fallback( i830ContextPtr imesa, GLuint bit, GLboolean mode ) TNLcontext *tnl = TNL_CONTEXT(ctx); GLuint oldfallback = imesa->Fallback; - if (0) fprintf(stderr, "%s old %x bit %x mode %d\n", __FUNCTION__, - imesa->Fallback, bit, mode ); - if (mode) { imesa->Fallback |= bit; if (oldfallback == 0) { - if (0) fprintf(stderr, "ENTER FALLBACK\n"); I830_FIREVERTICES(imesa); + if (I830_DEBUG & DEBUG_FALLBACKS) + fprintf(stderr, "ENTER FALLBACK %s\n", getFallbackString( bit )); _swsetup_Wakeup( ctx ); imesa->RenderIndex = ~0; } @@ -807,8 +827,9 @@ void i830Fallback( i830ContextPtr imesa, GLuint bit, GLboolean mode ) else { imesa->Fallback &= ~bit; if (oldfallback == bit) { - if (0) fprintf(stderr, "LEAVE FALLBACK\n"); _swrast_flush( ctx ); + if (I830_DEBUG & DEBUG_FALLBACKS) + fprintf(stderr, "LEAVE FALLBACK %s\n", getFallbackString( bit )); tnl->Driver.Render.Start = i830RenderStart; tnl->Driver.Render.PrimitiveNotify = i830RenderPrimitive; tnl->Driver.Render.Finish = i830RenderFinish; diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_vb.c b/xc/lib/GL/mesa/src/drv/i830/i830_vb.c index 007fe0a45..95acec143 100644 --- a/xc/lib/GL/mesa/src/drv/i830/i830_vb.c +++ b/xc/lib/GL/mesa/src/drv/i830/i830_vb.c @@ -43,7 +43,6 @@ #include "i830_ioctl.h" #include "i830_tris.h" #include "i830_state.h" -#include "i830_drv.h" #define I830_TEX1_BIT 0x1 #define I830_TEX0_BIT 0x2 @@ -120,7 +119,7 @@ static struct { #define GET_VIEWPORT_MAT() I830_CONTEXT(ctx)->ViewportMatrix.m #define GET_TEXSOURCE(n) n #define GET_VERTEX_FORMAT() I830_CONTEXT(ctx)->vertex_format -#define GET_VERTEX_STORE() I830_CONTEXT(ctx)->verts +#define GET_VERTEX_STORE() ((GLubyte *)I830_CONTEXT(ctx)->verts) #define GET_VERTEX_STRIDE_SHIFT() I830_CONTEXT(ctx)->vertex_stride_shift #define GET_UBYTE_COLOR_STORE() &I830_CONTEXT(ctx)->UbyteColor #define GET_UBYTE_SPEC_COLOR_STORE() &I830_CONTEXT(ctx)->UbyteSecondaryColor @@ -556,8 +555,6 @@ void i830InitVB( GLcontext *ctx ) { i830ContextPtr imesa = I830_CONTEXT(ctx); GLuint size = TNL_CONTEXT(ctx)->vb.Size; - if (DEBUGGING) - fprintf (stderr,"\n%s\n",__FUNCTION__); imesa->verts = (char *)ALIGN_MALLOC(size * 4 * 16, 32); @@ -568,8 +565,6 @@ void i830InitVB( GLcontext *ctx ) firsttime = 0; } } - if (DEBUGGING) - fprintf(stderr,"\nFinished InitVB\n"); } diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_vert_form_points.h b/xc/lib/GL/mesa/src/drv/i830/i830_vert_form_points.h deleted file mode 100644 index 6b0ebef76..000000000 --- a/xc/lib/GL/mesa/src/drv/i830/i830_vert_form_points.h +++ /dev/null @@ -1,10898 +0,0 @@ -/************************************************************************** - -Copyright 2001 VA Linux Systems Inc., Fremont, California. - -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -on the rights to use, copy, modify, merge, publish, distribute, sub -license, and/or sell copies of the Software, and to permit persons to whom -the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next -paragraph) shall be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL -ATI, VA LINUX SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. - -**************************************************************************/ - -/* $XFree86: xc/lib/GL/mesa/src/drv/i830/i830_vert_form_points.h,v 1.1 2001/10/04 18:28:21 alanh Exp $ */ - -/* - * Author: - * Jeff Hartmann <jhartmann@2d3d.com> - * - * Heavily based on the I810 driver, which was written by: - * Keith Whitwell <keithw@valinux.com> - */ - -/* Here is a list of vertex structures that the hardware supports - * for points. - */ - -/* Points with xyzw coords */ - -/* Non-Textured Points */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; -} i830_xyzw_argb_spec_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; -} i830_xyzw_argb_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; -} i830_xyzw_spec_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; -} i830_xyzw_point; - -/* Textured Points */ - -/* Four texunit */ - -/* Four texunit - all proj */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3 -} i830_xyzw_argb_spec_tp0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tp0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tp0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tp0_tp1_tp2_tp3_point; - -/* Four texunit - all cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tc0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_spec_tc0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_tc0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_tc0_tc1_tc2_tc3_point; - -/* Four texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tp0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_spec_tp0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_tp0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_tp0_tc1_tc2_tc3_point; - - - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tc0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_spec_tc0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_tc0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_tc0_tp1_tc2_tc3_point; - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tc0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_spec_tc0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_tc0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_tc0_tc1_tp2_tc3_point; - -/* Unit 0 cart : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tc0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tc0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tc0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tc0_tc1_tc2_tp3_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tp0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_spec_tp0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq0; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_tp0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_tp0_tp1_tc2_tc3_point; - - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tc0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_spec_tc0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_tc0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_tc0_tp1_tp2_tc3_point; - - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tc0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tc0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tc0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tc0_tc1_tp2_tp3_point; - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tc0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tc0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tc0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tc0_tp1_tc2_tp3_point; - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tp0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tp0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tp0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tp0_tc1_tc2_tp3_point; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tp0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_spec_tp0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_tp0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_tp0_tc1_tp2_tc3_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tp0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_spec_tp0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_tp0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_tp0_tp1_tp2_tc3_point; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tp0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tp0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tp0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tp0_tc1_tp2_tp3_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tp0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tp0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tp0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tp0_tp1_tc2_tp3_point; - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tc0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tc0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tc0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tc0_tp1_tp2_tp3_point; - - -/* Three texunit */ - -/* Three texunit - all proj */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_spec_tp0_tp1_tp2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_tp0_tp1_tp2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_spec_tp0_tp1_tp2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_tp0_tp1_tp2_point; - -/* Three texunit - all cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_argb_spec_tc0_tc1_tc2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_argb_tc0_tc1_tc2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_spec_tc0_tc1_tc2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_tc0_tc1_tc2_point; - -/* Three texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_argb_spec_tp0_tc1_tc2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_argb_tp0_tc1_tc2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_spec_tp0_tc1_tc2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_tp0_tc1_tc2_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_argb_spec_tp0_tp1_tc2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_argb_tp0_tp1_tc2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_spec_tp0_tp1_tc2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_tp0_tp1_tc2_point; - -/* Unit 0 proj : Unit 1 cart: Unit 2 proj */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_spec_tp0_tc1_tp2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_tp0_tc1_tp2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_spec_tp0_tc1_tp2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_tp0_tc1_tp2_point; - -/* Unit 0 cart : Unit 1 proj: Unit 2 cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_argb_spec_tc0_tp1_tc2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_argb_tc0_tp1_tc2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_spec_tc0_tp1_tc2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_tc0_tp1_tc2_point; - -/* Unit 0 cart : Unit 1 cart: Unit 2 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_spec_tc0_tc1_tp2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_tc0_tc1_tp2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_spec_tc0_tc1_tp2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_tc0_tc1_tp2_point; - -/* Unit 0 cart : Unit 1 proj: Unit 2 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_spec_tc0_tp1_tp2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_tc0_tp1_tp2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_spec_tc0_tp1_tp2_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_tc0_tp1_tp2_point; - - -/* Two texunit */ - -/* Two texunit - all proj */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_argb_spec_tp0_tp1_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_argb_tp0_tp1_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_spec_tp0_tp1_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_tp0_tp1_point; - -/* Two texunit - all cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyzw_argb_spec_tc0_tc1_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyzw_argb_tc0_tc1_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyzw_spec_tc0_tc1_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyzw_tc0_tc1_point; - -/* Two texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyzw_argb_spec_tp0_tc1_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyzw_argb_tp0_tc1_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyzw_spec_tp0_tc1_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyzw_tp0_tc1_point; - -/* Unit 0 cart : Unit 1 proj */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_argb_spec_tc0_tp1_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_argb_tc0_tp1_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_spec_tc0_tp1_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_tc0_tp1_point; - -/* One texunit */ - -/* One texunit - all proj */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xyzw_argb_spec_tp0_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; -} i830_xyzw_argb_tp0_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xyzw_spec_tp0_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; -} i830_xyzw_tp0_point; - -/* One texunit - all cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xyzw_argb_spec_tc0_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; -} i830_xyzw_argb_tc0_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xyzw_spec_tc0_point; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; -} i830_xyzw_tc0_point; - - -/* Points w/ xyz coords */ - -/* Non-Textured Points */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; -} i830_xyz_argb_spec_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; -} i830_xyz_argb_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; -} i830_xyz_spec_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; -} i830_xyz_point; - -/* Textured Points */ - -/* Four texunit */ - -/* Four texunit - all proj */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3 -} i830_xyz_argb_spec_tp0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tp0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tp0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tp0_tp1_tp2_tp3_point; - -/* Four texunit - all cart */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tc0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_spec_tc0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_tc0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_tc0_tc1_tc2_tc3_point; - -/* Four texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 cart */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tp0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_spec_tp0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_tp0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_tp0_tc1_tc2_tc3_point; - - - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tc0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_spec_tc0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_tc0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_tc0_tp1_tc2_tc3_point; - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tc0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_spec_tc0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_tc0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_tc0_tc1_tp2_tc3_point; - -/* Unit 0 cart : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tc0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tc0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tc0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tc0_tc1_tc2_tp3_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tp0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_spec_tp0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq0; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_tp0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_tp0_tp1_tc2_tc3_point; - - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tc0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_spec_tc0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_tc0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_tc0_tp1_tp2_tc3_point; - - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tc0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tc0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tc0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tc0_tc1_tp2_tp3_point; - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tc0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tc0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tc0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tc0_tp1_tc2_tp3_point; - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tp0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tp0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tp0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tp0_tc1_tc2_tp3_point; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tp0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_spec_tp0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_tp0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_tp0_tc1_tp2_tc3_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tp0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_spec_tp0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_tp0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_tp0_tp1_tp2_tc3_point; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tp0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tp0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tp0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tp0_tc1_tp2_tp3_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tp0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tp0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tp0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tp0_tp1_tc2_tp3_point; - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tc0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tc0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tc0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tc0_tp1_tp2_tp3_point; - - -/* Three texunit */ - -/* Three texunit - all proj */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_spec_tp0_tp1_tp2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_tp0_tp1_tp2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_spec_tp0_tp1_tp2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_tp0_tp1_tp2_point; - -/* Three texunit - all cart */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_argb_spec_tc0_tc1_tc2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_argb_tc0_tc1_tc2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_spec_tc0_tc1_tc2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_tc0_tc1_tc2_point; - -/* Three texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_argb_spec_tp0_tc1_tc2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_argb_tp0_tc1_tc2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_spec_tp0_tc1_tc2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_tp0_tc1_tc2_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_argb_spec_tp0_tp1_tc2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_argb_tp0_tp1_tc2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_spec_tp0_tp1_tc2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_tp0_tp1_tc2_point; - -/* Unit 0 proj : Unit 1 cart: Unit 2 proj */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_spec_tp0_tc1_tp2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_tp0_tc1_tp2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_spec_tp0_tc1_tp2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_tp0_tc1_tp2_point; - -/* Unit 0 cart : Unit 1 proj: Unit 2 cart */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_argb_spec_tc0_tp1_tc2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_argb_tc0_tp1_tc2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_spec_tc0_tp1_tc2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_tc0_tp1_tc2_point; - -/* Unit 0 cart : Unit 1 cart: Unit 2 proj */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_spec_tc0_tc1_tp2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_tc0_tc1_tp2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_spec_tc0_tc1_tp2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_tc0_tc1_tp2_point; - -/* Unit 0 cart : Unit 1 proj: Unit 2 proj */ - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_spec_tc0_tp1_tp2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_tc0_tp1_tp2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_spec_tc0_tp1_tp2_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_tc0_tp1_tp2_point; - - -/* Two texunit */ - -/* Two texunit - all proj */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_argb_spec_tp0_tp1_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_argb_tp0_tp1_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_spec_tp0_tp1_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_tp0_tp1_point; - -/* Two texunit - all cart */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyz_argb_spec_tc0_tc1_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyz_argb_tc0_tc1_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyz_spec_tc0_tc1_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyz_tc0_tc1_point; - -/* Two texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyz_argb_spec_tp0_tc1_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyz_argb_tp0_tc1_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyz_spec_tp0_tc1_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyz_tp0_tc1_point; - -/* Unit 0 cart : Unit 1 proj */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_argb_spec_tc0_tp1_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_argb_tc0_tp1_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_spec_tc0_tp1_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_tc0_tp1_point; - -/* One texunit */ - -/* One texunit - all proj */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xyz_argb_spec_tp0_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; -} i830_xyz_argb_tp0_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xyz_spec_tp0_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; - float tq0; -} i830_xyz_tp0_point; - -/* One texunit - all cart */ -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xyz_argb_spec_tc0_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; -} i830_xyz_argb_tc0_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xyz_spec_tc0_point; - -typedef struct { - float x; - float y; - float z; - - float point_width; - - float tu0; - float tv0; -} i830_xyz_tc0_point; - - -/* Points w/ xy coords */ - -/* Non-Textured Points */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; -} i830_xy_argb_spec_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; -} i830_xy_argb_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; -} i830_xy_spec_point; - -typedef struct { - float x; - float y; - - float point_width; -} i830_xy_point; - -/* Textured Points */ - -/* Four texunit */ - -/* Four texunit - all proj */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3 -} i830_xy_argb_spec_tp0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tp0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tp0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tp0_tp1_tp2_tp3_point; - -/* Four texunit - all cart */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tc0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_spec_tc0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_tc0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_tc0_tc1_tc2_tc3_point; - -/* Four texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 cart */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tp0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_spec_tp0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_tp0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_tp0_tc1_tc2_tc3_point; - - - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tc0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_spec_tc0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_tc0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_tc0_tp1_tc2_tc3_point; - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tc0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_spec_tc0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_tc0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_tc0_tc1_tp2_tc3_point; - -/* Unit 0 cart : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tc0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tc0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tc0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tc0_tc1_tc2_tp3_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tp0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_spec_tp0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq0; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_tp0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_tp0_tp1_tc2_tc3_point; - - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tc0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_spec_tc0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_tc0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_tc0_tp1_tp2_tc3_point; - - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tc0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tc0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tc0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tc0_tc1_tp2_tp3_point; - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tc0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tc0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tc0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tc0_tp1_tc2_tp3_point; - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tp0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tp0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tp0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tp0_tc1_tc2_tp3_point; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tp0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_spec_tp0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_tp0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_tp0_tc1_tp2_tc3_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tp0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_spec_tp0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_tp0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_tp0_tp1_tp2_tc3_point; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tp0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tp0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tp0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tp0_tc1_tp2_tp3_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tp0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tp0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tp0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tp0_tp1_tc2_tp3_point; - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tc0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tc0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tc0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tc0_tp1_tp2_tp3_point; - - -/* Three texunit */ - -/* Three texunit - all proj */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_spec_tp0_tp1_tp2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_tp0_tp1_tp2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_spec_tp0_tp1_tp2_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_tp0_tp1_tp2_point; - -/* Three texunit - all cart */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_argb_spec_tc0_tc1_tc2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_argb_tc0_tc1_tc2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_spec_tc0_tc1_tc2_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_tc0_tc1_tc2_point; - -/* Three texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_argb_spec_tp0_tc1_tc2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_argb_tp0_tc1_tc2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_spec_tp0_tc1_tc2_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_tp0_tc1_tc2_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_argb_spec_tp0_tp1_tc2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_argb_tp0_tp1_tc2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_spec_tp0_tp1_tc2_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_tp0_tp1_tc2_point; - -/* Unit 0 proj : Unit 1 cart: Unit 2 proj */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_spec_tp0_tc1_tp2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_tp0_tc1_tp2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_spec_tp0_tc1_tp2_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_tp0_tc1_tp2_point; - -/* Unit 0 cart : Unit 1 proj: Unit 2 cart */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_argb_spec_tc0_tp1_tc2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_argb_tc0_tp1_tc2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_spec_tc0_tp1_tc2_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_tc0_tp1_tc2_point; - -/* Unit 0 cart : Unit 1 cart: Unit 2 proj */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_spec_tc0_tc1_tp2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_tc0_tc1_tp2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_spec_tc0_tc1_tp2_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_tc0_tc1_tp2_point; - -/* Unit 0 cart : Unit 1 proj: Unit 2 proj */ - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_spec_tc0_tp1_tp2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_tc0_tp1_tp2_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_spec_tc0_tp1_tp2_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_tc0_tp1_tp2_point; - - -/* Two texunit */ - -/* Two texunit - all proj */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xy_argb_spec_tp0_tp1_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xy_argb_tp0_tp1_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xy_spec_tp0_tp1_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xy_tp0_tp1_point; - -/* Two texunit - all cart */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xy_argb_spec_tc0_tc1_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xy_argb_tc0_tc1_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xy_spec_tc0_tc1_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xy_tc0_tc1_point; - -/* Two texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xy_argb_spec_tp0_tc1_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xy_argb_tp0_tc1_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xy_spec_tp0_tc1_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xy_tp0_tc1_point; - -/* Unit 0 cart : Unit 1 proj */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xy_argb_spec_tc0_tp1_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xy_argb_tc0_tp1_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xy_spec_tc0_tp1_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xy_tc0_tp1_point; - -/* One texunit */ - -/* One texunit - all proj */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xy_argb_spec_tp0_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; -} i830_xy_argb_tp0_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xy_spec_tp0_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; - float tq0; -} i830_xy_tp0_point; - -/* One texunit - all cart */ -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xy_argb_spec_tc0_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int argb; - - float tu0; - float tv0; -} i830_xy_argb_tc0_point; - -typedef struct { - float x; - float y; - - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xy_spec_tc0_point; - -typedef struct { - float x; - float y; - - float point_width; - - float tu0; - float tv0; -} i830_xy_tc0_point; - -/* Points w/ xyw coords */ - -/* Non-Textured Points */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; -} i830_xyw_argb_spec_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; -} i830_xyw_argb_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; -} i830_xyw_spec_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; -} i830_xyw_point; - -/* Textured Points */ - -/* Four texunit */ - -/* Four texunit - all proj */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3 -} i830_xyw_argb_spec_tp0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tp0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tp0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tp0_tp1_tp2_tp3_point; - -/* Four texunit - all cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tc0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_spec_tc0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_tc0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_tc0_tc1_tc2_tc3_point; - -/* Four texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tp0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_spec_tp0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_tp0_tc1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_tp0_tc1_tc2_tc3_point; - - - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tc0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_spec_tc0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_tc0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_tc0_tp1_tc2_tc3_point; - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tc0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_spec_tc0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_tc0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_tc0_tc1_tp2_tc3_point; - -/* Unit 0 cart : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tc0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tc0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tc0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tc0_tc1_tc2_tp3_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tp0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_spec_tp0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq0; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_tp0_tp1_tc2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_tp0_tp1_tc2_tc3_point; - - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tc0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_spec_tc0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_tc0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_tc0_tp1_tp2_tc3_point; - - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tc0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tc0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tc0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tc0_tc1_tp2_tp3_point; - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tc0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tc0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tc0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tc0_tp1_tc2_tp3_point; - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tp0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tp0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tp0_tc1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tp0_tc1_tc2_tp3_point; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tp0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_spec_tp0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_tp0_tc1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_tp0_tc1_tp2_tc3_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tp0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_spec_tp0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_tp0_tp1_tp2_tc3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_tp0_tp1_tp2_tc3_point; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tp0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tp0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tp0_tc1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tp0_tc1_tp2_tp3_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tp0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tp0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tp0_tp1_tc2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tp0_tp1_tc2_tp3_point; - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tc0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tc0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tc0_tp1_tp2_tp3_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tc0_tp1_tp2_tp3_point; - - -/* Three texunit */ - -/* Three texunit - all proj */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_spec_tp0_tp1_tp2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_tp0_tp1_tp2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_spec_tp0_tp1_tp2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_tp0_tp1_tp2_point; - -/* Three texunit - all cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_argb_spec_tc0_tc1_tc2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_argb_tc0_tc1_tc2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_spec_tc0_tc1_tc2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_tc0_tc1_tc2_point; - -/* Three texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_argb_spec_tp0_tc1_tc2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_argb_tp0_tc1_tc2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_spec_tp0_tc1_tc2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_tp0_tc1_tc2_point; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_argb_spec_tp0_tp1_tc2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_argb_tp0_tp1_tc2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_spec_tp0_tp1_tc2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_tp0_tp1_tc2_point; - -/* Unit 0 proj : Unit 1 cart: Unit 2 proj */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_spec_tp0_tc1_tp2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_tp0_tc1_tp2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_spec_tp0_tc1_tp2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_tp0_tc1_tp2_point; - -/* Unit 0 cart : Unit 1 proj: Unit 2 cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_argb_spec_tc0_tp1_tc2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_argb_tc0_tp1_tc2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_spec_tc0_tp1_tc2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_tc0_tp1_tc2_point; - -/* Unit 0 cart : Unit 1 cart: Unit 2 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_spec_tc0_tc1_tp2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_tc0_tc1_tp2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_spec_tc0_tc1_tp2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_tc0_tc1_tp2_point; - -/* Unit 0 cart : Unit 1 proj: Unit 2 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_spec_tc0_tp1_tp2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_tc0_tp1_tp2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_spec_tc0_tp1_tp2_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_tc0_tp1_tp2_point; - - -/* Two texunit */ - -/* Two texunit - all proj */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_argb_spec_tp0_tp1_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_argb_tp0_tp1_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_spec_tp0_tp1_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_tp0_tp1_point; - -/* Two texunit - all cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyw_argb_spec_tc0_tc1_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyw_argb_tc0_tc1_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyw_spec_tc0_tc1_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyw_tc0_tc1_point; - -/* Two texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyw_argb_spec_tp0_tc1_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyw_argb_tp0_tc1_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyw_spec_tp0_tc1_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyw_tp0_tc1_point; - -/* Unit 0 cart : Unit 1 proj */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_argb_spec_tc0_tp1_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_argb_tc0_tp1_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_spec_tc0_tp1_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_tc0_tp1_point; - -/* One texunit */ - -/* One texunit - all proj */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xyw_argb_spec_tp0_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; - float tq0; -} i830_xyw_argb_tp0_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xyw_spec_tp0_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; - float tq0; -} i830_xyw_tp0_point; - -/* One texunit - all cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xyw_argb_spec_tc0_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int argb; - - float tu0; - float tv0; -} i830_xyw_argb_tc0_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xyw_spec_tc0_point; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - float point_width; - - float tu0; - float tv0; -} i830_xyw_tc0_point; diff --git a/xc/lib/GL/mesa/src/drv/i830/i830_vert_form_tris.h b/xc/lib/GL/mesa/src/drv/i830/i830_vert_form_tris.h deleted file mode 100644 index 915add2e2..000000000 --- a/xc/lib/GL/mesa/src/drv/i830/i830_vert_form_tris.h +++ /dev/null @@ -1,10894 +0,0 @@ -/************************************************************************** - -Copyright 2001 VA Linux Systems Inc., Fremont, California. - -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -on the rights to use, copy, modify, merge, publish, distribute, sub -license, and/or sell copies of the Software, and to permit persons to whom -the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next -paragraph) shall be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL -ATI, VA LINUX SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. - -**************************************************************************/ - -/* $XFree86: xc/lib/GL/mesa/src/drv/i830/i830_vert_form_tris.h,v 1.1 2001/10/04 18:28:21 alanh Exp $ */ - -/* - * Author: - * Jeff Hartmann <jhartmann@2d3d.com> - * - * Heavily based on the I810 driver, which was written by: - * Keith Whitwell <keithw@valinux.com> - */ - -/* Here is a list of vertex structures that the hardware supports - * for triangles. - */ - -/* Triangles with xyzw coords */ - -/* Non-Textured Triangles */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; -} i830_xyzw_argb_spec_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; -} i830_xyzw_argb_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; -} i830_xyzw_spec_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - -} i830_xyzw_tri; - -/* Textured Triangles */ - -/* Four texunit */ - -/* Four texunit - all proj */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3 -} i830_xyzw_argb_spec_tp0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tp0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tp0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tp0_tp1_tp2_tp3_tri; - -/* Four texunit - all cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tc0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_spec_tc0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_tc0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_tc0_tc1_tc2_tc3_tri; - -/* Four texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tp0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_spec_tp0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_tp0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_tp0_tc1_tc2_tc3_tri; - - - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tc0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_spec_tc0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_tc0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_tc0_tp1_tc2_tc3_tri; - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tc0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_spec_tc0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_tc0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_tc0_tc1_tp2_tc3_tri; - -/* Unit 0 cart : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tc0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tc0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tc0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tc0_tc1_tc2_tp3_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tp0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_spec_tp0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq0; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_argb_tp0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyzw_tp0_tp1_tc2_tc3_tri; - - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tc0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_spec_tc0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_tc0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_tc0_tp1_tp2_tc3_tri; - - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tc0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tc0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tc0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tc0_tc1_tp2_tp3_tri; - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tc0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tc0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tc0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tc0_tp1_tc2_tp3_tri; - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tp0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tp0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tp0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tp0_tc1_tc2_tp3_tri; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tp0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_spec_tp0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_tp0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_tp0_tc1_tp2_tc3_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_spec_tp0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_spec_tp0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_argb_tp0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyzw_tp0_tp1_tp2_tc3_tri; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tp0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tp0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tp0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tp0_tc1_tp2_tp3_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tp0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tp0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tp0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tp0_tp1_tc2_tp3_tri; - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_spec_tc0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_spec_tc0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_argb_tc0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyzw_tc0_tp1_tp2_tp3_tri; - - -/* Three texunit */ - -/* Three texunit - all proj */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_spec_tp0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_tp0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_spec_tp0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_tp0_tp1_tp2_tri; - -/* Three texunit - all cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_argb_spec_tc0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_argb_tc0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_spec_tc0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_tc0_tc1_tc2_tri; - -/* Three texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_argb_spec_tp0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_argb_tp0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_spec_tp0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyzw_tp0_tc1_tc2_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_argb_spec_tp0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_argb_tp0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_spec_tp0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_tp0_tp1_tc2_tri; - -/* Unit 0 proj : Unit 1 cart: Unit 2 proj */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_spec_tp0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_tp0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_spec_tp0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_tp0_tc1_tp2_tri; - -/* Unit 0 cart : Unit 1 proj: Unit 2 cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_argb_spec_tc0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_argb_tc0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_spec_tc0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyzw_tc0_tp1_tc2_tri; - -/* Unit 0 cart : Unit 1 cart: Unit 2 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_spec_tc0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_tc0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_spec_tc0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_tc0_tc1_tp2_tri; - -/* Unit 0 cart : Unit 1 proj: Unit 2 proj */ - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_spec_tc0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_argb_tc0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_spec_tc0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyzw_tc0_tp1_tp2_tri; - - -/* Two texunit */ - -/* Two texunit - all proj */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_argb_spec_tp0_tp1_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_argb_tp0_tp1_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_spec_tp0_tp1_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_tp0_tp1_tri; - -/* Two texunit - all cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyzw_argb_spec_tc0_tc1_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyzw_argb_tc0_tc1_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyzw_spec_tc0_tc1_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyzw_tc0_tc1_tri; - -/* Two texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyzw_argb_spec_tp0_tc1_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyzw_argb_tp0_tc1_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyzw_spec_tp0_tc1_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyzw_tp0_tc1_tri; - -/* Unit 0 cart : Unit 1 proj */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_argb_spec_tc0_tp1_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_argb_tc0_tp1_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_spec_tc0_tp1_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyzw_tc0_tp1_tri; - -/* One texunit */ - -/* One texunit - all proj */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xyzw_argb_spec_tp0_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; -} i830_xyzw_argb_tp0_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xyzw_spec_tp0_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; -} i830_xyzw_tp0_tri; - -/* One texunit - all cart */ -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xyzw_argb_spec_tc0_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; -} i830_xyzw_argb_tc0_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xyzw_spec_tc0_tri; - -typedef struct { - float x; - float y; - float z; - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; -} i830_xyzw_tc0_tri; - - -/* Triangles w/ xyz coords */ - -/* Non-Textured Triangles */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; -} i830_xyz_argb_spec_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; -} i830_xyz_argb_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; -} i830_xyz_spec_tri; - -typedef struct { - float x; - float y; - float z; - - -} i830_xyz_tri; - -/* Textured Triangles */ - -/* Four texunit */ - -/* Four texunit - all proj */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3 -} i830_xyz_argb_spec_tp0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tp0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tp0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tp0_tp1_tp2_tp3_tri; - -/* Four texunit - all cart */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tc0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_spec_tc0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_tc0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_tc0_tc1_tc2_tc3_tri; - -/* Four texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 cart */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tp0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_spec_tp0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_tp0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_tp0_tc1_tc2_tc3_tri; - - - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tc0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_spec_tc0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_tc0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_tc0_tp1_tc2_tc3_tri; - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tc0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_spec_tc0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_tc0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_tc0_tc1_tp2_tc3_tri; - -/* Unit 0 cart : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tc0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tc0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tc0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tc0_tc1_tc2_tp3_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tp0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_spec_tp0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq0; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_argb_tp0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyz_tp0_tp1_tc2_tc3_tri; - - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tc0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_spec_tc0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_tc0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_tc0_tp1_tp2_tc3_tri; - - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tc0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tc0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tc0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tc0_tc1_tp2_tp3_tri; - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tc0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tc0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tc0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tc0_tp1_tc2_tp3_tri; - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tp0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tp0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tp0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tp0_tc1_tc2_tp3_tri; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tp0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_spec_tp0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_tp0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_tp0_tc1_tp2_tc3_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_spec_tp0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_spec_tp0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_argb_tp0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyz_tp0_tp1_tp2_tc3_tri; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tp0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tp0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tp0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tp0_tc1_tp2_tp3_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tp0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tp0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tp0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tp0_tp1_tc2_tp3_tri; - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_spec_tc0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_spec_tc0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_argb_tc0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyz_tc0_tp1_tp2_tp3_tri; - - -/* Three texunit */ - -/* Three texunit - all proj */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_spec_tp0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_tp0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_spec_tp0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_tp0_tp1_tp2_tri; - -/* Three texunit - all cart */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_argb_spec_tc0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_argb_tc0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_spec_tc0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_tc0_tc1_tc2_tri; - -/* Three texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_argb_spec_tp0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_argb_tp0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_spec_tp0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyz_tp0_tc1_tc2_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_argb_spec_tp0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_argb_tp0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_spec_tp0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_tp0_tp1_tc2_tri; - -/* Unit 0 proj : Unit 1 cart: Unit 2 proj */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_spec_tp0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_tp0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_spec_tp0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_tp0_tc1_tp2_tri; - -/* Unit 0 cart : Unit 1 proj: Unit 2 cart */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_argb_spec_tc0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_argb_tc0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_spec_tc0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyz_tc0_tp1_tc2_tri; - -/* Unit 0 cart : Unit 1 cart: Unit 2 proj */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_spec_tc0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_tc0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_spec_tc0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_tc0_tc1_tp2_tri; - -/* Unit 0 cart : Unit 1 proj: Unit 2 proj */ - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_spec_tc0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_argb_tc0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_spec_tc0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyz_tc0_tp1_tp2_tri; - - -/* Two texunit */ - -/* Two texunit - all proj */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_argb_spec_tp0_tp1_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_argb_tp0_tp1_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_spec_tp0_tp1_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_tp0_tp1_tri; - -/* Two texunit - all cart */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyz_argb_spec_tc0_tc1_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyz_argb_tc0_tc1_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyz_spec_tc0_tc1_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyz_tc0_tc1_tri; - -/* Two texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyz_argb_spec_tp0_tc1_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyz_argb_tp0_tc1_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyz_spec_tp0_tc1_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyz_tp0_tc1_tri; - -/* Unit 0 cart : Unit 1 proj */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_argb_spec_tc0_tp1_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_argb_tc0_tp1_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_spec_tc0_tp1_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyz_tc0_tp1_tri; - -/* One texunit */ - -/* One texunit - all proj */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xyz_argb_spec_tp0_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; -} i830_xyz_argb_tp0_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xyz_spec_tp0_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; - float tq0; -} i830_xyz_tp0_tri; - -/* One texunit - all cart */ -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xyz_argb_spec_tc0_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int argb; - - float tu0; - float tv0; -} i830_xyz_argb_tc0_tri; - -typedef struct { - float x; - float y; - float z; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xyz_spec_tc0_tri; - -typedef struct { - float x; - float y; - float z; - - - - float tu0; - float tv0; -} i830_xyz_tc0_tri; - - -/* Triangles w/ xy coords */ - -/* Non-Textured Triangles */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; -} i830_xy_argb_spec_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; -} i830_xy_argb_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; -} i830_xy_spec_tri; - -typedef struct { - float x; - float y; - - -} i830_xy_tri; - -/* Textured Triangles */ - -/* Four texunit */ - -/* Four texunit - all proj */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3 -} i830_xy_argb_spec_tp0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tp0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tp0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tp0_tp1_tp2_tp3_tri; - -/* Four texunit - all cart */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tc0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_spec_tc0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_tc0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_tc0_tc1_tc2_tc3_tri; - -/* Four texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 cart */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tp0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_spec_tp0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_tp0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_tp0_tc1_tc2_tc3_tri; - - - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tc0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_spec_tc0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_tc0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_tc0_tp1_tc2_tc3_tri; - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tc0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_spec_tc0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_tc0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_tc0_tc1_tp2_tc3_tri; - -/* Unit 0 cart : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tc0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tc0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tc0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tc0_tc1_tc2_tp3_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tp0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_spec_tp0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq0; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_argb_tp0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xy_tp0_tp1_tc2_tc3_tri; - - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tc0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_spec_tc0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_tc0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_tc0_tp1_tp2_tc3_tri; - - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tc0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tc0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tc0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tc0_tc1_tp2_tp3_tri; - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tc0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tc0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tc0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tc0_tp1_tc2_tp3_tri; - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tp0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tp0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tp0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tp0_tc1_tc2_tp3_tri; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tp0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_spec_tp0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_tp0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_tp0_tc1_tp2_tc3_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_spec_tp0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_spec_tp0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_argb_tp0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xy_tp0_tp1_tp2_tc3_tri; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tp0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tp0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tp0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tp0_tc1_tp2_tp3_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tp0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tp0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tp0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tp0_tp1_tc2_tp3_tri; - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_spec_tc0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_spec_tc0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_argb_tc0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xy_tc0_tp1_tp2_tp3_tri; - - -/* Three texunit */ - -/* Three texunit - all proj */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_spec_tp0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_tp0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_spec_tp0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_tp0_tp1_tp2_tri; - -/* Three texunit - all cart */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_argb_spec_tc0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_argb_tc0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_spec_tc0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_tc0_tc1_tc2_tri; - -/* Three texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_argb_spec_tp0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_argb_tp0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_spec_tp0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xy_tp0_tc1_tc2_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_argb_spec_tp0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_argb_tp0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_spec_tp0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_tp0_tp1_tc2_tri; - -/* Unit 0 proj : Unit 1 cart: Unit 2 proj */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_spec_tp0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_tp0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_spec_tp0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_tp0_tc1_tp2_tri; - -/* Unit 0 cart : Unit 1 proj: Unit 2 cart */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_argb_spec_tc0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_argb_tc0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_spec_tc0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xy_tc0_tp1_tc2_tri; - -/* Unit 0 cart : Unit 1 cart: Unit 2 proj */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_spec_tc0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_tc0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_spec_tc0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xy_tc0_tc1_tp2_tri; - -/* Unit 0 cart : Unit 1 proj: Unit 2 proj */ - -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_spec_tc0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_argb_tc0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_spec_tc0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xy_tc0_tp1_tp2_tri; - - -/* Two texunit */ - -/* Two texunit - all proj */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xy_argb_spec_tp0_tp1_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xy_argb_tp0_tp1_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xy_spec_tp0_tp1_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xy_tp0_tp1_tri; - -/* Two texunit - all cart */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xy_argb_spec_tc0_tc1_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xy_argb_tc0_tc1_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xy_spec_tc0_tc1_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xy_tc0_tc1_tri; - -/* Two texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xy_argb_spec_tp0_tc1_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xy_argb_tp0_tc1_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xy_spec_tp0_tc1_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xy_tp0_tc1_tri; - -/* Unit 0 cart : Unit 1 proj */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xy_argb_spec_tc0_tp1_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xy_argb_tc0_tp1_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xy_spec_tc0_tp1_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xy_tc0_tp1_tri; - -/* One texunit */ - -/* One texunit - all proj */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xy_argb_spec_tp0_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; - float tq0; -} i830_xy_argb_tp0_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xy_spec_tp0_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; - float tq0; -} i830_xy_tp0_tri; - -/* One texunit - all cart */ -typedef struct { - float x; - float y; - - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xy_argb_spec_tc0_tri; - -typedef struct { - float x; - float y; - - - unsigned int argb; - - float tu0; - float tv0; -} i830_xy_argb_tc0_tri; - -typedef struct { - float x; - float y; - - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xy_spec_tc0_tri; - -typedef struct { - float x; - float y; - - - - float tu0; - float tv0; -} i830_xy_tc0_tri; - -/* Triangles w/ xyw coords */ - -/* Non-Textured Triangles */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; -} i830_xyw_argb_spec_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; -} i830_xyw_argb_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; -} i830_xyw_spec_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - -} i830_xyw_tri; - -/* Textured Triangles */ - -/* Four texunit */ - -/* Four texunit - all proj */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3 -} i830_xyw_argb_spec_tp0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tp0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tp0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tp0_tp1_tp2_tp3_tri; - -/* Four texunit - all cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tc0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_spec_tc0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_tc0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_tc0_tc1_tc2_tc3_tri; - -/* Four texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tp0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_spec_tp0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_tp0_tc1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_tp0_tc1_tc2_tc3_tri; - - - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tc0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_spec_tc0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_tc0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_tc0_tp1_tc2_tc3_tri; - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tc0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_spec_tc0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_tc0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_tc0_tc1_tp2_tc3_tri; - -/* Unit 0 cart : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tc0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tc0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tc0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tc0_tc1_tc2_tp3_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 cart */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tp0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_spec_tp0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq0; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_argb_tp0_tp1_tc2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; -} i830_xyw_tp0_tp1_tc2_tc3_tri; - - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tc0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_spec_tc0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_tc0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_tc0_tp1_tp2_tc3_tri; - - -/* Unit 0 cart : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tc0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tc0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tc0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tc0_tc1_tp2_tp3_tri; - -/* Unit 0 cart : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tc0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tc0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tc0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tc0_tp1_tc2_tp3_tri; - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tp0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tp0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tp0_tc1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tp0_tc1_tc2_tp3_tri; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tp0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_spec_tp0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_tp0_tc1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_tp0_tc1_tp2_tc3_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 proj : Unit 3 cart */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_spec_tp0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_spec_tp0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_argb_tp0_tp1_tp2_tc3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; -} i830_xyw_tp0_tp1_tp2_tc3_tri; - -/* Unit 0 proj : Unit 1 cart : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tp0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tp0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tp0_tc1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tp0_tc1_tp2_tp3_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tp0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tp0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tp0_tp1_tc2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tp0_tp1_tc2_tp3_tri; - -/* Unit 0 cart : Unit 1 proj : Unit 2 proj : Unit 3 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_spec_tc0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_spec_tc0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_argb_tc0_tp1_tp2_tp3_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; - - float tu3; - float tv3; - float tq3; -} i830_xyw_tc0_tp1_tp2_tp3_tri; - - -/* Three texunit */ - -/* Three texunit - all proj */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_spec_tp0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_tp0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_spec_tp0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_tp0_tp1_tp2_tri; - -/* Three texunit - all cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_argb_spec_tc0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_argb_tc0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_spec_tc0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_tc0_tc1_tc2_tri; - -/* Three texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart : Unit 2 cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_argb_spec_tp0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_argb_tp0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_spec_tp0_tc1_tc2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; -} i830_xyw_tp0_tc1_tc2_tri; - -/* Unit 0 proj : Unit 1 proj : Unit 2 cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_argb_spec_tp0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_argb_tp0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_spec_tp0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_tp0_tp1_tc2_tri; - -/* Unit 0 proj : Unit 1 cart: Unit 2 proj */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_spec_tp0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_tp0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_spec_tp0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_tp0_tc1_tp2_tri; - -/* Unit 0 cart : Unit 1 proj: Unit 2 cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_argb_spec_tc0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_argb_tc0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_spec_tc0_tp1_tc2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; -} i830_xyw_tc0_tp1_tc2_tri; - -/* Unit 0 cart : Unit 1 cart: Unit 2 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_spec_tc0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_tc0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_spec_tc0_tc1_tp2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_tc0_tc1_tp2_tri; - -/* Unit 0 cart : Unit 1 proj: Unit 2 proj */ - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_spec_tc0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_argb_tc0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_spec_tc0_tp1_tp2_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; - - float tu2; - float tv2; - float tq2; -} i830_xyw_tc0_tp1_tp2_tri; - - -/* Two texunit */ - -/* Two texunit - all proj */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_argb_spec_tp0_tp1_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_argb_tp0_tp1_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_spec_tp0_tp1_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_tp0_tp1_tri; - -/* Two texunit - all cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyw_argb_spec_tc0_tc1_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyw_argb_tc0_tc1_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyw_spec_tc0_tc1_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - - float tu0; - float tv0; - - float tu1; - float tv1; -} i830_xyw_tc0_tc1_tri; - -/* Two texunit mixed cart/proj */ - -/* Unit 0 proj : Unit 1 cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyw_argb_spec_tp0_tc1_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyw_argb_tp0_tc1_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyw_spec_tp0_tc1_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - float tu0; - float tv0; - float tq0; - - float tu1; - float tv1; -} i830_xyw_tp0_tc1_tri; - -/* Unit 0 cart : Unit 1 proj */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_argb_spec_tc0_tp1_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_argb_tc0_tp1_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_spec_tc0_tp1_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - float tu0; - float tv0; - - float tu1; - float tv1; - float tq1; -} i830_xyw_tc0_tp1_tri; - -/* One texunit */ - -/* One texunit - all proj */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xyw_argb_spec_tp0_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; - float tq0; -} i830_xyw_argb_tp0_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; - float tq0; -} i830_xyw_spec_tp0_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - float tu0; - float tv0; - float tq0; -} i830_xyw_tp0_tri; - -/* One texunit - all cart */ -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xyw_argb_spec_tc0_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int argb; - - float tu0; - float tv0; -} i830_xyw_argb_tc0_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - unsigned int fog_spec_rgb; - - float tu0; - float tv0; -} i830_xyw_spec_tc0_tri; - -typedef struct { - float x; - float y; - - union { - float w; - float rhw; - } w; - - float tu0; - float tv0; -} i830_xyw_tc0_tri; |