Index: src/mesa/drivers/dri/r300/r300_vertexprog.c =================================================================== RCS file: /cvs/mesa/Mesa/src/mesa/drivers/dri/r300/r300_vertexprog.c,v retrieving revision 1.49 diff -u -p -r1.49 r300_vertexprog.c --- src/mesa/drivers/dri/r300/r300_vertexprog.c 22 Mar 2006 21:29:27 -0000 1.49 +++ src/mesa/drivers/dri/r300/r300_vertexprog.c 24 Apr 2006 14:56:30 -0000 @@ -916,6 +917,16 @@ void r300_translate_vertex_shader(struct fprintf(stderr, "Dont know how to handle op %d yet\n", vpi->Opcode); exit(-1); break; + case OPCODE_SWZ: + hw_op=(src[0].File == PROGRAM_TEMPORARY) ? R300_VPI_OUT_OP_MAD_2 : R300_VPI_OUT_OP_MAD; + + o_inst->op=MAKE_VSF_OP(hw_op, t_dst_index(vp, &vpi->DstReg), + t_dst_mask(vpi->DstReg.WriteMask), t_dst_class(vpi->DstReg.File)); + o_inst->src1=t_src(vp, &src[0]); + o_inst->src2=ONE_SRC_0; + o_inst->src3=ZERO_SRC_0; + + goto next; case OPCODE_END: break; default: