diff options
author | Brian Paul <[email protected]> | 2004-04-18 20:11:52 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 2004-04-18 20:11:52 +0000 |
commit | d8b82147c3cb17a06bf41e97141b8427b4580459 (patch) | |
tree | 6d8363f5d5fba37f1c128f21f2003778cbad986e /src/mesa/shader | |
parent | c83d09e3b09b0b7a48eb0e025c220e95453c2033 (diff) |
Audit/fixes for NV/ARB TEX, TXP, TXB, TXD instructions.
Some texture instructions were using wrong LOD.
Fixed interpolate_texcoords() so it doesn't do texcoord projective division
when using a fragment program. The TXP instruction does that.
Diffstat (limited to 'src/mesa/shader')
-rw-r--r-- | src/mesa/shader/nvfragparse.c | 2 | ||||
-rw-r--r-- | src/mesa/shader/nvfragprog.h | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/mesa/shader/nvfragparse.c b/src/mesa/shader/nvfragparse.c index bdc2c7ef94a..264c1705fc4 100644 --- a/src/mesa/shader/nvfragparse.c +++ b/src/mesa/shader/nvfragparse.c @@ -124,7 +124,7 @@ static const struct instruction_pattern Instructions[] = { { "SUB", FP_OPCODE_SUB, INPUT_2V, OUTPUT_V, _R | _H | _X | _C | _S }, { "TEX", FP_OPCODE_TEX, INPUT_1V_T, OUTPUT_V, _C | _S }, { "TXD", FP_OPCODE_TXD, INPUT_3V_T, OUTPUT_V, _C | _S }, - { "TXP", FP_OPCODE_TXP, INPUT_1V_T, OUTPUT_V, _C | _S }, + { "TXP", FP_OPCODE_TXP_NV, INPUT_1V_T, OUTPUT_V, _C | _S }, { "UP2H", FP_OPCODE_UP2H, INPUT_1S, OUTPUT_V, _C | _S }, { "UP2US", FP_OPCODE_UP2US, INPUT_1S, OUTPUT_V, _C | _S }, { "UP4B", FP_OPCODE_UP4B, INPUT_1S, OUTPUT_V, _C | _S }, diff --git a/src/mesa/shader/nvfragprog.h b/src/mesa/shader/nvfragprog.h index 53f4bf9905c..ae26a7b5743 100644 --- a/src/mesa/shader/nvfragprog.h +++ b/src/mesa/shader/nvfragprog.h @@ -108,7 +108,8 @@ enum fp_opcode { FP_OPCODE_TEX, FP_OPCODE_TXB, /* ARB_f_p only */ FP_OPCODE_TXD, /* NV_f_p only */ - FP_OPCODE_TXP, + FP_OPCODE_TXP, /* ARB_f_p only */ + FP_OPCODE_TXP_NV, /* NV_f_p only */ FP_OPCODE_UP2H, /* NV_f_p only */ FP_OPCODE_UP2US, /* NV_f_p only */ FP_OPCODE_UP4B, /* NV_f_p only */ |