Merge branch 'f27' into f26

This commit is contained in:
Igor Gnatenko 2017-11-10 18:34:02 +01:00
commit 9d5c464262
4 changed files with 104 additions and 7 deletions

23
Makefile Normal file
View file

@ -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}

View file

@ -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,18 +58,20 @@
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
@ -78,6 +80,7 @@ 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 <ignatenkobrain@fedoraproject.org> - 17.2.4-2
- Sanitize tarball
* Tue Oct 31 2017 Peter Robinson <pbrobinson@fedoraproject.org> 17.2.4-1
- Update to 17.2.4 GA
* Mon Oct 23 2017 Tom Stellard <tstellar@redhat.com> - 17.2.3-2
- Rebuild for LLVM 5.0.0
* Thu Oct 19 2017 Gwyn Ciesla <limburgher@gmail.com> - 17.2.3-1
- 17.2.3, bugfix release.
* Wed Oct 11 2017 Peter Robinson <pbrobinson@fedoraproject.org> - 17.2.2-4
- Fix for vc4/Raspberry Pi
* Mon Oct 09 2017 Dave Airlie <airlied@redhat.com> - 17.2.2-3
- enable vulkan on 32-bit x86
* Tue Oct 03 2017 Adam Jackson <ajax@redhat.com> - 17.2.2-2
- Backport S3TC support from master

View file

@ -1 +1 @@
SHA512 (mesa-17.2.2.tar.xz) = 641342c68989b8d801c37e668b012d3b7c4ad43d8ca01b74f8cbb3a1ec25b7390f69fe7ebc84b29dab1c6a4ac01c882ec9fd4a6b331505629461bdbbe6aa3f7e
SHA512 (mesa-17.2.4.tar.xz) = 57310f9e6dc4dca582e00b74f3b886094560a590fdc21cf8fa810773bcfd0bddca574e46be8723cf69b201f73e66844691b72b4a05fdd9f46a355a92a165db70

View file

@ -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)))