Mesa (gallium-cylindrical-wrap): Revert "softpipe: Implement cylindrical wrapping for linear interpolator."
MichaŠKról
michal at kemper.freedesktop.org
Fri Feb 5 16:34:41 UTC 2010
Module: Mesa
Branch: gallium-cylindrical-wrap
Commit: ff6829b205317eb63d5ba304409e107d500d9c5d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff6829b205317eb63d5ba304409e107d500d9c5d
Author: Michal Krol <michal at vmware.com>
Date: Fri Feb 5 15:16:07 2010 +0100
Revert "softpipe: Implement cylindrical wrapping for linear interpolator."
This reverts commit 444cd62ca33a45bd39e8408979a0a01c246c6381.
---
src/gallium/drivers/softpipe/sp_setup.c | 46 +++++++-----------------------
1 files changed, 11 insertions(+), 35 deletions(-)
diff --git a/src/gallium/drivers/softpipe/sp_setup.c b/src/gallium/drivers/softpipe/sp_setup.c
index b7b52b1..bb1bff5 100644
--- a/src/gallium/drivers/softpipe/sp_setup.c
+++ b/src/gallium/drivers/softpipe/sp_setup.c
@@ -419,38 +419,19 @@ static void const_coeff( struct setup_context *setup,
* Compute a0, dadx and dady for a linearly interpolated coefficient,
* for a triangle.
*/
-static void
-tri_linear_coeff(struct setup_context *setup,
- struct tgsi_interp_coef *coef,
- uint vertSlot,
- uint i,
- uint cylindrical_wrap)
+static void tri_linear_coeff( struct setup_context *setup,
+ struct tgsi_interp_coef *coef,
+ uint vertSlot, uint i)
{
float botda = setup->vmid[vertSlot][i] - setup->vmin[vertSlot][i];
float majda = setup->vmax[vertSlot][i] - setup->vmin[vertSlot][i];
- float a, b;
- float dadx, dady;
+ float a = setup->ebot.dy * majda - botda * setup->emaj.dy;
+ float b = setup->emaj.dx * botda - majda * setup->ebot.dx;
+ float dadx = a * setup->oneoverarea;
+ float dady = b * setup->oneoverarea;
assert(i <= 3);
- if (cylindrical_wrap) {
- if (botda > 0.5f) {
- botda -= 1.0f;
- } else if (botda < -0.5f) {
- botda += 1.0f;
- }
- if (majda > 0.5f) {
- majda -= 1.0f;
- } else if (majda < -0.5f) {
- majda += 1.0f;
- }
- }
-
- a = setup->ebot.dy * majda - botda * setup->emaj.dy;
- b = setup->emaj.dx * botda - majda * setup->ebot.dx;
- dadx = a * setup->oneoverarea;
- dady = b * setup->oneoverarea;
-
coef->dadx[i] = dadx;
coef->dady[i] = dady;
@@ -566,8 +547,8 @@ static void setup_tri_coefficients( struct setup_context *setup )
/* z and w are done by linear interpolation:
*/
- tri_linear_coeff(setup, &setup->posCoef, 0, 2, 0);
- tri_linear_coeff(setup, &setup->posCoef, 0, 3, 0);
+ tri_linear_coeff(setup, &setup->posCoef, 0, 2);
+ tri_linear_coeff(setup, &setup->posCoef, 0, 3);
/* setup interpolation for all the remaining attributes:
*/
@@ -581,13 +562,8 @@ static void setup_tri_coefficients( struct setup_context *setup )
const_coeff(setup, &setup->coef[fragSlot], vertSlot, j);
break;
case INTERP_LINEAR:
- for (j = 0; j < NUM_CHANNELS; j++) {
- tri_linear_coeff(setup,
- &setup->coef[fragSlot],
- vertSlot,
- j,
- spfs->info.input_cylindrical_wrap[fragSlot] & (1 << j));
- }
+ for (j = 0; j < NUM_CHANNELS; j++)
+ tri_linear_coeff(setup, &setup->coef[fragSlot], vertSlot, j);
break;
case INTERP_PERSPECTIVE:
for (j = 0; j < NUM_CHANNELS; j++)
More information about the mesa-commit
mailing list