Mesa (master): Revert "softpipe: Implement cylindrical wrapping for linear interpolator."

Michał Król michal at kemper.freedesktop.org
Tue Feb 9 14:35:33 UTC 2010


Module: Mesa
Branch: master
Commit: 00bd85e57437d91e227fa768527bc22e3814de1e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=00bd85e57437d91e227fa768527bc22e3814de1e

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