If there are no objections I'm just going to try out my newly aquired super-powers and commit it ;-).
Roland
Index: src/mesa/drivers/dri/r200/r200_tex.c =================================================================== RCS file: /cvs/mesa/Mesa/src/mesa/drivers/dri/r200/r200_tex.c,v retrieving revision 1.12 diff -u -r1.12 r200_tex.c --- src/mesa/drivers/dri/r200/r200_tex.c 26 Jan 2004 23:57:19 -0000 1.12 +++ src/mesa/drivers/dri/r200/r200_tex.c 5 Feb 2004 00:03:37 -0000 @@ -888,10 +888,6 @@ _mesa_lookup_enum_by_nr( pname ) ); } - if ( ( target != GL_TEXTURE_2D ) && - ( target != GL_TEXTURE_1D ) ) - return; - switch ( pname ) { case GL_TEXTURE_MIN_FILTER: case GL_TEXTURE_MAG_FILTER: Index: src/mesa/drivers/dri/r200/r200_texmem.c =================================================================== RCS file: /cvs/mesa/Mesa/src/mesa/drivers/dri/r200/r200_texmem.c,v retrieving revision 1.5 diff -u -r1.5 r200_texmem.c --- src/mesa/drivers/dri/r200/r200_texmem.c 27 Jan 2004 16:34:46 -0000 1.5 +++ src/mesa/drivers/dri/r200/r200_texmem.c 5 Feb 2004 00:03:37 -0000 @@ -231,7 +231,7 @@ tex = (char *)texImage->Data + done * src_pitch; memset(®ion, 0, sizeof(region)); - r200AllocDmaRegion( rmesa, ®ion, lines * dstPitch, 64 ); + r200AllocDmaRegion( rmesa, ®ion, lines * dstPitch, 1024 ); /* Copy texdata to dma: */ @@ -240,10 +240,10 @@ __FUNCTION__, src_pitch, dstPitch); if (src_pitch == dstPitch) { - memcpy( region.address, tex, lines * src_pitch ); + memcpy( region.address + region.start, tex, lines * src_pitch ); } else { - char *buf = region.address; + char *buf = region.address + region.start; int i; for (i = 0 ; i < lines ; i++) { memcpy( buf, tex, src_pitch ); Index: src/mesa/drivers/dri/radeon/radeon_tex.c =================================================================== RCS file: /cvs/mesa/Mesa/src/mesa/drivers/dri/radeon/radeon_tex.c,v retrieving revision 1.10 diff -u -r1.10 radeon_tex.c --- src/mesa/drivers/dri/radeon/radeon_tex.c 26 Jan 2004 23:57:19 -0000 1.10 +++ src/mesa/drivers/dri/radeon/radeon_tex.c 5 Feb 2004 00:03:37 -0000 @@ -623,10 +623,6 @@ _mesa_lookup_enum_by_nr( pname ) ); } - if ( ( target != GL_TEXTURE_2D ) && - ( target != GL_TEXTURE_1D ) ) - return; - switch ( pname ) { case GL_TEXTURE_MIN_FILTER: case GL_TEXTURE_MAG_FILTER: Index: src/mesa/drivers/dri/radeon/radeon_texmem.c =================================================================== RCS file: /cvs/mesa/Mesa/src/mesa/drivers/dri/radeon/radeon_texmem.c,v retrieving revision 1.4 diff -u -r1.4 radeon_texmem.c --- src/mesa/drivers/dri/radeon/radeon_texmem.c 27 Jan 2004 16:34:46 -0000 1.4 +++ src/mesa/drivers/dri/radeon/radeon_texmem.c 5 Feb 2004 00:03:37 -0000 @@ -135,10 +135,10 @@ __FUNCTION__, src_pitch, dstPitch); if (src_pitch == dstPitch) { - memcpy( region.address, tex, lines * src_pitch ); + memcpy( region.address + region.start, tex, lines * src_pitch ); } else { - char *buf = region.address; + char *buf = region.address + region.start; int i; for (i = 0 ; i < lines ; i++) { memcpy( buf, tex, src_pitch ); Index: src/mesa/main/texobj.c =================================================================== RCS file: /cvs/mesa/Mesa/src/mesa/main/texobj.c,v retrieving revision 1.81 diff -u -r1.81 texobj.c --- src/mesa/main/texobj.c 27 Jan 2004 16:34:46 -0000 1.81 +++ src/mesa/main/texobj.c 5 Feb 2004 00:03:38 -0000 @@ -818,7 +818,16 @@ newTexObj->WrapT = GL_CLAMP_TO_EDGE; newTexObj->WrapR = GL_CLAMP_TO_EDGE; newTexObj->MinFilter = GL_LINEAR; - } + if (ctx->Driver.TexParameter) { + GLfloat fparam[1]; + fparam[0] = (GLfloat) GL_CLAMP_TO_EDGE; + (*ctx->Driver.TexParameter)( ctx, target, newTexObj, GL_TEXTURE_WRAP_S, fparam ); + (*ctx->Driver.TexParameter)( ctx, target, newTexObj, GL_TEXTURE_WRAP_T, fparam ); + (*ctx->Driver.TexParameter)( ctx, target, newTexObj, GL_TEXTURE_WRAP_R, fparam ); + fparam[0] = (GLfloat) GL_LINEAR; + (*ctx->Driver.TexParameter)( ctx, target, newTexObj, GL_TEXTURE_MIN_FILTER, fparam ); + } + } } else { /* if this is a new texture id, allocate a texture object now */