r300: Remove a warning when vertex programs produce an unused output
authorNicolai Haehnle <nhaehnle@gmail.com>
Mon, 26 Mar 2007 20:20:46 +0000 (22:20 +0200)
committerNicolai Haehnle <nhaehnle@gmail.com>
Mon, 26 Mar 2007 20:25:06 +0000 (22:25 +0200)
As far as we know, the hardware prefers outputs packed tightly together
with no holes caused by outputs that are not even read by the fragment
program. Therefore, we slightly rewrite vertex programs in this case.

It would be interesting to test this interaction between vertex programs
and fragment programs further, because some of that rewrite may be
unnecessary. However, play it safe for now and don't change the current
behaviour.

src/mesa/drivers/dri/r300/r300_vertprog.c

index b453e315a8f8e502d316911554f7c6cdbee2b214..52fd1de4495af2b8acb0285fb15046ae9e521394 100644 (file)
@@ -331,10 +331,9 @@ static unsigned long op_operands(enum prog_opcode opcode)
 
 static GLboolean valid_dst(struct r300_vertex_program *vp, struct prog_dst_register *dst)
 {
-       if(dst->File == PROGRAM_OUTPUT && vp->outputs[dst->Index] == -1){
-               WARN_ONCE("Output %d not used by fragment program\n", dst->Index);
+       if(dst->File == PROGRAM_OUTPUT && vp->outputs[dst->Index] == -1) {
                return GL_FALSE;
-       }else if(dst->File == PROGRAM_ADDRESS) {
+       } else if(dst->File == PROGRAM_ADDRESS) {
                assert(dst->Index == 0);
        }