- ASSERT(!ctx->VertexProgram._Enabled);
-
- if (stage->changed_inputs) {
-
- if (ctx->_NeedEyeCoords) {
- /* Separate modelview transformation:
- * Use combined ModelProject to avoid some depth artifacts
- */
- if (ctx->ModelviewMatrixStack.Top->type == MATRIX_IDENTITY)
- VB->EyePtr = VB->ObjPtr;
- else
- VB->EyePtr = TransformRaw( &store->eye,
- ctx->ModelviewMatrixStack.Top,
- VB->ObjPtr);
-#if 0
- /* examine some eye coordinates */
- {
- GLuint i;
- GLfloat *v = VB->EyePtr->start;
- for (i = 0; i < 4; i++) {
- _mesa_printf("eye[%d] = %g, %g, %g, %g\n",
- i, v[0], v[1], v[2], v[3]);
- v += 4;
- }
- }
-#endif
- }
-
- VB->ClipPtr = TransformRaw( &store->clip,
- &ctx->_ModelProjectMatrix,
- VB->ObjPtr );
-
- /* Drivers expect this to be clean to element 4...
- */
- switch (VB->ClipPtr->size) {
- case 1:
- /* impossible */
- case 2:
- _mesa_vector4f_clean_elem( VB->ClipPtr, VB->Count, 2 );
- /* fall-through */
- case 3:
- _mesa_vector4f_clean_elem( VB->ClipPtr, VB->Count, 3 );
- /* fall-through */
- case 4:
- break;
- }
-
-#if 0
- /* examine some clip coordinates */
- {
- GLuint i;
- GLfloat *v = VB->ClipPtr->start;
- for (i = 0; i < 4; i++) {
- _mesa_printf("clip[%d] = %g, %g, %g, %g\n",
- i, v[0], v[1], v[2], v[3]);
- v += 4;
- }
- }
-#endif
-
- /* Cliptest and perspective divide. Clip functions must clear
- * the clipmask.