Mesa (gallium-0.2): mesa: update program-> NumAddressRegs field in _slang_update_inputs_outputs()

Keith Whitwell keithw at kemper.freedesktop.org
Wed Sep 24 00:24:57 UTC 2008


Module: Mesa
Branch: gallium-0.2
Commit: 9118b02fd0e4c5c472d7dbf211eec350a1d37ea4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9118b02fd0e4c5c472d7dbf211eec350a1d37ea4

Author: Brian Paul <brian.paul at tungstengraphics.com>
Date:   Wed Sep 17 13:13:02 2008 -0600

mesa: update program->NumAddressRegs field in _slang_update_inputs_outputs()

---

 src/mesa/shader/slang/slang_link.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/mesa/shader/slang/slang_link.c b/src/mesa/shader/slang/slang_link.c
index b780e87..dd7d5be 100644
--- a/src/mesa/shader/slang/slang_link.c
+++ b/src/mesa/shader/slang/slang_link.c
@@ -381,6 +381,7 @@ static void
 _slang_update_inputs_outputs(struct gl_program *prog)
 {
    GLuint i, j;
+   GLuint maxAddrReg = 0;
 
    prog->InputsRead = 0x0;
    prog->OutputsWritten = 0x0;
@@ -406,11 +407,19 @@ _slang_update_inputs_outputs(struct gl_program *prog)
                   fp->UsesPointCoord = GL_TRUE;
             }
          }
+         else if (inst->SrcReg[j].File == PROGRAM_ADDRESS) {
+            maxAddrReg = MAX2(maxAddrReg, inst->SrcReg[j].Index + 1);
+         }
       }
       if (inst->DstReg.File == PROGRAM_OUTPUT) {
          prog->OutputsWritten |= 1 << inst->DstReg.Index;
       }
+      else if (inst->DstReg.File == PROGRAM_ADDRESS) {
+         maxAddrReg = MAX2(maxAddrReg, inst->DstReg.Index + 1);
+      }
    }
+
+   prog->NumAddressRegs = maxAddrReg;
 }
 
 




More information about the mesa-commit mailing list