Mesa (master): gallivm: nr_channels is only valid for formats with plain layout.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Sat Sep 11 12:47:47 UTC 2010


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

Author: José Fonseca <jfonseca at vmware.com>
Date:   Fri Sep 10 20:09:00 2010 +0100

gallivm: nr_channels is only valid for formats with plain layout.

This is erroneously throwing non plain formats out of the faster
AoS sampling path.

Doing 8bit interpolation for single channels such as L8 should be no
worse than with floating point. But this may need more investigation.

---

 src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
index 93cbf15..baf0402 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
@@ -2190,9 +2190,8 @@ lp_build_sample_soa(LLVMBuilderRef builder,
       lp_build_sample_nop(&bld, texel_out);
    }
    else if (util_format_fits_8unorm(bld.format_desc) &&
-            bld.format_desc->nr_channels > 1 &&
             (static_state->target == PIPE_TEXTURE_2D ||
-                  static_state->target == PIPE_TEXTURE_RECT) &&
+             static_state->target == PIPE_TEXTURE_RECT) &&
             static_state->min_img_filter == PIPE_TEX_FILTER_LINEAR &&
             static_state->mag_img_filter == PIPE_TEX_FILTER_LINEAR &&
             static_state->min_mip_filter == PIPE_TEX_MIPFILTER_NONE &&
@@ -2204,7 +2203,6 @@ lp_build_sample_soa(LLVMBuilderRef builder,
    }
    else {
       if (gallivm_debug & GALLIVM_DEBUG_PERF &&
-          bld.format_desc->nr_channels > 1 &&
           (static_state->min_img_filter != PIPE_TEX_FILTER_NEAREST ||
            static_state->mag_img_filter != PIPE_TEX_FILTER_NEAREST ||
            static_state->min_mip_filter == PIPE_TEX_MIPFILTER_LINEAR) &&




More information about the mesa-commit mailing list