[mesa] Today's git snap

Adam Jackson ajax at fedoraproject.org
Tue May 28 17:37:40 UTC 2013


commit e99071d2e82abc8976e48af90303be0e7299ffc9
Author: Adam Jackson <ajax at redhat.com>
Date:   Tue May 28 13:37:37 2013 -0400

    Today's git snap

 mesa-9.2-llvmpipe-on-big-endian.patch |  124 ++++++++++++++++++++++----------
 mesa.spec                             |   10 ++--
 sanitize-tarball.sh                   |    5 ++
 3 files changed, 95 insertions(+), 44 deletions(-)
---
diff --git a/mesa-9.2-llvmpipe-on-big-endian.patch b/mesa-9.2-llvmpipe-on-big-endian.patch
index 29619ff..13fd4dc 100644
--- a/mesa-9.2-llvmpipe-on-big-endian.patch
+++ b/mesa-9.2-llvmpipe-on-big-endian.patch
@@ -1,5 +1,5 @@
 diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c
-index 602d076..c524b44 100644
+index 14dde67..bc300c0 100644
 --- a/src/gallium/auxiliary/draw/draw_pt.c
 +++ b/src/gallium/auxiliary/draw/draw_pt.c
 @@ -326,6 +326,13 @@ draw_print_arrays(struct draw_context *draw, uint prim, int start, uint count)
