diff --git a/Mesa.changes b/Mesa.changes index f9a8ac9..196c154 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,54 @@ +------------------------------------------------------------------- +Sat Apr 29 06:36:50 UTC 2017 - mimi.vx@gmail.com + +- update to 17.0.5 + * fdo#97524 - Samplers referring to the same texture unit with different + types should raise GL_INVALID_OPERATION + * nvc0/ir: Properly handle a "split form" of predicate destination + * nir: Destination component count of shader_clock intrinsic is 2 + * winsys/sw/dri: don't use GNU void pointer arithmetic + * st/clover: add space between < and :: + * configure.ac: check require_basic_egl only if egl enabled + * st/mesa: automake: honour the vdpau header install location + * intel/fs: Use regs_written() in spilling cost heuristic for improved accuracy + * intel/fs: Take into account amount of data read in spilling cost heuristic. + * radv: report timestampPeriod correctly + * anv/blorp: Flush the texture cache in UpdateBuffer + * anv/cmd_buffer: Flush the VF cache at the top of all primaries + * anv/cmd_buffer: Always set up a null surface state + * anv/cmd_buffer: Use the null surface state for ATTACHMENT_UNUSED + * anv/blorp: Properly handle VK_ATTACHMENT_UNUSED + * i965/vec4: Avoid reswizzling MACH instructions in opt_register_coalesce() + * st/mesa: invalidate the readpix cache in st_indirect_draw_vbo + * anv/cmd_buffer: Disable CCS on BDW input attachments + * mesa: fix remaining xfb prims check for GLES with multiple instances + * mesa: validate sampler type across the whole program + * vbo: fix gl_DrawID handling in glMultiDrawArrays + * util/queue: don't hang at exit + * mesa: fix remaining xfb prims check for GLES with multiple instances + * mesa: extract need_xfb_remaining_prims_check + * mesa: move glMultiDrawArrays to vbo and fix error handling + + update Mesa.keyring to both upstream release managers + +------------------------------------------------------------------- +Fri Apr 28 12:26:02 UTC 2017 - sndirsch@suse.com + +- u_gallivm-correct-channel-shift-logic-on-big-endian.patch: + * instead of reverse applying a change on s390x + ("U_draw-use-SoA-fetch-not-AoS-one.patch") address the + issue by a real fix (bsc#1032272, fdo#100613) + +------------------------------------------------------------------- +Thu Apr 27 09:54:43 UTC 2017 - sndirsch@suse.com + +- baselibs.conf: added libvulkan_intel-32bit as a requirement for + Mesa-libd3d (boo#1036282) + +------------------------------------------------------------------- +Tue Apr 25 11:13:30 UTC 2017 - schwab@linux-m68k.org + +- No OpenCL on ppc + ------------------------------------------------------------------- Fri Apr 21 09:09:25 UTC 2017 - sndirsch@suse.com diff --git a/Mesa.keyring b/Mesa.keyring index f3b2f3a..af62044 100644 --- a/Mesa.keyring +++ b/Mesa.keyring @@ -49,3 +49,93 @@ kLK/gqBFGHh/TO5DEl6X/TP380DYdazZpa31S+Ixwt+RkP9ZkvOWGMIG7Nf+G+r+ Omj3BC4KcQ== =XQbm -----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFc/b7YBEACkr2uZ+LcW7s8C/TxeyPpk6HFCoNkRvPbEzuDYuNZIIvN4tfxq +i+lyng5P4w6beEi0Us2au43KYXnibIkde/rrhVCnrUQQqG32oHLbTky+gRvJJ+kq +yheoh1UVjs8v5eGSNYshbIjwivMXLWxlay8G4AGmauFwMJx876ANcBCydeYvuEel +BY8GFdkbjIdd4hqXNEy4SNlf5wzCIZDK8B4v/sAXa/HUO0HCE4Ebq7lPSxtUdKzX +2bf19HgA6Y6btkMEA7NoKPoCiKPueznGvi2YY3w7Os/IYwnCfG3Q3TCEZhtT/MFY +/aVD/VyjyrwJRreOfqkUZbeVE7MGlXojRw/Pf/Mb+vqHkpk/x5fwPlHNhf2EtuaD +wdekUI/TYchlS42GdcdxP3n3jXxbWYhJZlCtK7tKK53iiyIkv2OnRfKt/OMczg6X +/qSiV72OwJgy+opn+lyp0HcyzphUHbm5fyd6mu5z5GUUyPJYPb9Bq2iaIXr157ci +0SqzV8Z+ToAPoWlDScPDZBIgON2tyCXV1dV/XP+8NNHXbVBFXcKw3czhaK3dYYnQ +Tgt83/kQpulPO4xflQDVK3S74wVhoIoPYz83UcOYAJ2XLIKVzq2aViNPrJ+BgHfz +hGzeokza8H6L5LcW0qXFC4j16C95cWbM7RO/fsWsRe4y0S68O0UKFPIXcwARAQAB +tB9BbmRyZXMgR29tZXogPHRhbnR5MEBnbWFpbC5jb20+iEYEEBECAAYFAlc/d2QA +CgkQPMEtrD/qEDQ9YgCfZ9Er9OBZQkS49v0dBTOaTt1oa3AAnR7fjZ8PM3aXm6Ue +7Cx2W7j/UgjqiQIcBBABAgAGBQJXSES1AAoJEL4yGa8+1BNBUaYP/RVBWiGvMTHG +Sk6eU5EuE12JDyB9TKGW/ng1S84SgGVY5t1BuQKCgCY80trVPMD21hbdHEQCV+rM +ilm9EAvo3E9KR/BqzTgmxVRy8oL98UcOo3tZe+2GrJx3BNeTXoEzChRvXd0M2Fjm +Uxx3crPuISXfb/4xMIztWw82IP9rUQNs4pZjpQc739h4h3pG6lv58laL/r2J2m6C +qC0w4JZYvfGn84LST3j79KjrQfttiOLu1J+1Hf/vcilhqu7vwoQC51rk9PticeHL +lwEqkeEGJJWsEa6JwFtML/j8i56oBx4ujVoWEDcq47ofCMj6bSjS4qNiY7RwYtZD +Ap8mDI2lR8KLRoC69crlvsVO/iNG+f12zDUyOwfXW4TLrtdXIPYL+6SU0g97dZiy +79cxrleLP8FMjzQuMsa6wLKXBUEQbNzoMwRGCXzYTGGzoqk35TD6WrfjQPWJPuhm +/c7XNupm8uOSH9VYAv6rLTqEsc1GVnWLSnV4xJJdMS8lep2u+36rtDA7orjC8plu +aGdPOrPlj8HYRVD1btVpZ1KaBGeCgBjx6gYX2DmpuVpckoPaR9RPnWsvfOjDatJF +cPDCEFBjV+EmII4HsAebkEcorxntGghjiSoWhzYMmeplPdKRk3xfjUW7/EgIczR5 +mTTtoVsEGQg3SECIGqpzLNtcLzuZrPWQiQI3BBMBCAAhBQJXP2+2AhsDBQsJCAcC +BhUICQoLAgQWAgMBAh4BAheAAAoJENlhxZanIDRWi8IP/ReArS+kOCgw22qjcrsC +EqCeYynaoAqJ+TQ3q1tN1x50ywZreI7tzKkgx+AHobvINSjzF/6JoayJfWyL+vkw +YiXtwJyHSBGPmOgPWlmESk+/GzIPYyvts+Pg2zLsKAymYVCvFcZv3eurQ9xhLsmt +os59cNDS7BixtHq+HlJ5bQb976MbL5NL5UcBAHwfLr0qtRxQNOH6xAk7HK/S1d+2 +KS7LOfKh2vHDwJIJ4RSI0v7w/VBvV5w9o6iAWDIJM8a8+yn+kQsENrhG7RsEiNTv +YrLO+Yj2p568ndekMWrkBRP2eRnpDv/11qExn1oOHr92Q0pRFtGE1VdQ0HNHxB0e +dTRizUYt7m1OCRgXdhcDkDOtpv0L56iF+fM/dsbYw+RYhj4KDte71PR0jBvaAHKf +TqUSXWoLVFI4wCqWtLPC7bj1ltZoUs+9xfFwJ3O3/cYHcwUIiOhEAWHhriH2BkHr +JsM1fXIBPuAuZ3TEysX+RWQ3OEDvdY6+WtgNMoPW4lXbyItkFubA9O/nC5ZBqbtT +C3HZXfdOQJ2ZQcd/N91gjiIIZPDieNb9Lf6BA0/XkDA98S5VLuFaNWyrWHVxFBMZ +aIbijNUhPFUiY+x8Nbl7CNUrLm5dR6VIitpGzE+gjw5fPVbitNZoKjSRTcLfyQoR +ReLM81jZlAEGmvSO0SEPIdNstB9BbmRyZXMgR29tZXogPHRhbnR5QGlnYWxpYS5j +b20+iQJOBBMBCAA4FiEElG0JteTJhF5jB1/x2WHFlqcgNFYFAljRHJQCGwMFCwkI +BwIGFQgJCgsCBBYCAwECHgECF4AACgkQ2WHFlqcgNFbvnhAAopLtWyWc1jmEZNgK +bpp/dww5UDpAPZTKLvy1kwoWPQOnMABzAb14lbc0YJ7PUHqw8TSIlS9jHS+43HIV +l7fHCnTIQtg6+mjOyBI8il92AFuklC/Q+hg/G4RVf3uCIX5TlkPN2yx/KanfQ9fs +TZfmqAN/GI6jy2ObgbqJoeF14Njaiw2Dkmkiqvkv+GpmWe4K81GKDUUFI+Ck+fu3 +EWHEe7rSN3tjRnYnbshHkLn7uwR9FbkGqZC+wRDynxoVF314IbGJyTrCh1KnTJzL +EM+HF5Dcn64ykPhUXohzjFJoQJ/nuQlzgTWy1ZyniPhbE4g2qG6/UVWpRm+4ZhGU +KSr6+ekIRlN7fvUtwRsFo0fBgLtbgYNSFFxVe4tFwaYxEwraffqpp1XO3kGCfVPh +bvHDWuSgu3jk5bixBjgNSx7U8o/iW/alZLqq9aUlRByq7qdxyuhIUBvZP6pyghW6 +WhY0GRc5/n5/c77KpYkOA0oETxfwmA14MroqhuS1rd4vZAlsXaFZ142GH/r/hx9Y +woAEviBiJ8G2xdErjKWvxRtvS+GridOdvQ0JIg1WWrV7zj8ytxc440P2Z65krhSP +V5rzCnbkfa3ASk/BnqfKCHKUifLNzP9c/oYiOLdYrLD+Ns5B56OEcn0hDFtJ3kCm +FXu/kXqJYGd6J0Rm6nqQu1ziSg20IEFuZHJlcyBHb21leiA8YWdvbWV6QGlnYWxp +YS5jb20+iEYEEBECAAYFAlc/d2QACgkQPMEtrD/qEDSrDgCcDhwp0MfhU2lSVGgs +1hkG/QSWEXEAn0gOoqUqT/v0su8poV5at9IRhMo3iQI3BBMBCAAhBQJXP3PRAhsD +BQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJENlhxZanIDRW70YP/jE/YqOzv1/i +oqwF4+5MP3KfCwlxAt3W1ed6OXCZcHUPFsobY8TgcTc4K3mw7LGG7wSg08OOg9ya +pE4DFjrSzPaaow3sM2+Go+g2xKrq52NUsmrJladrkdbNuIRUYS2VarkDjwX5B+v8 +eZk0DO1h1iD68jp6z0qz942FEUnCuANmHfpK/R/dvUchHwuZGYfB7DcqcH6etVzC +DNDD0bsHY3s/Qea9xjDsEXgCymyFXgqTLk9876LRC748X0RUk2Xse9s5nRq2eCJ6 +Twp2uL7VA7b4Kbk9mzh3Gu5fre4pVA/zfBaA211tLJTdTfBp2acWsjUH+9k+SoRr +YY4513UnVtR+pNpT7vGMcD42WqC7qUFaenTZIySp0FFxx9q3Y6WeCYvWALNbeZiV +jAc7mcuRUfUUiYK8ahp7MJz7t9d5MzMGu4WQ1BqEKxpZdulWA2oiS2wOPD7x9a5D +tpElDZ3vHPvCqIrKIkTH+k5sKOHbOZXCZFCp4bZzIhq0vnYWHls0D86OJ86oMRHj ++YHJ60N7KG4qzhI78mSJAH8ZiFIgvcolXml2G2VQfzdS8SpErl4797Lzk8SXysvU +tdoQEFXVqoUkLSkQBCaLEZ5dOLT3q4Bf2hudQ2cC6BtvOMGimoXNgSCFFZKfypqH +7eB+GZU23xNQxI3oq7WrtjKlCz0gQ884uQINBFc/b7YBEADKASZJp8uZbAvlcU7v +1Vifqoi5wmD44S6hCyIrnulbdI+RKeqELTQ0ruvje6W7GwMcJRNWx836TiH7V5Ix +BgXCn4IN/nzqZpBAVC/8q9Ni688zOATZ040XOFyg9wAuaH/Cwo85CiH7W5+Eufus +js8WIc0N5tvnB53UbrqBGRHAUUuaKnxecefgm+DEkTA0jCbHV35qPzKdm2g/bn1x +anpe0nxTPLOB00IzPD45rWBeuBoP13LEOhqOsvCkysl0iFdqhrxwEO6nTZSBPY8M +U1XHYVJHZpSBYF16QrNax4/IJQMDwdvzMWS64YBwqkK0XSrkg94yackNSMNduRz9 +kLTFLlWGeIFh/ff0Womd3crrhNsrjEUh0mLqvs0fXq+i0GiMVV8/7cIg06aYeck9 +A0cMIUnVyYiPfXzietAM6sP2UoDZlXAXTh3l7iN0UC79S+Bik30G5DGsk2O4nAT/ +EDJ0TWm8s3N+A8tf669ZWy4npfR6+9y3tGAAlYzU8e+tZCrRfXKJgDTAcc+sC0qU +S5McIFZ243QVvWYVDRhbe5ePOAsDhuaZdadKkBX4AsVScpsCQcQD/3J0CquPxVtg +sFglmJfHc9olvgCI5HScLpl6pQn9/5udtz5VBNShROmvKCz60PE6chLLNdWOdWrx ++RaSu09g/5Nc6Wl+gmFeNa39ywARAQABiQIfBBgBCAAJBQJXP2+2AhsMAAoJENlh +xZanIDRWSmQP/17dBjiQkLy0haS5NQJrzDFCMlqbDrM9IGjuzy8oS4IVgowCERYj +A0yKQ8WAxV+yUVelvSqghWBZwWX6yHWRgqw8RQT5/8j1D96IvM1k+fPbC5fBja3c +ptPB+fuW7YIWZIPvhDRntfFMnhEKvIjmwd7DUJn4mU9DNzSQSPadpSUsFkgX2IVi +5MUvd93DIUeU2IcrpAd3VDDGY3gUW9EOIUpgMSeAIoojnsdZS8TeHbEznviZmOFH +AQ3HUrxQUIjYbkdEUKLTz5RPejFKSkdxVtXAvqExOMtrnT9PkX2Dw5nP2O3escfP +vZaNoDIKTlUwiublA80kQyaCEbBkKOqU/YzvbqoSBhapo8yp3CU93pWWIF9YPHof +prD/krml5UES2eVhqYEJ7tVbwZNaszXX2j9I3uaZe1tlc/sT5lZ/sJ0kIVJ84Vik +Tmz4LEqYHwRFV+62p3BeCG33g/9wCeN9QkxWHWeUSAtT/r7tjW+mQdLON41w4Q7z +wtYhSmxjGyo2PP0vpR79oYQ8CDPreyTxWFJuOsqu8NbGhlj/B3TEzl3+0XQQlAfe +jerN9olT+KlOjssKzrvFOLtkGL9E+0n7qvCcp0yjw5d3DdCrCnhHtsGCJyMpRJVk +NdpRyAEk17Sbt8g36TSVyc3LzJA+b6/cPamySsetyO6jSkApaLbAOl99 +=ttHE +-----END PGP PUBLIC KEY BLOCK----- diff --git a/Mesa.spec b/Mesa.spec index 18e8ee2..5e61d73 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -22,7 +22,7 @@ %endif %define glamor 1 %define _name_archive mesa -%define _version 17.0.4 +%define _version 17.0.5 %define with_opencl 0 %define with_vulkan 0 %ifarch %ix86 x86_64 %arm aarch64 ppc ppc64 ppc64le s390x @@ -44,7 +44,7 @@ %endif %if 0%{gallium_loader} && 0%{?suse_version} >= 1330 # llvm >= 3.9 not provided for <= 1330 -%ifnarch %arm +%ifnarch %arm ppc # TODO Drop ifnarch %%arm once llvm4 has built in Factory %define with_opencl 1 %endif @@ -54,7 +54,7 @@ %endif Name: Mesa -Version: 17.0.4 +Version: 17.0.5 Release: 0 Summary: System for rendering interactive 3-D graphics License: MIT @@ -88,8 +88,7 @@ Patch32: archlinux_glvnd-fix-gl-dot-pc.patch Patch33: archlinux_0001-EGL-Implement-the-libglvnd-interface-for-EGL-v2.patch Patch34: archlinux_0002-fixup-EGL-Implement-the-libglvnd-interface-for-EGL-v.patch Patch35: fedora_0001-glxglvnddispatch-Add-missing-dispatch-for-GetDriverC.patch -# reverse-apply this to fix OpenGL support on s390x (bsc#1032272) -Patch40: U_draw-use-SoA-fetch-not-AoS-one.patch +Patch40: u_gallivm-correct-channel-shift-logic-on-big-endian.patch BuildRequires: autoconf >= 2.60 BuildRequires: automake @@ -663,10 +662,7 @@ rm -rf docs/README.{VMS,WIN32,OS2} %patch35 -p1 %endif -# reverse-apply this patch to fix OpenGL support on s390x (bsc#1032272) -%ifarch s390x -%patch40 -R -p1 -%endif +%patch40 -p1 # Remove requires to libglvnd0/libglvnd-devel from baselibs.conf when # disabling libglvnd build; ugly ... diff --git a/U_draw-use-SoA-fetch-not-AoS-one.patch b/U_draw-use-SoA-fetch-not-AoS-one.patch deleted file mode 100644 index 8d1bc51..0000000 --- a/U_draw-use-SoA-fetch-not-AoS-one.patch +++ /dev/null @@ -1,136 +0,0 @@ -From e827d9175675aaa6cfc0b981e2a80685fb7b3a74 Mon Sep 17 00:00:00 2001 -From: Roland Scheidegger -Date: Wed, 21 Dec 2016 04:43:07 +0100 -Subject: [PATCH] draw: use SoA fetch, not AoS one - -Now that there's some SoA fetch which never falls back, we should always get -results which are better or at least not worse (something like rgba32f will -stay the same). - -For cases which get way better, think something like R16_UNORM with 8-wide -vectors: this was 8 sign-extend fetches, 8 cvt, 8 muls, followed by -a couple of shuffles to stitch things together (if it is smart enough, -6 unpacks) and then a (8-wide) transpose (not sure if llvm could even -optimize the shuffles + transpose, since the 16bit values were actually -sign-extended to 128bit before being cast to a float vec, so that would be -another 8 unpacks). Now that is just 8 fetches (directly inserted into -vector, albeit there's one 128bit insert needed), 1 cvt, 1 mul. - -v2: ditch the old AoS code instead of just disabling it. - -Reviewed-by: Jose Fonseca ---- - src/gallium/auxiliary/draw/draw_llvm.c | 71 +++++++++++----------------------- - 1 file changed, 23 insertions(+), 48 deletions(-) - -diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c -index 19b75a5003..8952dc8d3b 100644 ---- a/src/gallium/auxiliary/draw/draw_llvm.c -+++ b/src/gallium/auxiliary/draw/draw_llvm.c -@@ -713,39 +713,6 @@ fetch_instanced(struct gallivm_state *gallivm, - - - static void --convert_to_soa(struct gallivm_state *gallivm, -- LLVMValueRef src_aos[LP_MAX_VECTOR_WIDTH / 32], -- LLVMValueRef dst_soa[TGSI_NUM_CHANNELS], -- const struct lp_type soa_type) --{ -- unsigned j, k; -- struct lp_type aos_channel_type = soa_type; -- -- LLVMValueRef aos_channels[TGSI_NUM_CHANNELS]; -- unsigned pixels_per_channel = soa_type.length / TGSI_NUM_CHANNELS; -- -- debug_assert(TGSI_NUM_CHANNELS == 4); -- debug_assert((soa_type.length % TGSI_NUM_CHANNELS) == 0); -- -- aos_channel_type.length >>= 1; -- -- for (j = 0; j < TGSI_NUM_CHANNELS; ++j) { -- LLVMValueRef channel[LP_MAX_VECTOR_LENGTH] = { 0 }; -- -- assert(pixels_per_channel <= LP_MAX_VECTOR_LENGTH); -- -- for (k = 0; k < pixels_per_channel; ++k) { -- channel[k] = src_aos[j + TGSI_NUM_CHANNELS * k]; -- } -- -- aos_channels[j] = lp_build_concat(gallivm, channel, aos_channel_type, pixels_per_channel); -- } -- -- lp_build_transpose_aos(gallivm, soa_type, aos_channels, dst_soa); --} -- -- --static void - fetch_vector(struct gallivm_state *gallivm, - const struct util_format_description *format_desc, - struct lp_type vs_type, -@@ -755,11 +722,10 @@ fetch_vector(struct gallivm_state *gallivm, - LLVMValueRef *inputs, - LLVMValueRef indices) - { -- LLVMValueRef zero = LLVMConstNull(LLVMInt32TypeInContext(gallivm->context)); - LLVMBuilderRef builder = gallivm->builder; - struct lp_build_context blduivec; -+ struct lp_type fetch_type = vs_type; - LLVMValueRef offset, valid_mask; -- LLVMValueRef aos_fetch[LP_MAX_VECTOR_WIDTH / 32]; - unsigned i; - - lp_build_context_init(&blduivec, gallivm, lp_uint_type(vs_type)); -@@ -783,28 +749,37 @@ fetch_vector(struct gallivm_state *gallivm, - } - - /* -- * Note: we probably really want to use SoA fetch, not AoS one (albeit -- * for most formats it will amount to the same as this isn't very -- * optimized). But looks dangerous since it assumes alignment. -+ * Unlike fetch_instanced, use SoA fetch instead of multiple AoS fetches. -+ * This should always produce better code. - */ -- for (i = 0; i < vs_type.length; i++) { -- LLVMValueRef offset1, elem; -- elem = lp_build_const_int32(gallivm, i); -- offset1 = LLVMBuildExtractElement(builder, offset, elem, ""); - -- aos_fetch[i] = lp_build_fetch_rgba_aos(gallivm, format_desc, -- lp_float32_vec4_type(), -- FALSE, map_ptr, offset1, -- zero, zero, NULL); -+ /* The type handling is annoying here... */ -+ if (format_desc->colorspace == UTIL_FORMAT_COLORSPACE_RGB && -+ format_desc->channel[0].pure_integer) { -+ if (format_desc->channel[0].type == UTIL_FORMAT_TYPE_SIGNED) { -+ fetch_type = lp_type_int_vec(vs_type.width, vs_type.width * vs_type.length); -+ } -+ else if (format_desc->channel[0].type == UTIL_FORMAT_TYPE_UNSIGNED) { -+ fetch_type = lp_type_uint_vec(vs_type.width, vs_type.width * vs_type.length); -+ } - } -- convert_to_soa(gallivm, aos_fetch, inputs, vs_type); -+ -+ lp_build_fetch_rgba_soa(gallivm, format_desc, -+ fetch_type, FALSE, map_ptr, offset, -+ blduivec.zero, blduivec.zero, -+ NULL, inputs); - - for (i = 0; i < TGSI_NUM_CHANNELS; i++) { -+ inputs[i] = LLVMBuildBitCast(builder, inputs[i], -+ lp_build_vec_type(gallivm, vs_type), ""); -+ } -+ -+ /* out-of-bound fetches return all zeros */ -+ for (i = 0; i < TGSI_NUM_CHANNELS; i++) { - inputs[i] = LLVMBuildBitCast(builder, inputs[i], blduivec.vec_type, ""); - inputs[i] = LLVMBuildAnd(builder, inputs[i], valid_mask, ""); - inputs[i] = LLVMBuildBitCast(builder, inputs[i], - lp_build_vec_type(gallivm, vs_type), ""); -- - } - } - --- -2.12.0 - diff --git a/baselibs.conf b/baselibs.conf index 6e4042a..ca9b47a 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -63,6 +63,7 @@ Mesa-libglapi-devel requires "Mesa-libglapi0- = " Mesa-libd3d provides "d3dadapter9.so.1" + requires "libvulkan_intel- = " Mesa-libd3d-devel requires "Mesa-libd3d- = " arch aarch64 ppc64 ppc64le s390x x86_64 package libvulkan_intel diff --git a/mesa-17.0.4.tar.xz b/mesa-17.0.4.tar.xz deleted file mode 100644 index 8682336..0000000 --- a/mesa-17.0.4.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1269dc8545a193932a0779b2db5bce9be4a5f6813b98c38b93b372be8362a346 -size 9454976 diff --git a/mesa-17.0.4.tar.xz.sig b/mesa-17.0.4.tar.xz.sig deleted file mode 100644 index 574ded6..0000000 Binary files a/mesa-17.0.4.tar.xz.sig and /dev/null differ diff --git a/mesa-17.0.5.tar.xz b/mesa-17.0.5.tar.xz new file mode 100644 index 0000000..f70a5c8 --- /dev/null +++ b/mesa-17.0.5.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:668efa445d2f57a26e5c096b1965a685733a3b57d9c736f9d6460263847f9bfe +size 9492760 diff --git a/mesa-17.0.5.tar.xz.sig b/mesa-17.0.5.tar.xz.sig new file mode 100644 index 0000000..533fafe Binary files /dev/null and b/mesa-17.0.5.tar.xz.sig differ diff --git a/u_gallivm-correct-channel-shift-logic-on-big-endian.patch b/u_gallivm-correct-channel-shift-logic-on-big-endian.patch new file mode 100644 index 0000000..f348f79 --- /dev/null +++ b/u_gallivm-correct-channel-shift-logic-on-big-endian.patch @@ -0,0 +1,42 @@ +From ab0e1e38ab9e8b23602af21d1b43e98afbf80e45 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Fri, 21 Apr 2017 15:22:14 -0400 +Subject: [PATCH] gallivm: correct channel shift logic on big endian + +lp_build_fetch_rgba_soa fetches a texel from a texture. +Part of that process involves first gathering the element +together from memory into a packed format, and then breaking +out the individual color channels into separate, parallel +arrays. + +The code fails to account for endianess when reading the packed +values. + +This commit attempts to correct the problem by reversing the order +the packed values are read on big endian systems. +--- + src/gallium/auxiliary/gallivm/lp_bld_format_soa.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c +index 98eb694..22c19b1 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c ++++ b/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c +@@ -650,7 +650,13 @@ lp_build_fetch_rgba_soa(struct gallivm_state *gallivm, + for (i = 0; i < format_desc->nr_channels; i++) { + struct util_format_channel_description chan_desc = format_desc->channel[i]; + unsigned blockbits = type.width; +- unsigned vec_nr = chan_desc.shift / type.width; ++ unsigned vec_nr; ++ ++#ifdef PIPE_ARCH_BIG_ENDIAN ++ vec_nr = (format_desc->block.bits - (chan_desc.shift + chan_desc.size)) / type.width; ++#else ++ vec_nr = chan_desc.shift / type.width; ++#endif + chan_desc.shift %= type.width; + + output[i] = lp_build_extract_soa_chan(&bld, +-- +1.8.3.1 +