r300: print vertex program after adding artificial output insts

This commit is contained in:
Maciej Cencora
2009-06-29 21:52:39 +02:00
parent 4a6899e080
commit 0b411a72f3
+12 -12
View 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;