@@ -324,10 +324,10 @@ index 3402a0b..ee3ca86 100644
     /* Truncate doubles to float */
     if (src_type.floating && src_type.width == 64) {
 diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c
-index 54ca61a..cf51b34 100644
+index edc2442..4c6bd81 100644
 --- a/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c
 +++ b/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c
-@@ -106,7 +106,6 @@ lp_build_unpack_rgba_soa(struct gallivm_state *gallivm,
+@@ -115,7 +115,6 @@ lp_build_unpack_rgba_soa(struct gallivm_state *gallivm,
     LLVMBuilderRef builder = gallivm->builder;
     struct lp_build_context bld;
     LLVMValueRef inputs[4];
@@ -335,7 +335,7 @@ index 54ca61a..cf51b34 100644
     unsigned chan;
  
     assert(format_desc->layout == UTIL_FORMAT_LAYOUT_PLAIN);
-@@ -119,9 +118,9 @@ lp_build_unpack_rgba_soa(struct gallivm_state *gallivm,
+@@ -128,9 +127,9 @@ lp_build_unpack_rgba_soa(struct gallivm_state *gallivm,
     lp_build_context_init(&bld, gallivm, type);
  
     /* Decode the input vector components */
@@ -346,7 +346,7 @@ index 54ca61a..cf51b34 100644
        const unsigned stop = start + width;
        LLVMValueRef input;
  
-@@ -247,8 +246,6 @@ lp_build_unpack_rgba_soa(struct gallivm_state *gallivm,
+@@ -256,8 +255,6 @@ lp_build_unpack_rgba_soa(struct gallivm_state *gallivm,
        }
  
        inputs[chan] = input;
@@ -355,7 +355,7 @@ index 54ca61a..cf51b34 100644
     }
  
     lp_build_format_swizzle_soa(format_desc, &bld, inputs, rgba_out);
-@@ -282,7 +279,11 @@ lp_build_rgba8_to_fi32_soa(struct gallivm_state *gallivm,
+@@ -291,7 +288,11 @@ lp_build_rgba8_to_fi32_soa(struct gallivm_state *gallivm,
  
     /* Decode the input vector components */
     for (chan = 0; chan < 4; ++chan) {
@@ -367,7 +367,7 @@ index 54ca61a..cf51b34 100644
        unsigned stop = start + 8;
        LLVMValueRef input;
  
-@@ -351,13 +352,14 @@ lp_build_fetch_rgba_soa(struct gallivm_state *gallivm,
+@@ -360,13 +361,14 @@ lp_build_fetch_rgba_soa(struct gallivm_state *gallivm,
  
        /*
         * gather the texels from the texture
@@ -384,7 +384,7 @@ index 54ca61a..cf51b34 100644
  
        /*
         * convert texels to float rgba
-@@ -382,7 +384,8 @@ lp_build_fetch_rgba_soa(struct gallivm_state *gallivm,
+@@ -391,7 +393,8 @@ lp_build_fetch_rgba_soa(struct gallivm_state *gallivm,
  
        packed = lp_build_gather(gallivm, type.length,
                                 format_desc->block.bits,
@@ -394,6 +394,23 @@ index 54ca61a..cf51b34 100644
        if (format_desc->format == PIPE_FORMAT_R11G11B10_FLOAT) {
           lp_build_r11g11b10_to_float(gallivm, packed, rgba_out);
        }
+@@ -418,14 +421,14 @@ lp_build_fetch_rgba_soa(struct gallivm_state *gallivm,
+          LLVMValueRef s_offset = lp_build_const_int_vec(gallivm, type, 4);
+          offset = LLVMBuildAdd(builder, offset, s_offset, "");
+          packed = lp_build_gather(gallivm, type.length,
+-                                  32, type.width, base_ptr, offset);
++                                  32, type.width, base_ptr, offset, FALSE);
+          packed = LLVMBuildAnd(builder, packed,
+                                lp_build_const_int_vec(gallivm, type, mask), "");
+       }
+       else {
+          assert (format_desc->format == PIPE_FORMAT_Z32_FLOAT_S8X24_UINT);
+          packed = lp_build_gather(gallivm, type.length,
+-                                  32, type.width, base_ptr, offset);
++                                  32, type.width, base_ptr, offset, TRUE);
+          packed = LLVMBuildBitCast(builder, packed,
+                                    lp_build_vec_type(gallivm, type), "");
+       }
 diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_yuv.c b/src/gallium/auxiliary/gallivm/lp_bld_format_yuv.c
 index e542abc..873f354 100644
 --- a/src/gallium/auxiliary/gallivm/lp_bld_format_yuv.c
@@ -509,11 +526,24 @@ index 8e4c07d..ee69473 100644
  
  LLVMValueRef
  lp_build_gather_values(struct gallivm_state * gallivm,
+diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
+index 4a428ee..a20fb77 100644
+--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
++++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
+@@ -49,7 +49,7 @@
+  *   - MC-JIT supports limited OSes (MacOSX and Linux)
+  * - standard JIT in LLVM 3.1, with backports
+  */
+-#if defined(PIPE_ARCH_PPC_64)
++#if defined(PIPE_ARCH_PPC_64) || defined(PIPE_ARCH_S390X)
+ #  define USE_MCJIT 1
+ #  define HAVE_AVX 0
+ #elif HAVE_LLVM >= 0x0302 || (HAVE_LLVM == 0x0301 && defined(HAVE_JIT_AVX_SUPPORT))
 diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c
-index 16d5718..0808db7 100644
+index c31b05d..104c24d 100644
 --- a/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c
 +++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c
-@@ -533,7 +533,7 @@ lp_build_sample_fetch_image_nearest(struct lp_build_sample_context *bld,
+@@ -531,7 +531,7 @@ lp_build_sample_fetch_image_nearest(struct lp_build_sample_context *bld,
                                bld->texel_type.length,
                                bld->format_desc->block.bits,
                                bld->texel_type.width,
@@ -522,7 +552,7 @@ index 16d5718..0808db7 100644
  
        rgba8 = LLVMBuildBitCast(builder, rgba8, u8n_vec_type, "");
     }
-@@ -922,7 +922,7 @@ lp_build_sample_fetch_image_linear(struct lp_build_sample_context *bld,
+@@ -893,7 +893,7 @@ lp_build_sample_fetch_image_linear(struct lp_build_sample_context *bld,
                                         bld->texel_type.length,
                                         bld->format_desc->block.bits,
                                         bld->texel_type.width,
@@ -990,35 +1020,20 @@ index 1f6a56a..9c25451 100644
        {
           uc->ui = (b << 24) | (g << 16) | (r << 8) | 0xff;
        }
-diff --git a/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c b/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c
-index c4d04a2..008e38e 100644
---- a/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c
-+++ b/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c
-@@ -245,10 +245,6 @@ lp_build_blend_factor(struct lp_build_blend_aos_context *bld,
-    LLVMValueRef rgb_factor_, alpha_factor_;
-    enum lp_build_blend_swizzle rgb_swizzle;
- 
--   if (alpha_swizzle == 0) {
--      return lp_build_blend_factor_unswizzled(bld, alpha_factor, TRUE);
--   }
--
-    rgb_factor_ = lp_build_blend_factor_unswizzled(bld, rgb_factor, FALSE);
- 
-    if (alpha_swizzle != UTIL_FORMAT_SWIZZLE_NONE) {
 diff --git a/src/gallium/drivers/llvmpipe/lp_bld_depth.c b/src/gallium/drivers/llvmpipe/lp_bld_depth.c
-index 1cd36b8..29ef379 100644
+index df6a6c4..695ecec 100644
 --- a/src/gallium/drivers/llvmpipe/lp_bld_depth.c
 +++ b/src/gallium/drivers/llvmpipe/lp_bld_depth.c
 @@ -349,8 +349,6 @@ get_z_shift_and_mask(const struct util_format_description *format_desc,
  {
-    const unsigned total_bits = format_desc->block.bits;
+    unsigned total_bits;
     unsigned z_swizzle;
 -   unsigned chan;
 -   unsigned padding_left, padding_right;
-    
+ 
     assert(format_desc->colorspace == UTIL_FORMAT_COLORSPACE_ZS);
     assert(format_desc->block.width == 1);
-@@ -362,25 +360,14 @@ get_z_shift_and_mask(const struct util_format_description *format_desc,
+@@ -365,25 +363,14 @@ get_z_shift_and_mask(const struct util_format_description *format_desc,
        return FALSE;
  
     *width = format_desc->channel[z_swizzle].size;
@@ -1048,7 +1063,7 @@ index 1cd36b8..29ef379 100644
     return TRUE;
  }
  
-@@ -395,17 +382,14 @@ get_s_shift_and_mask(const struct util_format_description *format_desc,
+@@ -398,7 +385,7 @@ get_s_shift_and_mask(const struct util_format_description *format_desc,
                       unsigned *shift, unsigned *mask)
  {
     unsigned s_swizzle;
@@ -1057,8 +1072,16 @@ index 1cd36b8..29ef379 100644
  
     s_swizzle = format_desc->swizzle[1];
  
-    if (s_swizzle == UTIL_FORMAT_SWIZZLE_NONE)
-       return FALSE;
+@@ -407,16 +394,14 @@ get_s_shift_and_mask(const struct util_format_description *format_desc,
+ 
+    /* just special case 64bit d/s format */
+    if (format_desc->block.bits > 32) {
++      /* XXX big-endian? */
+       assert(format_desc->format == PIPE_FORMAT_Z32_FLOAT_S8X24_UINT);
+       *shift = 0;
+       *mask = 0xff;
+       return TRUE;
+    }
  
 -   *shift = 0;
 -   for (chan = 0; chan < s_swizzle; chan++)
@@ -1069,10 +1092,10 @@ index 1cd36b8..29ef379 100644
     *mask = (1U << sz) - 1U;
  
 diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c
-index 6921210..0691a40 100644
+index a20cc78..3ef7266 100644
 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c
 +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c
-@@ -987,12 +987,17 @@ convert_to_blend_type(struct gallivm_state *gallivm,
+@@ -1007,12 +1007,17 @@ convert_to_blend_type(struct gallivm_state *gallivm,
     for (i = 0; i < num_srcs; ++i) {
        LLVMValueRef chans[4];
        LLVMValueRef res = NULL;
@@ -1091,7 +1114,7 @@ index 6921210..0691a40 100644
  
           for (k = 0; k < src_fmt->channel[j].size; ++k) {
              mask |= 1 << k;
-@@ -1018,11 +1023,9 @@ convert_to_blend_type(struct gallivm_state *gallivm,
+@@ -1038,11 +1043,9 @@ convert_to_blend_type(struct gallivm_state *gallivm,
           /* Insert bits into correct position */
           chans[j] = LLVMBuildShl(builder,
                                   chans[j],
@@ -1104,7 +1127,7 @@ index 6921210..0691a40 100644
           if (j == 0) {
              res = chans[j];
           } else {
-@@ -1136,12 +1139,17 @@ convert_from_blend_type(struct gallivm_state *gallivm,
+@@ -1156,12 +1159,17 @@ convert_from_blend_type(struct gallivm_state *gallivm,
     for (i = 0; i < num_srcs; ++i) {
        LLVMValueRef chans[4];
        LLVMValueRef res = NULL;
@@ -1123,7 +1146,7 @@ index 6921210..0691a40 100644
  
           assert(blend_type.width > src_fmt->channel[j].size);
  
-@@ -1152,7 +1160,7 @@ convert_from_blend_type(struct gallivm_state *gallivm,
+@@ -1172,7 +1180,7 @@ convert_from_blend_type(struct gallivm_state *gallivm,
           /* Extract bits */
           chans[j] = LLVMBuildLShr(builder,
                                    dst[i],
@@ -1132,6 +1155,29 @@ index 6921210..0691a40 100644
                                    "");
  
           chans[j] = LLVMBuildAnd(builder,
+diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h
+index 9a09cee..f367933 100644
+--- a/src/gallium/include/pipe/p_config.h
++++ b/src/gallium/include/pipe/p_config.h
+@@ -110,6 +110,9 @@
+ #endif
+ #endif
+ 
++#if defined(__s390x__)
++#define PIPE_ARCH_S390X
++#endif
+ 
+ /*
+  * Endian detection.
+@@ -146,7 +149,7 @@
+ 
+ #if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64)
+ #define PIPE_ARCH_LITTLE_ENDIAN
+-#elif defined(PIPE_ARCH_PPC) || defined(PIPE_ARCH_PPC_64)
++#elif defined(PIPE_ARCH_PPC) || defined(PIPE_ARCH_PPC_64) || defined(PIPE_ARCH_S390X)
+ #define PIPE_ARCH_BIG_ENDIAN
+ #endif
+ 
 diff --git a/src/gallium/include/pipe/p_format.h b/src/gallium/include/pipe/p_format.h
 index 098b25b..1289983 100644
 --- a/src/gallium/include/pipe/p_format.h
@@ -1468,7 +1514,7 @@ index 1ab6732..d63372d 100644
  };
  
 diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c
-index c9c6163..719acde 100644
+index 56f3a4a..ae9e28e 100644
 --- a/src/mesa/state_tracker/st_format.c
 +++ b/src/mesa/state_tracker/st_format.c
 @@ -55,21 +55,21 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat)
diff --git a/mesa.spec b/mesa.spec
index 25ca8f6..eeb9ad2 100644
--- a/mesa.spec
+++ b/mesa.spec
@@ -48,13 +48,13 @@
 
 %define _default_patch_fuzz 2
 
-%define gitdate 20130514
+%define gitdate 20130528
 #% define snapshot 
 
 Summary: Mesa graphics libraries
 Name: mesa
 Version: 9.2
-Release: 0.6.%{gitdate}%{?dist}
+Release: 0.7.%{gitdate}%{?dist}
 License: MIT
 Group: System Environment/Libraries
 URL: http://www.mesa3d.org
@@ -75,8 +75,6 @@ Patch9: mesa-8.0-llvmpipe-shmget.patch
 Patch12: mesa-8.0.1-fix-16bpp.patch
 Patch15: mesa-9.2-hardware-float.patch
 Patch16: mesa-9.2-no-useless-vdpau.patch
-# http://lists.freedesktop.org/archives/mesa-dev/2013-May/039265.html
-Patch17: 0001-st-mesa-handle-texture_from_pixmap-and-other-surface.patch
 Patch18: mesa-9.2-llvmpipe-on-big-endian.patch
 Patch19: mesa-9.2-no-gallium-osmesa.patch
 
@@ -311,7 +309,6 @@ grep -q ^/ src/gallium/auxiliary/vl/vl_decoder.c && exit 1
 
 %patch15 -p1 -b .hwfloat
 %patch16 -p1 -b .vdpau
-%patch17 -p1 -b .tfp
 %patch18 -p1 -b .be
 %patch19 -p1 -b .osmesa
 
@@ -613,6 +610,9 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 
 %changelog
+* Tue May 28 2013 Adam Jackson <ajax at redhat.com> 9.2-0.7.20130528
+- Today's git snap
+
 * Sun May 19 2013 Peter Robinson <pbrobinson at fedoraproject.org> 9.2-0.6.20130514
 - Update the name of the freedreno driver
 
diff --git a/sanitize-tarball.sh b/sanitize-tarball.sh
index ba472ab..54b2d0c 100755
--- a/sanitize-tarball.sh
+++ b/sanitize-tarball.sh
@@ -2,6 +2,11 @@
 #
 # usage: sanitize-tarball.sh [tarball]
 
+if [ "x$1" = "x" ]; then
+    echo "Usage: sanitize-tarball.sh [tarball]"
+    exit 1
+fi
+
 if [ -e /usr/bin/pxz ]; then
     XZ=/usr/bin/pxz
 else


More information about the scm-commits mailing list