diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8952971 --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +VERSION ?= 17.2.4 +SANITIZE ?= 1 + +DIRNAME = mesa-${VERSION} + +all: archive + +clean: + rm -rf $(DIRNAME)/ + rm -f mesa-${VERSION}.tar.xz + +clone: clean + curl -O https://mesa.freedesktop.org/archive/mesa-${VERSION}.tar.xz + tar xf mesa-${VERSION}.tar.xz + +sanitize: clone vl_mpeg12_decoder.c vl_decoder.c +ifdef SANITIZE + cat < vl_mpeg12_decoder.c > $(DIRNAME)/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c + cat < vl_decoder.c > $(DIRNAME)/src/gallium/auxiliary/vl/vl_decoder.c +endif + +archive: clone sanitize + tar cf ${DIRNAME}.tar.xz ${DIRNAME} diff --git a/mesa.spec b/mesa.spec index d603abd..b63e2d1 100644 --- a/mesa.spec +++ b/mesa.spec @@ -28,7 +28,7 @@ %define with_omx 1 %endif -%ifarch x86_64 +%ifarch %{ix86} x86_64 %define with_vulkan 1 %else %define with_vulkan 0 @@ -58,26 +58,29 @@ Name: mesa Summary: Mesa graphics libraries -Version: 17.2.2 +Version: 17.2.4 Release: 2%{?rctag:.%{rctag}}%{?dist} License: MIT URL: http://www.mesa3d.org -Source0: https://mesa.freedesktop.org/archive/%{name}-%{version}%{?rctag:-%{rctag}}.tar.xz +#Source0: https://mesa.freedesktop.org/archive/%{name}-%{version}%{?rctag:-%{rctag}}.tar.xz +Source0: %{name}-%{version}%{?rctag:-%{rctag}}.tar.xz Source1: vl_decoder.c Source2: vl_mpeg12_decoder.c +Source3: Makefile # src/gallium/auxiliary/postprocess/pp_mlaa* have an ... interestingly worded license. # Source4 contains email correspondence clarifying the license terms. # Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD. -Source3: Mesa-MLAA-License-Clarification-Email.txt +Source4: Mesa-MLAA-License-Clarification-Email.txt # https://cgit.freedesktop.org/~ajax/mesa/log/?h=mesa-17.2-s3tc -Patch0: 0001-mesa-Squash-merge-of-S3TC-support.patch +Patch0: 0001-mesa-Squash-merge-of-S3TC-support.patch Patch1: 0001-llvm-SONAME-without-version.patch Patch2: 0002-hardware-gloat.patch Patch3: 0003-evergreen-big-endian.patch Patch4: 0004-bigendian-assert.patch +Patch5: vc4-Don-t-advertise-tiled-dmabuf-modifiers-if-we-can-t-use-them.patch # glvnd support patches # non-upstreamed ones @@ -374,7 +377,7 @@ Headers for development with the Vulkan API. cp -f %{SOURCE2} src/gallium/auxiliary/vl/vl_mpeg12_decoder.c %endif -cp %{SOURCE3} docs/ +cp %{SOURCE4} docs/ # this is a hack for S3TC support. r200_screen.c is symlinked to # radeon_screen.c in git, but is its own file in the tarball. @@ -680,14 +683,37 @@ popd %files vulkan-drivers %{_libdir}/libvulkan_intel.so %{_libdir}/libvulkan_radeon.so +%ifarch x86_64 %{_datadir}/vulkan/icd.d/intel_icd.x86_64.json %{_datadir}/vulkan/icd.d/radeon_icd.x86_64.json +%else +%{_datadir}/vulkan/icd.d/intel_icd.i686.json +%{_datadir}/vulkan/icd.d/radeon_icd.i686.json +%endif %files vulkan-devel %{_includedir}/vulkan/ %endif %changelog +* Fri Nov 10 2017 Igor Gnatenko - 17.2.4-2 +- Sanitize tarball + +* Tue Oct 31 2017 Peter Robinson 17.2.4-1 +- Update to 17.2.4 GA + +* Mon Oct 23 2017 Tom Stellard - 17.2.3-2 +- Rebuild for LLVM 5.0.0 + +* Thu Oct 19 2017 Gwyn Ciesla - 17.2.3-1 +- 17.2.3, bugfix release. + +* Wed Oct 11 2017 Peter Robinson - 17.2.2-4 +- Fix for vc4/Raspberry Pi + +* Mon Oct 09 2017 Dave Airlie - 17.2.2-3 +- enable vulkan on 32-bit x86 + * Tue Oct 03 2017 Adam Jackson - 17.2.2-2 - Backport S3TC support from master diff --git a/sources b/sources index 4b84cf1..ab4c2b6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mesa-17.2.2.tar.xz) = 641342c68989b8d801c37e668b012d3b7c4ad43d8ca01b74f8cbb3a1ec25b7390f69fe7ebc84b29dab1c6a4ac01c882ec9fd4a6b331505629461bdbbe6aa3f7e +SHA512 (mesa-17.2.4.tar.xz) = 57310f9e6dc4dca582e00b74f3b886094560a590fdc21cf8fa810773bcfd0bddca574e46be8723cf69b201f73e66844691b72b4a05fdd9f46a355a92a165db70 diff --git a/vc4-Don-t-advertise-tiled-dmabuf-modifiers-if-we-can-t-use-them.patch b/vc4-Don-t-advertise-tiled-dmabuf-modifiers-if-we-can-t-use-them.patch new file mode 100644 index 0000000..ec4e993 --- /dev/null +++ b/vc4-Don-t-advertise-tiled-dmabuf-modifiers-if-we-can-t-use-them.patch @@ -0,0 +1,48 @@ +diff --git a/src/gallium/drivers/vc4/vc4_screen.c b/src/gallium/drivers/vc4/vc4_screen.c +index 5743e13045..b39cc744e6 100644 +--- a/src/gallium/drivers/vc4/vc4_screen.c ++++ b/src/gallium/drivers/vc4/vc4_screen.c +@@ -549,25 +549,30 @@ vc4_screen_query_dmabuf_modifiers(struct pipe_screen *pscreen, + unsigned int *external_only, + int *count) + { ++ int m, i; ++ uint64_t available_modifiers[] = { ++ DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED, ++ DRM_FORMAT_MOD_LINEAR, ++ }; ++ struct vc4_screen *screen = vc4_screen(pscreen); ++ int num_modifiers = screen->has_tiling_ioctl ? 2 : 1; ++ + if (!modifiers) { +- *count = 2; ++ *count = num_modifiers; + return; + } + +- *count = MIN2(max, 2); +- ++ *count = MIN2(max, num_modifiers); ++ m = screen->has_tiling_ioctl ? 0 : 1; + /* We support both modifiers (tiled and linear) for all sampler +- * formats. ++ * formats, but if we don't have the DRM_VC4_GET_TILING ioctl ++ * we shouldn't advertise the tiled formats. + */ +- modifiers[0] = DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED; +- if (external_only) +- external_only[0] = false; +- if (max < 2) +- return; +- +- modifiers[1] = DRM_FORMAT_MOD_LINEAR; +- if (external_only) +- external_only[1] = false; ++ for (i = 0; i < *count; i++) { ++ modifiers[i] = available_modifiers[m++]; ++ if (external_only) ++ external_only[i] = false; ++ } + } + + #define PTR_TO_UINT(x) ((unsigned)((intptr_t)(x)))