From: Brian Paul Date: Wed, 17 Sep 2008 19:13:02 +0000 (-0600) Subject: mesa: update program->NumAddressRegs field in _slang_update_inputs_outputs() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9118b02fd0e4c5c472d7dbf211eec350a1d37ea4;p=mesa.git mesa: update program->NumAddressRegs field in _slang_update_inputs_outputs() --- diff --git a/src/mesa/shader/slang/slang_link.c b/src/mesa/shader/slang/slang_link.c index b780e87fe65..dd7d5be6d8b 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; }