diff options
author | Dave Airlie <airlied@redhat.com> | 2008-05-19 21:58:28 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2008-05-19 21:58:28 +1000 |
commit | 03b3fed8f1dcd5df5049b9236cfaa60a17e56e6f (patch) | |
tree | 2bf4c140a57b0fc3e94941bb7c491ec68c2ec1ea /src/mesa/drivers | |
parent | ac315792bfccd547e6f84faabbb76c48af48a404 (diff) |
r500: add more input srcs
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/r300/r500_fragprog.c | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/src/mesa/drivers/dri/r300/r500_fragprog.c b/src/mesa/drivers/dri/r300/r500_fragprog.c index e2a32d05c8..7f8139a533 100644 --- a/src/mesa/drivers/dri/r300/r500_fragprog.c +++ b/src/mesa/drivers/dri/r300/r500_fragprog.c @@ -181,22 +181,32 @@ static GLuint make_src(struct r500_fragment_program *fp, struct prog_src_registe COMPILE_STATE; GLuint reg; switch (src.File) { - case PROGRAM_TEMPORARY: - reg = src.Index + fp->temp_reg_offset; - break; - case PROGRAM_INPUT: - reg = cs->inputs[src.Index].reg; - break; - case PROGRAM_STATE_VAR: - case PROGRAM_NAMED_PARAM: - case PROGRAM_CONSTANT: - reg = emit_const4fv(fp, fp->mesa_program.Base.Parameters-> - ParameterValues[src.Index]); - break; - default: - ERROR("Can't handle src.File %x\n", src.File); - reg = 0x0; - break; + case PROGRAM_TEMPORARY: + reg = src.Index + fp->temp_reg_offset; + break; + case PROGRAM_INPUT: + reg = cs->inputs[src.Index].reg; + break; + case PROGRAM_LOCAL_PARAM: + reg = emit_const4fv(fp, + fp->mesa_program.Base.LocalParams[src. + Index]); + break; + case PROGRAM_ENV_PARAM: + reg = emit_const4fv(fp, + fp->ctx->FragmentProgram.Parameters[src. + Index]); + break; + case PROGRAM_STATE_VAR: + case PROGRAM_NAMED_PARAM: + case PROGRAM_CONSTANT: + reg = emit_const4fv(fp, fp->mesa_program.Base.Parameters-> + ParameterValues[src.Index]); + break; + default: + ERROR("Can't handle src.File %x\n", src.File); + reg = 0x0; + break; } return reg; } |