From d8b82147c3cb17a06bf41e97141b8427b4580459 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sun, 18 Apr 2004 20:11:52 +0000 Subject: 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. --- src/mesa/shader/nvfragparse.c | 2 +- src/mesa/shader/nvfragprog.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src/mesa/shader') diff --git a/src/mesa/shader/nvfragparse.c b/src/mesa/shader/nvfragparse.c index bdc2c7ef94..264c1705fc 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 53f4bf9905..ae26a7b574 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 */ -- cgit v1.2.3