On 06/19/2012 08:01 PM, Olivier Galibert wrote:
This patch churns a lot because it needs to change 4-wide filters into
single pixel filters, since each fragment may use a different filter.

The only case not entirely supported is the anisotropic filtering.
Not sure what we want to do there, since a full quad is required by
that filter.

Signed-off-by: Olivier Galibert<galib...@pobox.com>
A lot of code I just glossed over it, but seems to look ok other than the (performance) implications this might have.

---
  src/gallium/drivers/softpipe/sp_tex_sample.c | 1383 ++++++++++++--------------
  src/gallium/drivers/softpipe/sp_tex_sample.h |   28 +-
  2 files changed, 645 insertions(+), 766 deletions(-)
@@ -837,64 +773,61 @@ print_sample(const char *function, float 
rgba[TGSI_NUM_CHANNELS][TGSI_QUAD_SIZE]
                  rgba[0][3], rgba[1][3], rgba[2][3], rgba[3][3]);
  }

-
  /* Some image-filter fastpaths:
   */
  static INLINE void
  img_filter_2d_linear_repeat_POT(struct tgsi_sampler *tgsi_sampler,
-                                const float s[TGSI_QUAD_SIZE],
-                                const float t[TGSI_QUAD_SIZE],
-                                const float p[TGSI_QUAD_SIZE],
-                                const float c0[TGSI_QUAD_SIZE],
+                                float s,
+                                float t,
+                                float p,
+                               unsigned level,
whitespace

+                                unsigned face_id,
                                  enum tgsi_sampler_control control,
-                                float rgba[TGSI_NUM_CHANNELS][TGSI_QUAD_SIZE])
+                                float *rgba)

Roland

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to