diff --git a/.gitignore b/.gitignore index ad8fd8b..89bfb77 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,4 @@ mesa-20100720.tar.bz2 /mesa-20130508.tar.xz /mesa-20130514.tar.xz /mesa-20130528.tar.xz +/mesa-20130610.tar.xz diff --git a/0001-Revert-i965-Disable-unused-pipeline-stages-once-at-s.patch b/0001-Revert-i965-Disable-unused-pipeline-stages-once-at-s.patch new file mode 100644 index 0000000..e2c2efc --- /dev/null +++ b/0001-Revert-i965-Disable-unused-pipeline-stages-once-at-s.patch @@ -0,0 +1,92 @@ +From 3dacb7d40b3a15be1133deaac55b993e8b7809dc Mon Sep 17 00:00:00 2001 +From: Kenneth Graunke +Date: Tue, 11 Jun 2013 10:31:39 -0700 +Subject: [PATCH] Revert "i965: Disable unused pipeline stages once at startup + on Gen7+." + +This reverts commit 6c966ccf07bcaf64fba1a9b699440c30dc96e732. + +Apparently causes GPU hangs. + +Conflicts: + src/mesa/drivers/dri/i965/brw_state.h + src/mesa/drivers/dri/i965/brw_state_upload.c +--- + src/mesa/drivers/dri/i965/brw_state.h | 4 +--- + src/mesa/drivers/dri/i965/brw_state_upload.c | 2 +- + src/mesa/drivers/dri/i965/gen7_disable.c | 13 +++++++++++-- + 3 files changed, 13 insertions(+), 6 deletions(-) + +diff --git a/src/mesa/drivers/dri/i965/brw_state.h b/src/mesa/drivers/dri/i965/brw_state.h +index f14c44c..8af933e 100644 +--- a/src/mesa/drivers/dri/i965/brw_state.h ++++ b/src/mesa/drivers/dri/i965/brw_state.h +@@ -111,6 +111,7 @@ extern const struct brw_tracked_state gen7_cc_state_pointer; + extern const struct brw_tracked_state gen7_cc_viewport_state_pointer; + extern const struct brw_tracked_state gen7_clip_state; + extern const struct brw_tracked_state gen7_depth_stencil_state_pointer; ++extern const struct brw_tracked_state gen7_disable_stages; + extern const struct brw_tracked_state gen7_ps_state; + extern const struct brw_tracked_state gen7_samplers; + extern const struct brw_tracked_state gen7_sbe_state; +@@ -213,9 +214,6 @@ uint32_t + get_attr_override(const struct brw_vue_map *vue_map, int urb_entry_read_offset, + int fs_attr, bool two_side_color, uint32_t *max_source_attr); + +-/* gen7_disable.c */ +-void gen7_disable_unused_stages(struct brw_context *brw); +- + /* gen7_urb.c */ + void gen7_allocate_push_constants(struct brw_context *brw); + +diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c +index a9e269e..00aea41 100644 +--- a/src/mesa/drivers/dri/i965/brw_state_upload.c ++++ b/src/mesa/drivers/dri/i965/brw_state_upload.c +@@ -210,6 +210,7 @@ static const struct brw_tracked_state *gen7_atoms[] = + &gen7_samplers, + &gen6_multisample_state, + ++ &gen7_disable_stages, + &gen7_vs_state, + &gen7_sol_state, + &gen7_clip_state, +@@ -253,7 +254,6 @@ brw_upload_initial_gpu_state(struct brw_context *brw) + + if (intel->gen >= 7) { + gen7_allocate_push_constants(brw); +- gen7_disable_unused_stages(brw); + } + } + +diff --git a/src/mesa/drivers/dri/i965/gen7_disable.c b/src/mesa/drivers/dri/i965/gen7_disable.c +index c152d0a..aaf88a8 100644 +--- a/src/mesa/drivers/dri/i965/gen7_disable.c ++++ b/src/mesa/drivers/dri/i965/gen7_disable.c +@@ -26,8 +26,8 @@ + #include "brw_defines.h" + #include "intel_batchbuffer.h" + +-void +-gen7_disable_unused_stages(struct brw_context *brw) ++static void ++disable_stages(struct brw_context *brw) + { + struct intel_context *intel = &brw->intel; + +@@ -123,3 +123,12 @@ gen7_disable_unused_stages(struct brw_context *brw) + OUT_BATCH(0); + ADVANCE_BATCH(); + } ++ ++const struct brw_tracked_state gen7_disable_stages = { ++ .dirty = { ++ .mesa = 0, ++ .brw = BRW_NEW_CONTEXT, ++ .cache = 0, ++ }, ++ .emit = disable_stages, ++}; +-- +1.8.2.1 + diff --git a/mesa-9.2-hardware-float.patch b/mesa-9.2-hardware-float.patch index 42987af..f279d9d 100644 --- a/mesa-9.2-hardware-float.patch +++ b/mesa-9.2-hardware-float.patch @@ -1,59 +1,17 @@ -From 5bfa2890c634883260429e7360a3a0367ef47316 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Wed, 1 May 2013 13:23:13 -0400 -Subject: [PATCH] configure: --enable-texture-float={yes,no,hardware} - -This enables building float-texture support for hardware drivers but not -software drivers. - -This is obviously not upstreamable in its current form. - -Signed-off-by: Adam Jackson ---- - configure.ac | 6 +++--- - src/gallium/drivers/llvmpipe/lp_screen.c | 9 +++++++++ - src/gallium/drivers/softpipe/sp_screen.c | 9 +++++++++ - 3 files changed, 21 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 81d4a3f..970dacf 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -381,15 +381,15 @@ dnl - dnl potentially-infringing-but-nobody-knows-for-sure stuff - dnl - AC_ARG_ENABLE([texture-float], -- [AS_HELP_STRING([--enable-texture-float], -+ [AS_HELP_STRING([--enable-texture-float=yes,no,hardware], - [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])], - [enable_texture_float="$enableval"], - [enable_texture_float=no] - ) --if test "x$enable_texture_float" = xyes; then -+if test "x$enable_texture_float" = xyes -o "x$enable_texture_float" = xhardware; then - AC_MSG_WARN([Floating-point textures enabled.]) - AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.]) -- DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED" -+ DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED=$enable_texture_float" - fi - - GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION} diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 5ec1df6..a0406fc 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c -@@ -306,6 +306,15 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen, +@@ -306,6 +306,13 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen, if (!format_desc) return FALSE; -+#if 1 + if ((bind & PIPE_BIND_RENDER_TARGET) && + format != PIPE_FORMAT_R9G9B9E5_FLOAT && + format != PIPE_FORMAT_R11G11B10_FLOAT && + util_format_is_float(format)) { + return FALSE; + } -+#endif + assert(target == PIPE_BUFFER || target == PIPE_TEXTURE_1D || @@ -62,70 +20,17 @@ diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/soft index 937035e..2f5e571 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c -@@ -291,6 +291,15 @@ softpipe_is_format_supported( struct pipe_screen *screen, +@@ -291,6 +291,13 @@ softpipe_is_format_supported( struct pipe_screen *screen, if (!format_desc) return FALSE; -+#if 1 + if ((bind & PIPE_BIND_RENDER_TARGET) && + format != PIPE_FORMAT_R9G9B9E5_FLOAT && + format != PIPE_FORMAT_R11G11B10_FLOAT && + util_format_is_float(format)) { + return FALSE; + } -+#endif + if (sample_count > 1) return FALSE; --- -1.8.2.1 - -diff -up mesa-20130508/src/gallium/auxiliary/util/u_format_table.py.jx mesa-20130508/src/gallium/auxiliary/util/u_format_table.py ---- mesa-20130508/src/gallium/auxiliary/util/u_format_table.py.jx 2013-05-08 13:23:41.000000000 -0400 -+++ mesa-20130508/src/gallium/auxiliary/util/u_format_table.py 2013-05-08 15:20:02.145510681 -0400 -@@ -133,15 +133,35 @@ def write_format_table(formats): - print " }," - print " %s," % (colorspace_map(format.colorspace),) - if format.colorspace != ZS and format.channels[0].pure == False: -- print " &util_format_%s_unpack_rgba_8unorm," % format.short_name() -- print " &util_format_%s_pack_rgba_8unorm," % format.short_name() -- if format.layout == 's3tc' or format.layout == 'rgtc': -- print " &util_format_%s_fetch_rgba_8unorm," % format.short_name() -- else: -- print " NULL, /* fetch_rgba_8unorm */" -- print " &util_format_%s_unpack_rgba_float," % format.short_name() -- print " &util_format_%s_pack_rgba_float," % format.short_name() -- print " &util_format_%s_fetch_rgba_float," % format.short_name() -+ if "float" in format.short_name(): -+ print "#if 0" -+ print " &util_format_%s_unpack_rgba_8unorm," % format.short_name() -+ print " &util_format_%s_pack_rgba_8unorm," % format.short_name() -+ if format.layout == 's3tc' or format.layout == 'rgtc': -+ print " &util_format_%s_fetch_rgba_8unorm," % format.short_name() -+ else: -+ print " NULL, /* fetch_rgba_8unorm */" -+ print " &util_format_%s_unpack_rgba_float," % format.short_name() -+ print " &util_format_%s_pack_rgba_float," % format.short_name() -+ print " &util_format_%s_fetch_rgba_float," % format.short_name() -+ print "#else" -+ print " NULL, /* unpack_rgba_8unorm */" -+ print " NULL, /* pack_rgba_8unorm */" -+ print " NULL, /* fetch_rgba_8unorm */" -+ print " NULL, /* unpack_rgba_float */" -+ print " NULL, /* pack_rgba_float */" -+ print " NULL, /* fetch_rgba_float */" -+ print "#endif" -+ else: -+ print " &util_format_%s_unpack_rgba_8unorm," % format.short_name() -+ print " &util_format_%s_pack_rgba_8unorm," % format.short_name() -+ if format.layout == 's3tc' or format.layout == 'rgtc': -+ print " &util_format_%s_fetch_rgba_8unorm," % format.short_name() -+ else: -+ print " NULL, /* fetch_rgba_8unorm */" -+ print " &util_format_%s_unpack_rgba_float," % format.short_name() -+ print " &util_format_%s_pack_rgba_float," % format.short_name() -+ print " &util_format_%s_fetch_rgba_float," % format.short_name() - else: - print " NULL, /* unpack_rgba_8unorm */" - print " NULL, /* pack_rgba_8unorm */" diff --git a/mesa-9.2-llvmpipe-on-big-endian.patch b/mesa-9.2-llvmpipe-on-big-endian.patch index 13fd4dc..a3dbc38 100644 --- a/mesa-9.2-llvmpipe-on-big-endian.patch +++ b/mesa-9.2-llvmpipe-on-big-endian.patch @@ -1,5 +1,18 @@ +diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h +index f30f9af..adde647 100644 +--- a/src/gallium/auxiliary/draw/draw_private.h ++++ b/src/gallium/auxiliary/draw/draw_private.h +@@ -71,7 +71,7 @@ struct draw_pt_front_end; + */ + struct draw_vertex_buffer { + const void *map; +- size_t size; ++ uint32_t size; + }; + + /** diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c -index 14dde67..bc300c0 100644 +index 131bd13..720d7b1 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) @@ -16,8 +29,34 @@ index 14dde67..bc300c0 100644 default: debug_printf("other format %s (fix me)\n", util_format_name(draw->pt.vertex_element[j].src_format)); +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c +index 3291ec4..08aec79 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c ++++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c +@@ -386,6 +386,10 @@ lp_build_add(struct lp_build_context *bld, + return lp_build_intrinsic_binary(builder, intrinsic, lp_build_vec_type(bld->gallivm, bld->type), a, b); + } + ++ /* TODO: handle signed case */ ++ if(type.norm && !type.floating && !type.fixed && !type.sign) ++ a = lp_build_min_simple(bld, a, lp_build_comp(bld, b)); ++ + if(LLVMIsConstant(a) && LLVMIsConstant(b)) + if (type.floating) + res = LLVMConstFAdd(a, b); +@@ -663,6 +667,10 @@ lp_build_sub(struct lp_build_context *bld, + return lp_build_intrinsic_binary(builder, intrinsic, lp_build_vec_type(bld->gallivm, bld->type), a, b); + } + ++ /* TODO: handle signed case */ ++ if(type.norm && !type.floating && !type.fixed && !type.sign) ++ a = lp_build_max_simple(bld, a, b); ++ + if(LLVMIsConstant(a) && LLVMIsConstant(b)) + if (type.floating) + res = LLVMConstFSub(a, b); diff --git a/src/gallium/auxiliary/gallivm/lp_bld_conv.c b/src/gallium/auxiliary/gallivm/lp_bld_conv.c -index eb2d096..cf86f4d 100644 +index f11361a..cbea966 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_conv.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_conv.c @@ -80,82 +80,6 @@ @@ -526,19 +565,6 @@ 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 c31b05d..104c24d 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c @@ -700,6 +726,22 @@ index 08d817a..79116bc 100644 } else { shifted = masked; } +diff --git a/src/gallium/auxiliary/util/u_cpu_detect.c b/src/gallium/auxiliary/util/u_cpu_detect.c +index 7e6df9d..763b5cc 100644 +--- a/src/gallium/auxiliary/util/u_cpu_detect.c ++++ b/src/gallium/auxiliary/util/u_cpu_detect.c +@@ -250,6 +250,11 @@ util_cpu_detect(void) + util_cpu_caps.nr_cpus = 1; + #endif + ++ /* Make the fallback cacheline size nonzero so that it can be ++ * safely passed to align(). ++ */ ++ util_cpu_caps.cacheline = sizeof(void *); ++ + #if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) + if (has_cpuid()) { + uint32_t regs[4]; diff --git a/src/gallium/auxiliary/util/u_format.h b/src/gallium/auxiliary/util/u_format.h index e4b9c36..3a04d89 100644 --- a/src/gallium/auxiliary/util/u_format.h @@ -1021,7 +1063,7 @@ index 1f6a56a..9c25451 100644 uc->ui = (b << 24) | (g << 16) | (r << 8) | 0xff; } diff --git a/src/gallium/drivers/llvmpipe/lp_bld_depth.c b/src/gallium/drivers/llvmpipe/lp_bld_depth.c -index df6a6c4..695ecec 100644 +index a8bd15f..f322131 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, @@ -1092,10 +1134,10 @@ index df6a6c4..695ecec 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 a20cc78..3ef7266 100644 +index fc2ba5e..38e9fc7 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c -@@ -1007,12 +1007,17 @@ convert_to_blend_type(struct gallivm_state *gallivm, +@@ -1015,12 +1015,17 @@ convert_to_blend_type(struct gallivm_state *gallivm, for (i = 0; i < num_srcs; ++i) { LLVMValueRef chans[4]; LLVMValueRef res = NULL; @@ -1114,7 +1156,7 @@ index a20cc78..3ef7266 100644 for (k = 0; k < src_fmt->channel[j].size; ++k) { mask |= 1 << k; -@@ -1038,11 +1043,9 @@ convert_to_blend_type(struct gallivm_state *gallivm, +@@ -1046,11 +1051,9 @@ convert_to_blend_type(struct gallivm_state *gallivm, /* Insert bits into correct position */ chans[j] = LLVMBuildShl(builder, chans[j], @@ -1127,7 +1169,7 @@ index a20cc78..3ef7266 100644 if (j == 0) { res = chans[j]; } else { -@@ -1156,12 +1159,17 @@ convert_from_blend_type(struct gallivm_state *gallivm, +@@ -1166,12 +1169,17 @@ convert_from_blend_type(struct gallivm_state *gallivm, for (i = 0; i < num_srcs; ++i) { LLVMValueRef chans[4]; LLVMValueRef res = NULL; @@ -1146,7 +1188,7 @@ index a20cc78..3ef7266 100644 assert(blend_type.width > src_fmt->channel[j].size); -@@ -1172,7 +1180,7 @@ convert_from_blend_type(struct gallivm_state *gallivm, +@@ -1182,7 +1190,7 @@ convert_from_blend_type(struct gallivm_state *gallivm, /* Extract bits */ chans[j] = LLVMBuildLShr(builder, dst[i], @@ -1155,29 +1197,6 @@ index a20cc78..3ef7266 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 @@ -1322,10 +1341,10 @@ index 8490480..4f76b0f 100644 break; default: diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c -index e426192..6792ef2 100644 +index b758c8e..5f187e5 100644 --- a/src/gallium/state_trackers/glx/xlib/xm_api.c +++ b/src/gallium/state_trackers/glx/xlib/xm_api.c -@@ -329,10 +329,10 @@ choose_pixel_format(XMesaVisual v) +@@ -328,10 +328,10 @@ choose_pixel_format(XMesaVisual v) && v->BitsPerPixel == 32) { if (native_byte_order) { /* no byteswapping needed */ @@ -1338,7 +1357,7 @@ index e426192..6792ef2 100644 } } else if ( GET_REDMASK(v) == 0xff0000 -@@ -341,10 +341,10 @@ choose_pixel_format(XMesaVisual v) +@@ -340,10 +340,10 @@ choose_pixel_format(XMesaVisual v) && v->BitsPerPixel == 32) { if (native_byte_order) { /* no byteswapping needed */ @@ -1351,7 +1370,7 @@ index e426192..6792ef2 100644 } } else if ( GET_REDMASK(v) == 0x0000ff00 -@@ -353,10 +353,10 @@ choose_pixel_format(XMesaVisual v) +@@ -352,10 +352,10 @@ choose_pixel_format(XMesaVisual v) && v->BitsPerPixel == 32) { if (native_byte_order) { /* no byteswapping needed */ @@ -1400,7 +1419,7 @@ index 6afdf40..e591d90 100644 }; diff --git a/src/gallium/tests/graw/fs-test.c b/src/gallium/tests/graw/fs-test.c -index e59377f..0269ae0 100644 +index 685be92..b64f740 100644 --- a/src/gallium/tests/graw/fs-test.c +++ b/src/gallium/tests/graw/fs-test.c @@ -31,8 +31,8 @@ static void usage(char *name) @@ -1415,7 +1434,7 @@ index e59377f..0269ae0 100644 }; diff --git a/src/gallium/tests/graw/graw_util.h b/src/gallium/tests/graw/graw_util.h -index febdf44..08f18f7 100644 +index 84456b4..d14bb89 100644 --- a/src/gallium/tests/graw/graw_util.h +++ b/src/gallium/tests/graw/graw_util.h @@ -32,8 +32,8 @@ graw_util_create_window(struct graw_info *info, @@ -1439,7 +1458,7 @@ index febdf44..08f18f7 100644 temp.height0 = height; temp.depth0 = 1; diff --git a/src/gallium/tests/graw/quad-sample.c b/src/gallium/tests/graw/quad-sample.c -index dd2865d..cfc4129 100644 +index 9100272..004040f 100644 --- a/src/gallium/tests/graw/quad-sample.c +++ b/src/gallium/tests/graw/quad-sample.c @@ -18,8 +18,8 @@ @@ -1454,7 +1473,7 @@ index dd2865d..cfc4129 100644 }; diff --git a/src/gallium/tests/graw/shader-leak.c b/src/gallium/tests/graw/shader-leak.c -index 9c6e0eb..1fdfb95 100644 +index 014e0cc..75e41e0 100644 --- a/src/gallium/tests/graw/shader-leak.c +++ b/src/gallium/tests/graw/shader-leak.c @@ -18,8 +18,8 @@ static int num_iters = 100; @@ -1469,7 +1488,7 @@ index 9c6e0eb..1fdfb95 100644 }; diff --git a/src/gallium/tests/graw/tri-gs.c b/src/gallium/tests/graw/tri-gs.c -index 03b5234..0bb45fb 100644 +index 535825e..21a3a97 100644 --- a/src/gallium/tests/graw/tri-gs.c +++ b/src/gallium/tests/graw/tri-gs.c @@ -14,8 +14,8 @@ @@ -1484,7 +1503,7 @@ index 03b5234..0bb45fb 100644 }; diff --git a/src/gallium/tests/graw/tri-instanced.c b/src/gallium/tests/graw/tri-instanced.c -index 901ac86..41caae9 100644 +index d00e7e9..c8407f6 100644 --- a/src/gallium/tests/graw/tri-instanced.c +++ b/src/gallium/tests/graw/tri-instanced.c @@ -17,8 +17,8 @@ @@ -1499,7 +1518,7 @@ index 901ac86..41caae9 100644 }; diff --git a/src/gallium/tests/graw/vs-test.c b/src/gallium/tests/graw/vs-test.c -index 1ab6732..d63372d 100644 +index bfb40be..6d66d1f 100644 --- a/src/gallium/tests/graw/vs-test.c +++ b/src/gallium/tests/graw/vs-test.c @@ -32,8 +32,8 @@ static void usage(char *name) @@ -1619,3 +1638,15 @@ index 56f3a4a..ae9e28e 100644 { 0, 0, 0 } }; +diff -up mesa-20130610/src/gallium/drivers/r600/evergreen_state.c.jx mesa-20130610/src/gallium/drivers/r600/evergreen_state.c +--- mesa-20130610/src/gallium/drivers/r600/evergreen_state.c.jx 2013-06-10 13:58:51.000000000 -0400 ++++ mesa-20130610/src/gallium/drivers/r600/evergreen_state.c 2013-06-17 10:24:14.687160428 -0400 +@@ -615,7 +615,7 @@ static uint32_t r600_translate_colorform + + static uint32_t r600_colorformat_endian_swap(uint32_t colorformat) + { +- if (R600_BIG_ENDIAN) { ++ if (0 && R600_BIG_ENDIAN) { + switch(colorformat) { + + /* 8-bit buffers. */ diff --git a/mesa.spec b/mesa.spec index ede1e77..c9ab3b7 100644 --- a/mesa.spec +++ b/mesa.spec @@ -48,13 +48,13 @@ %define _default_patch_fuzz 2 -%define gitdate 20130528 +%define gitdate 20130610 #% define snapshot Summary: Mesa graphics libraries Name: mesa Version: 9.2 -Release: 0.7.%{gitdate}%{?dist} +Release: 0.12.%{gitdate}%{?dist} License: MIT Group: System Environment/Libraries URL: http://www.mesa3d.org @@ -77,6 +77,7 @@ Patch15: mesa-9.2-hardware-float.patch Patch16: mesa-9.2-no-useless-vdpau.patch Patch18: mesa-9.2-llvmpipe-on-big-endian.patch Patch19: mesa-9.2-no-gallium-osmesa.patch +Patch20: 0001-Revert-i965-Disable-unused-pipeline-stages-once-at-s.patch BuildRequires: pkgconfig autoconf automake libtool %if %{with_hardware} @@ -169,14 +170,6 @@ Requires: mesa-filesystem%{?_isa} Mesa-based VDPAU drivers. %endif -%package -n khrplatform-devel -Summary: Khronos platform development package -Group: Development/Libraries -BuildArch: noarch - -%description -n khrplatform-devel -Khronos platform development package - %package libGL-devel Summary: Mesa libGL development package Group: Development/Libraries @@ -191,7 +184,8 @@ Mesa libGL development package Summary: Mesa libEGL development package Group: Development/Libraries Requires: mesa-libEGL = %{version}-%{release} -Requires: khrplatform-devel >= %{version}-%{release} +Provides: khrplatform-devel = %{version}-%{release} +Obsoletes: khrplatform-devel < %{version}-%{release} %description libEGL-devel Mesa libEGL development package @@ -200,7 +194,6 @@ Mesa libEGL development package Summary: Mesa libGLES development package Group: Development/Libraries Requires: mesa-libGLES = %{version}-%{release} -Requires: khrplatform-devel >= %{version}-%{release} %description libGLES-devel Mesa libGLES development package @@ -311,6 +304,7 @@ grep -q ^/ src/gallium/auxiliary/vl/vl_decoder.c && exit 1 %patch16 -p1 -b .vdpau %patch18 -p1 -b .be %patch19 -p1 -b .osmesa +%patch20 -p1 -b .revert %if 0%{with_private_llvm} sed -i 's/llvm-config/mesa-private-llvm-config-%{__isa_bits}/g' configure.ac @@ -360,7 +354,7 @@ export CXXFLAGS="$CFLAGS -fno-rtti -fno-exceptions" --enable-gbm \ --disable-opencl \ --enable-glx-tls \ - --enable-texture-float=hardware \ + --enable-texture-float=yes \ %{?with_llvm:--enable-gallium-llvm} \ %{?with_llvm:--with-llvm-shared-libs} \ --enable-dri \ @@ -387,6 +381,10 @@ make install DESTDIR=$RPM_BUILD_ROOT rm -f $RPM_BUILD_ROOT%{_libdir}/dri/{radeon,r200,nouveau_vieux}_dri.* %endif +%if !%{with_hardware} +rm -f $RPM_BUILD_ROOT%{_sysconfdir}/drirc +%endif + # libvdpau opens the versioned name, don't bother including the unversioned rm -f $RPM_BUILD_ROOT%{_libdir}/vdpau/*.so @@ -511,10 +509,6 @@ rm -rf $RPM_BUILD_ROOT %endif %endif -%files -n khrplatform-devel -%defattr(-,root,root,-) -%{_includedir}/KHR - %files libGL-devel %defattr(-,root,root,-) %{_includedir}/GL/gl.h @@ -612,6 +606,23 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Mon Jun 17 2013 Adam Jackson 9.2-0.12.20130610 +- Re-enable hardware float support (#975204) + +* Mon Jun 17 2013 Adam Jackson 9.2-0.11.20130610 +- Fix evergreen on big-endian + +* Wed Jun 12 2013 Adam Jackson 9.2-0.10.20130610 +- Fix s390x build +- Fold khrplatform-devel in to libEGL-devel + +* Tue Jun 11 2013 Adam Jackson 9.2-0.9.20130610 +- 0001-Revert-i965-Disable-unused-pipeline-stages-once-at-s.patch: Fix some + hangs on ivb+ + +* Mon Jun 10 2013 Adam Jackson 9.2-0.8.20130610 +- Today's git snap + * Tue May 28 2013 Adam Jackson 9.2-0.7.20130528 - Today's git snap diff --git a/sources b/sources index ac1af35..a90d4d0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b33dbda7320e83f7a61284eb73397405 mesa-20130528.tar.xz +ebed369f4835292aa17eb05ad5b935f1 mesa-20130610.tar.xz