r300: print vertex program after adding artificial output insts
authorMaciej Cencora <m.cencora@gmail.com>
Mon, 29 Jun 2009 19:52:39 +0000 (21:52 +0200)
committerMaciej Cencora <m.cencora@gmail.com>
Mon, 13 Jul 2009 17:25:55 +0000 (19:25 +0200)
src/mesa/drivers/dri/r300/r300_vertprog.c

index 5da9bda281b9b9507ab9ca1763d0eb782b3f51e8..a0babeff9275dc8a45a4a4cf928e4f9a5877c2c0 100644 (file)
@@ -1259,6 +1259,12 @@ static struct r300_vertex_program *build_program(GLcontext *ctx,
        _mesa_memcpy(&vp->key, wanted_key, sizeof(vp->key));
        vp->wpos_idx = wpos_idx;
 
+       if (RADEON_DEBUG & DEBUG_VERTS) {
+               fprintf(stderr, "Initial vertex program:\n");
+               _mesa_print_program(&mesa_vp->Base);
+               fflush(stdout);
+       }
+
        if (mesa_vp->IsPositionInvariant) {
                _mesa_insert_mvp_code(ctx, mesa_vp);
        }
@@ -1267,12 +1273,6 @@ static struct r300_vertex_program *build_program(GLcontext *ctx,
                pos_as_texcoord(vp, &mesa_vp->Base);
        }
 
-       if (RADEON_DEBUG & DEBUG_VERTS) {
-               fprintf(stderr, "Vertex program after native rewrite:\n");
-               _mesa_print_program(&mesa_vp->Base);
-               fflush(stdout);
-       }
-
        /* Some outputs may be artificially added, to match the inputs of the fragment program.
         * Issue 16 of vertex program spec says that all vertex attributes that are unwritten by
         * vertex program are undefined, so just use MOV [vertex_result], CONST[0]
@@ -1310,6 +1310,12 @@ static struct r300_vertex_program *build_program(GLcontext *ctx,
                }
        }
 
+       if (RADEON_DEBUG & DEBUG_VERTS) {
+               fprintf(stderr, "Vertex program after native rewrite:\n");
+               _mesa_print_program(&mesa_vp->Base);
+               fflush(stdout);
+       }
+
        assert(mesa_vp->Base.NumInstructions);
        vp->num_temporaries = mesa_vp->Base.NumTemporaries;
        r300TranslateVertexShader(vp, mesa_vp->Base.Instructions);
@@ -1388,12 +1394,6 @@ void r300SelectVertexShader(r300ContextPtr r300)
                        return;
                }
 
-       if (RADEON_DEBUG & DEBUG_VERTS) {
-               fprintf(stderr, "Initial vertex program:\n");
-               _mesa_print_program(&vpc->mesa_program.Base);
-               fflush(stdout);
-       }
-
        vp = build_program(ctx, &wanted_key, &vpc->mesa_program, wpos_idx);
        vp->next = vpc->progs;
        vpc->progs = vp;