diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2003-12-11 16:25:36 +0000 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2003-12-11 16:25:36 +0000 |
commit | 2dc621f3fdb585f23013aa3e220f2148f9405538 (patch) | |
tree | d4eb6b4a76b427143e88953bbec0284bf15e3ffc /src/mesa/drivers/dri/r128/r128_vb.c | |
parent | 5bcf52b4d6951f9058b5ef00cf2438b3bdfbeea0 (diff) |
Updates to tnl_dd_dmatmp.h
- Allocate vertices explicitly, rather than trying to talk
about dma buffers.
- Clean up the various Flush() operations.
- Don't allow fallbacks any longer. Provide a support function
to detect them ahead o ftime
Updates to tnl_dd_vbtmp.h
- Get rid of power-of-two vertex strides. Pack all vertices tightly.
- Get texunit 2,3 emit working coorrectly.
Other stuff:
- Get rid of lingering Ubyte color support.
- Fix a few compiler warnings.
Diffstat (limited to 'src/mesa/drivers/dri/r128/r128_vb.c')
-rw-r--r-- | src/mesa/drivers/dri/r128/r128_vb.c | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/src/mesa/drivers/dri/r128/r128_vb.c b/src/mesa/drivers/dri/r128/r128_vb.c index 6c52975286..e09bedacea 100644 --- a/src/mesa/drivers/dri/r128/r128_vb.c +++ b/src/mesa/drivers/dri/r128/r128_vb.c @@ -64,7 +64,6 @@ static struct { copy_pv_func copy_pv; GLboolean (*check_tex_sizes)( GLcontext *ctx ); GLuint vertex_size; - GLuint vertex_stride_shift; GLuint vertex_format; } setup_tab[R128_MAX_SETUP]; @@ -108,10 +107,8 @@ static struct { #define GET_TEXSOURCE(n) rmesa->tmu_source[n] #define GET_VERTEX_FORMAT() rmesa->vertex_format #define GET_VERTEX_STORE() rmesa->verts -#define GET_VERTEX_STRIDE_SHIFT() rmesa->vertex_stride_shift +#define GET_VERTEX_SIZE() rmesa->vertex_size * sizeof(GLuint) #define INVALIDATE_STORED_VERTICES() -#define GET_UBYTE_COLOR_STORE() &rmesa->UbyteColor -#define GET_UBYTE_SPEC_COLOR_STORE() &rmesa->UbyteSecondaryColor #define HAVE_HW_VIEWPORT 0 #define HAVE_HW_DIVIDE 0 @@ -131,9 +128,6 @@ static struct { #define PTEX_FALLBACK() FALLBACK(R128_CONTEXT(ctx), R128_FALLBACK_TEXTURE, 1) -#define IMPORT_FLOAT_COLORS r128_import_float_colors -#define IMPORT_FLOAT_SPEC_COLORS r128_import_float_spec_colors - #define INTERP_VERTEX setup_tab[rmesa->SetupIndex].interp #define COPY_PV_VERTEX setup_tab[rmesa->SetupIndex].copy_pv @@ -373,8 +367,8 @@ void r128BuildVertices( GLcontext *ctx, GLuint newinputs ) { r128ContextPtr rmesa = R128_CONTEXT( ctx ); - GLubyte *v = ((GLubyte *)rmesa->verts + (start<<rmesa->vertex_stride_shift)); - GLuint stride = 1<<rmesa->vertex_stride_shift; + GLuint stride = rmesa->vertex_size * sizeof(int); + GLubyte *v = ((GLubyte *)rmesa->verts + (start * stride)); newinputs |= rmesa->SetupNewInputs; rmesa->SetupNewInputs = 0; @@ -446,7 +440,6 @@ void r128ChooseVertexState( GLcontext *ctx ) FLUSH_BATCH(rmesa); rmesa->vertex_format = setup_tab[ind].vertex_format; rmesa->vertex_size = setup_tab[ind].vertex_size; - rmesa->vertex_stride_shift = setup_tab[ind].vertex_stride_shift; } } @@ -511,15 +504,4 @@ void r128FreeVB( GLcontext *ctx ) ALIGN_FREE(rmesa->verts); rmesa->verts = 0; } - - - if (rmesa->UbyteSecondaryColor.Ptr) { - ALIGN_FREE(rmesa->UbyteSecondaryColor.Ptr); - rmesa->UbyteSecondaryColor.Ptr = 0; - } - - if (rmesa->UbyteColor.Ptr) { - ALIGN_FREE(rmesa->UbyteColor.Ptr); - rmesa->UbyteColor.Ptr = 0; - } } |