r300: handle texcoords properly

add 1D texture case and setup default Q value to 1.0
This commit is contained in:
Maciej Cencora 2009-04-23 15:41:08 +02:00 committed by Dave Airlie
parent 199710914a
commit 25dd867c58

View file

@ -211,15 +211,19 @@ static void r300SetVertexFormat( GLcontext *ctx )
if (RENDERINPUTS_TEST(tnl->render_inputs_bitset, _TNL_ATTRIB_TEX(i) )) {
switch (VB->TexCoordPtr[i]->size) {
case 1:
format = EMIT_1F;
swiz = MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_ZERO, SWIZZLE_ZERO, SWIZZLE_ONE);
mask = MASK_X;
break;
case 2:
format = EMIT_2F;
swiz = MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_Y, SWIZZLE_ZERO, SWIZZLE_ZERO);
swiz = MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_Y, SWIZZLE_ZERO, SWIZZLE_ONE);
mask = MASK_X | MASK_Y;
size = 2;
break;
case 3:
format = EMIT_3F;
swiz = MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_Y, SWIZZLE_Z, SWIZZLE_ZERO);
swiz = MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_Y, SWIZZLE_Z, SWIZZLE_ONE);
mask = MASK_X | MASK_Y | MASK_Z;
size = 3;
break;