diff --git a/Mesa-drivers.changes b/Mesa-drivers.changes index 613776b..81566bd 100644 --- a/Mesa-drivers.changes +++ b/Mesa-drivers.changes @@ -1,98 +1,3 @@ -------------------------------------------------------------------- -Tue Sep 11 13:28:26 UTC 2018 - sndirsch@suse.com - -- get rid of libwayland-egl1/libwayland-egl-devel completely; also - for older Leap versions - -------------------------------------------------------------------- -Mon Sep 10 13:29:24 UTC 2018 - sndirsch@suse.com - -- update to 18.2.0 - * This release consists of nearly 2200 commits from approximately - 130 developers. - * The top highlights include: - - OpenGL 4.3 on virgl. - - OpenGL 4.4 Compatibility profile on radeonsi. - - OpenGL ES 3.2 on radeonsi and virgl. - - GL_ARB_ES3_2_compatibility on radeonsi. - - GL_ARB_fragment_shader_interlock on i965. - - GL_ARB_sample_locations and GL_NV_sample_locations on nvc0 (GM200+). - - GL_ANDROID_extension_pack_es31a on radeonsi. - - GL_KHR_texture_compression_astc_ldr on radeonsi. - - GL_NV_conservative_raster and GL_NV_conservative_raster_dilate on - nvc0 (GM200+). - - GL_NV_conservative_raster_pre_snap_triangles on nvc0 (GP102+). - - multisampled images on nvc0 (GM107+) (now supported on GF100+). - * Additional features: - - ANV Extensions: - - VK_KHR_bind_memory2. - - VK_KHR_external_fence. - - VK_KHR_external_fence_capabilities. - - VK_KHR_external_semaphore. - - VK_KHR_external_semaphore_capabilities. - - VK_KHR_maintenance2. - - VK_KHR_maintenance3. - - VK_KHR_multiview. - - VK_KHR_relaxed_block_layout. - - VK_KHR_sampler_ycbcr_conversion. - - VK_KHR_8bit_storage. - - VK_KHR_create_renderpass2. - - VK_KHR_display. - - VK_KHR_display_swapchain. - - VK_KHR_external_fence_fd. - - VK_KHR_external_semaphore_fd. - - VK_KHR_get_display_properties2. - - VK_KHR_image_format_list. - - RADV Extensions: - - VK_KHR_bind_memory2. - - VK_KHR_external_fence. - - VK_KHR_external_fence_capabilities. - - VK_KHR_maintenance2. - - VK_KHR_maintenance3. - - VK_KHR_multiview. - - VK_KHR_relaxed_block_layout. - - VK_KHR_create_renderpass2. - - VK_KHR_display. - - VK_KHR_display_swapchain. - - VK_KHR_draw_indirect_count. - - VK_KHR_external_fence_fd. - - VK_KHR_get_display_properties2. - - VK_KHR_get_surface_capabilities2. - - VK_KHR_image_format_list. - - New GL extensions supported by all drivers: - - GL_OES_EGL_image_external. - - GL_OES_EGL_image_external_essl3. - - freedreno: - - GL 3.0's multisample anti-aliasing support on a5xx. - - GL_ARB_texture_multisample support on a5xx. - - GLES3.1's GS5 Packing/bitfield/conversion functions support on a5xx. - - Dynamically uniform UBO array indices. - - Packing/bitfield/conversion functions. - - Enhanced textureGather. - - GL_OES_texture_buffer. - - GL_ARB_seamless_cubemap_per_texture. - - i965: - - GL_OES_texture_view on gen8+. - - GL_EXT_texture_norm16. - - nouveau: - - GL_ARB_post_depth_coverage. - - GL_ARB_sample_locations. - - GL_EXT_texture_norm16. - - r600: - - GL_EXT_texture_norm16. - - radeonsi: - - GL_EXT_texture_norm16. - - virgl: - - GL_ARB_seamless_cubemap_per_texture. - - GL_ARB_shader_stencil_export. -- supersedes u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch, - u_intel_anv-make-scripts-python-2-3-compat.patch -- U_intel-decoder-mark-total_length-as-MAYBE_UNUSED-in-g.patch, - U_intel-aubinator-mark-ftruncate_res-as-MAYBE_UNUSED-i.patch, - U_python-Fix-rich-comparisons.patch, - U_python-Use-key-functions-when-sorting-containers.patch - * buildfixes ... - ------------------------------------------------------------------- Mon Aug 27 12:07:28 UTC 2018 - sndirsch@suse.com diff --git a/Mesa-drivers.spec b/Mesa-drivers.spec index 16115d8..8286b1a 100644 --- a/Mesa-drivers.spec +++ b/Mesa-drivers.spec @@ -42,7 +42,7 @@ %define glamor 1 %define _name_archive mesa -%define _version 18.2.0 +%define _version 18.1.7 %define with_opencl 0 %define with_vulkan 0 %define with_llvm 0 @@ -112,7 +112,7 @@ %endif Name: Mesa-drivers -Version: 18.2.0 +Version: 18.1.7 Release: 0 Summary: System for rendering 3-D graphics License: MIT @@ -135,14 +135,11 @@ Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch # currently needed for libglvnd support Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch # Upstream +Patch43: u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch +Patch44: u_intel_anv-make-scripts-python-2-3-compat.patch Patch47: u_st-dri-don-t-set-queryDmaBufFormats-queryDmaBufModif.patch Patch48: mako_4_radv.patch -Patch50: U_intel-decoder-mark-total_length-as-MAYBE_UNUSED-in-g.patch -Patch51: U_intel-aubinator-mark-ftruncate_res-as-MAYBE_UNUSED-i.patch -Patch52: U_python-Fix-rich-comparisons.patch -Patch53: U_python-Use-key-functions-when-sorting-containers.patch - BuildRequires: autoconf >= 2.60 BuildRequires: automake BuildRequires: fdupes @@ -181,7 +178,6 @@ BuildRequires: pkgconfig(xcb-present) BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) -BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xshmfence) BuildRequires: pkgconfig(xvmc) BuildRequires: pkgconfig(xxf86vm) @@ -278,6 +274,9 @@ Provides: s2tc-devel = %{version} Obsoletes: s2tc-devel < %{version} Provides: libtxc_dxtn-devel = %{version} Obsoletes: libtxc_dxtn-devel < %{version} +%if 0%{?suse_version} < 1550 && (0%{?suse_version} > 1320 || (0%{?sle_version} >= 120300 && 0%{?is_opensuse})) +Requires: libwayland-egl-devel +%endif %description devel Mesa is a 3-D graphics library with an API which is very similar to @@ -575,6 +574,24 @@ openwfd. This package provides the development environment for compiling programs against the GBM library. +%package -n libwayland-egl1 +Summary: Additional egl functions for wayland +Group: System/Libraries + +%description -n libwayland-egl1 +This package provides additional functions for egl-using programs +that run within the wayland framework. This allows for applications +that need not run full-screen and cooperate with a compositor. + +%package -n libwayland-egl-devel +Summary: Development files for libwayland-egl1 +Group: Development/Libraries/C and C++ +Requires: libwayland-egl1 = %{version} + +%description -n libwayland-egl-devel +This package is required to link wayland client applications to the EGL +implementation of Mesa. + %package -n Mesa-libd3d Summary: Mesa Direct3D9 state tracker # Manually provide d3d library (bnc#918294) @@ -727,12 +744,10 @@ rm -rf docs/README.{VMS,WIN32,OS2} %patch31 -p1 %endif +%patch43 -p1 +%patch44 -p1 %patch47 -p1 %patch48 -p1 -%patch50 -p1 -%patch51 -p1 -%patch52 -p1 -%patch53 -p1 # Remove requires to libglvnd/libglvnd-devel from baselibs.conf when # disabling libglvnd build; ugly ... @@ -831,9 +846,11 @@ make %{?_smp_mflags} V=1 %make_install find %{buildroot} -type f -name "*.la" -delete -print +%if !(0%{?suse_version} < 1550 && (0%{?suse_version} > 1320 || (0%{?sle_version} >= 120300 && 0%{?is_opensuse}))) # libwayland-egl is provided by wayland itself rm -f %{buildroot}/%{_libdir}/libwayland-egl.so* rm -f %{buildroot}/%{_libdir}/pkgconfig/wayland-egl.pc +%endif %if %{drivers} # Delete things that we do not package in the Mesa-drivers variant, but can @@ -924,6 +941,10 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen %postun libglapi0 -p /sbin/ldconfig +%post -n libwayland-egl1 -p /sbin/ldconfig + +%postun -n libwayland-egl1 -p /sbin/ldconfig + %post -n Mesa-libd3d -p /sbin/ldconfig %postun -n Mesa-libd3d -p /sbin/ldconfig @@ -1008,6 +1029,15 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen %{_libdir}/libOSMesa.so %{_libdir}/pkgconfig/osmesa.pc +%if 0%{?suse_version} < 1550 && (0%{?suse_version} > 1320 || (0%{?sle_version} >= 120300 && 0%{?is_opensuse})) +%files -n libwayland-egl1 +%{_libdir}/libwayland-egl.so.1* + +%files -n libwayland-egl-devel +%{_libdir}/libwayland-egl.so +%{_libdir}/pkgconfig/wayland-egl.pc +%endif + %files -n libgbm1 %{_libdir}/libgbm.so.1* diff --git a/Mesa.changes b/Mesa.changes index 613776b..81566bd 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,98 +1,3 @@ -------------------------------------------------------------------- -Tue Sep 11 13:28:26 UTC 2018 - sndirsch@suse.com - -- get rid of libwayland-egl1/libwayland-egl-devel completely; also - for older Leap versions - -------------------------------------------------------------------- -Mon Sep 10 13:29:24 UTC 2018 - sndirsch@suse.com - -- update to 18.2.0 - * This release consists of nearly 2200 commits from approximately - 130 developers. - * The top highlights include: - - OpenGL 4.3 on virgl. - - OpenGL 4.4 Compatibility profile on radeonsi. - - OpenGL ES 3.2 on radeonsi and virgl. - - GL_ARB_ES3_2_compatibility on radeonsi. - - GL_ARB_fragment_shader_interlock on i965. - - GL_ARB_sample_locations and GL_NV_sample_locations on nvc0 (GM200+). - - GL_ANDROID_extension_pack_es31a on radeonsi. - - GL_KHR_texture_compression_astc_ldr on radeonsi. - - GL_NV_conservative_raster and GL_NV_conservative_raster_dilate on - nvc0 (GM200+). - - GL_NV_conservative_raster_pre_snap_triangles on nvc0 (GP102+). - - multisampled images on nvc0 (GM107+) (now supported on GF100+). - * Additional features: - - ANV Extensions: - - VK_KHR_bind_memory2. - - VK_KHR_external_fence. - - VK_KHR_external_fence_capabilities. - - VK_KHR_external_semaphore. - - VK_KHR_external_semaphore_capabilities. - - VK_KHR_maintenance2. - - VK_KHR_maintenance3. - - VK_KHR_multiview. - - VK_KHR_relaxed_block_layout. - - VK_KHR_sampler_ycbcr_conversion. - - VK_KHR_8bit_storage. - - VK_KHR_create_renderpass2. - - VK_KHR_display. - - VK_KHR_display_swapchain. - - VK_KHR_external_fence_fd. - - VK_KHR_external_semaphore_fd. - - VK_KHR_get_display_properties2. - - VK_KHR_image_format_list. - - RADV Extensions: - - VK_KHR_bind_memory2. - - VK_KHR_external_fence. - - VK_KHR_external_fence_capabilities. - - VK_KHR_maintenance2. - - VK_KHR_maintenance3. - - VK_KHR_multiview. - - VK_KHR_relaxed_block_layout. - - VK_KHR_create_renderpass2. - - VK_KHR_display. - - VK_KHR_display_swapchain. - - VK_KHR_draw_indirect_count. - - VK_KHR_external_fence_fd. - - VK_KHR_get_display_properties2. - - VK_KHR_get_surface_capabilities2. - - VK_KHR_image_format_list. - - New GL extensions supported by all drivers: - - GL_OES_EGL_image_external. - - GL_OES_EGL_image_external_essl3. - - freedreno: - - GL 3.0's multisample anti-aliasing support on a5xx. - - GL_ARB_texture_multisample support on a5xx. - - GLES3.1's GS5 Packing/bitfield/conversion functions support on a5xx. - - Dynamically uniform UBO array indices. - - Packing/bitfield/conversion functions. - - Enhanced textureGather. - - GL_OES_texture_buffer. - - GL_ARB_seamless_cubemap_per_texture. - - i965: - - GL_OES_texture_view on gen8+. - - GL_EXT_texture_norm16. - - nouveau: - - GL_ARB_post_depth_coverage. - - GL_ARB_sample_locations. - - GL_EXT_texture_norm16. - - r600: - - GL_EXT_texture_norm16. - - radeonsi: - - GL_EXT_texture_norm16. - - virgl: - - GL_ARB_seamless_cubemap_per_texture. - - GL_ARB_shader_stencil_export. -- supersedes u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch, - u_intel_anv-make-scripts-python-2-3-compat.patch -- U_intel-decoder-mark-total_length-as-MAYBE_UNUSED-in-g.patch, - U_intel-aubinator-mark-ftruncate_res-as-MAYBE_UNUSED-i.patch, - U_python-Fix-rich-comparisons.patch, - U_python-Use-key-functions-when-sorting-containers.patch - * buildfixes ... - ------------------------------------------------------------------- Mon Aug 27 12:07:28 UTC 2018 - sndirsch@suse.com diff --git a/Mesa.spec b/Mesa.spec index d67d17a..3d0cc35 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -41,7 +41,7 @@ %define glamor 1 %define _name_archive mesa -%define _version 18.2.0 +%define _version 18.1.7 %define with_opencl 0 %define with_vulkan 0 %define with_llvm 0 @@ -111,7 +111,7 @@ %endif Name: Mesa -Version: 18.2.0 +Version: 18.1.7 Release: 0 Summary: System for rendering 3-D graphics License: MIT @@ -134,14 +134,11 @@ Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch # currently needed for libglvnd support Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch # Upstream +Patch43: u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch +Patch44: u_intel_anv-make-scripts-python-2-3-compat.patch Patch47: u_st-dri-don-t-set-queryDmaBufFormats-queryDmaBufModif.patch Patch48: mako_4_radv.patch -Patch50: U_intel-decoder-mark-total_length-as-MAYBE_UNUSED-in-g.patch -Patch51: U_intel-aubinator-mark-ftruncate_res-as-MAYBE_UNUSED-i.patch -Patch52: U_python-Fix-rich-comparisons.patch -Patch53: U_python-Use-key-functions-when-sorting-containers.patch - BuildRequires: autoconf >= 2.60 BuildRequires: automake BuildRequires: fdupes @@ -180,7 +177,6 @@ BuildRequires: pkgconfig(xcb-present) BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) -BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xshmfence) BuildRequires: pkgconfig(xvmc) BuildRequires: pkgconfig(xxf86vm) @@ -277,6 +273,9 @@ Provides: s2tc-devel = %{version} Obsoletes: s2tc-devel < %{version} Provides: libtxc_dxtn-devel = %{version} Obsoletes: libtxc_dxtn-devel < %{version} +%if 0%{?suse_version} < 1550 && (0%{?suse_version} > 1320 || (0%{?sle_version} >= 120300 && 0%{?is_opensuse})) +Requires: libwayland-egl-devel +%endif %description devel Mesa is a 3-D graphics library with an API which is very similar to @@ -574,6 +573,24 @@ openwfd. This package provides the development environment for compiling programs against the GBM library. +%package -n libwayland-egl1 +Summary: Additional egl functions for wayland +Group: System/Libraries + +%description -n libwayland-egl1 +This package provides additional functions for egl-using programs +that run within the wayland framework. This allows for applications +that need not run full-screen and cooperate with a compositor. + +%package -n libwayland-egl-devel +Summary: Development files for libwayland-egl1 +Group: Development/Libraries/C and C++ +Requires: libwayland-egl1 = %{version} + +%description -n libwayland-egl-devel +This package is required to link wayland client applications to the EGL +implementation of Mesa. + %package -n Mesa-libd3d Summary: Mesa Direct3D9 state tracker # Manually provide d3d library (bnc#918294) @@ -726,12 +743,10 @@ rm -rf docs/README.{VMS,WIN32,OS2} %patch31 -p1 %endif +%patch43 -p1 +%patch44 -p1 %patch47 -p1 %patch48 -p1 -%patch50 -p1 -%patch51 -p1 -%patch52 -p1 -%patch53 -p1 # Remove requires to libglvnd/libglvnd-devel from baselibs.conf when # disabling libglvnd build; ugly ... @@ -830,9 +845,11 @@ make %{?_smp_mflags} V=1 %make_install find %{buildroot} -type f -name "*.la" -delete -print +%if !(0%{?suse_version} < 1550 && (0%{?suse_version} > 1320 || (0%{?sle_version} >= 120300 && 0%{?is_opensuse}))) # libwayland-egl is provided by wayland itself rm -f %{buildroot}/%{_libdir}/libwayland-egl.so* rm -f %{buildroot}/%{_libdir}/pkgconfig/wayland-egl.pc +%endif %if %{drivers} # Delete things that we do not package in the Mesa-drivers variant, but can @@ -923,6 +940,10 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen %postun libglapi0 -p /sbin/ldconfig +%post -n libwayland-egl1 -p /sbin/ldconfig + +%postun -n libwayland-egl1 -p /sbin/ldconfig + %post -n Mesa-libd3d -p /sbin/ldconfig %postun -n Mesa-libd3d -p /sbin/ldconfig @@ -1007,6 +1028,15 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen %{_libdir}/libOSMesa.so %{_libdir}/pkgconfig/osmesa.pc +%if 0%{?suse_version} < 1550 && (0%{?suse_version} > 1320 || (0%{?sle_version} >= 120300 && 0%{?is_opensuse})) +%files -n libwayland-egl1 +%{_libdir}/libwayland-egl.so.1* + +%files -n libwayland-egl-devel +%{_libdir}/libwayland-egl.so +%{_libdir}/pkgconfig/wayland-egl.pc +%endif + %files -n libgbm1 %{_libdir}/libgbm.so.1* diff --git a/U_intel-aubinator-mark-ftruncate_res-as-MAYBE_UNUSED-i.patch b/U_intel-aubinator-mark-ftruncate_res-as-MAYBE_UNUSED-i.patch deleted file mode 100644 index 78ed768..0000000 --- a/U_intel-aubinator-mark-ftruncate_res-as-MAYBE_UNUSED-i.patch +++ /dev/null @@ -1,39 +0,0 @@ -From ccdefbb559a60c2560118d253a9eaeffd1e94eb6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Kai=20Wasserb=C3=A4ch?= -Date: Sat, 18 Aug 2018 13:16:11 +0200 -Subject: [PATCH] intel: aubinator: mark ftruncate_res as MAYBE_UNUSED in - ensure_phys_mem -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Only used, when asserts are enabled. - -Fixes an unused-variable warning with GCC 8: - ../../../src/intel/tools/aubinator.c: In function 'ensure_phys_mem': - ../../../src/intel/tools/aubinator.c:209:11: warning: unused variable 'ftruncate_res' [-Wunused-variable] - int ftruncate_res = ftruncate(mem_fd, mem_fd_len += 4096); - ^~~~~~~~~~~~~ - -Signed-off-by: Kai Wasserbäch -Reviewed-by: Lionel Landwerlin ---- - src/intel/tools/aubinator.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/intel/tools/aubinator.c b/src/intel/tools/aubinator.c -index 9a3b1d1ef1..66a7db1043 100644 ---- a/src/intel/tools/aubinator.c -+++ b/src/intel/tools/aubinator.c -@@ -206,7 +206,7 @@ ensure_phys_mem(uint64_t phys_addr) - new_mem->phys_addr = phys_addr; - new_mem->fd_offset = mem_fd_len; - -- int ftruncate_res = ftruncate(mem_fd, mem_fd_len += 4096); -+ MAYBE_UNUSED int ftruncate_res = ftruncate(mem_fd, mem_fd_len += 4096); - assert(ftruncate_res == 0); - - new_mem->data = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, --- -2.16.4 - diff --git a/U_intel-decoder-mark-total_length-as-MAYBE_UNUSED-in-g.patch b/U_intel-decoder-mark-total_length-as-MAYBE_UNUSED-in-g.patch deleted file mode 100644 index 4e380fe..0000000 --- a/U_intel-decoder-mark-total_length-as-MAYBE_UNUSED-in-g.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 5fab32ddad8b32c4a05517c43623653f8634c4d9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Kai=20Wasserb=C3=A4ch?= -Date: Sat, 18 Aug 2018 13:16:15 +0200 -Subject: [PATCH] intel/decoder: mark total_length as MAYBE_UNUSED in - gen_spec_load -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Only used, when asserts are enabled. - -Fixes an unused-variable warning with GCC 8: - ../../../src/intel/common/gen_decoder.c: In function 'gen_spec_load': - ../../../src/intel/common/gen_decoder.c:535:47: warning: variable 'total_length' set but not used [-Wunused-but-set-variable] - uint32_t text_offset = 0, text_length = 0, total_length; - ^~~~~~~~~~~~ - -Signed-off-by: Kai Wasserbäch -Reviewed-by: Lionel Landwerlin ---- - src/intel/common/gen_decoder.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/intel/common/gen_decoder.c b/src/intel/common/gen_decoder.c -index ec0a486b10..c14c23aad1 100644 ---- a/src/intel/common/gen_decoder.c -+++ b/src/intel/common/gen_decoder.c -@@ -532,7 +532,8 @@ gen_spec_load(const struct gen_device_info *devinfo) - struct parser_context ctx; - void *buf; - uint8_t *text_data = NULL; -- uint32_t text_offset = 0, text_length = 0, total_length; -+ uint32_t text_offset = 0, text_length = 0; -+ MAYBE_UNUSED uint32_t total_length; - uint32_t gen_10 = devinfo_to_gen(devinfo); - - for (int i = 0; i < ARRAY_SIZE(genxml_files_table); i++) { --- -2.16.4 - diff --git a/U_python-Fix-rich-comparisons.patch b/U_python-Fix-rich-comparisons.patch deleted file mode 100644 index 0132dd4..0000000 --- a/U_python-Fix-rich-comparisons.patch +++ /dev/null @@ -1,100 +0,0 @@ -From e1b88aee680bbdadd283b4a26db74672bb130df5 Mon Sep 17 00:00:00 2001 -From: Mathieu Bridon -Date: Tue, 17 Jul 2018 22:57:39 +0200 -Subject: [PATCH] python: Fix rich comparisons - -Python 3 doesn't call objects __cmp__() methods any more to compare -them. Instead, it requires implementing the rich comparison methods -explicitly: __eq__(), __ne(), __lt__(), __le__(), __gt__() and __ge__(). - -Fortunately Python 2 also supports those. - -This commit only implements the comparison methods which are actually -used by the build scripts. - -Signed-off-by: Mathieu Bridon -Reviewed-by: Dylan Baker ---- - src/amd/vulkan/radv_extensions.py | 5 +++-- - src/intel/vulkan/anv_extensions.py | 5 +++-- - src/mapi/mapi_abi.py | 15 +++++++-------- - 3 files changed, 13 insertions(+), 12 deletions(-) - -diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py -index 15d29becfd..8b5eee867a 100644 ---- a/src/amd/vulkan/radv_extensions.py -+++ b/src/amd/vulkan/radv_extensions.py -@@ -147,14 +147,15 @@ class VkVersion: - patch = self.patch if self.patch is not None else 0 - return (self.major << 22) | (self.minor << 12) | patch - -- def __cmp__(self, other): -+ def __gt__(self, other): - # If only one of them has a patch version, "ignore" it by making - # other's patch version match self. - if (self.patch is None) != (other.patch is None): - other = copy.copy(other) - other.patch = self.patch - -- return self.__int_ver().__cmp__(other.__int_ver()) -+ return self.__int_ver() > other.__int_ver() -+ - - MAX_API_VERSION = VkVersion(MAX_API_VERSION) - -diff --git a/src/intel/vulkan/anv_extensions.py b/src/intel/vulkan/anv_extensions.py -index cffc3e700c..9a65aed1c4 100644 ---- a/src/intel/vulkan/anv_extensions.py -+++ b/src/intel/vulkan/anv_extensions.py -@@ -160,14 +160,15 @@ class VkVersion: - patch = self.patch if self.patch is not None else 0 - return (self.major << 22) | (self.minor << 12) | patch - -- def __cmp__(self, other): -+ def __gt__(self, other): - # If only one of them has a patch version, "ignore" it by making - # other's patch version match self. - if (self.patch is None) != (other.patch is None): - other = copy.copy(other) - other.patch = self.patch - -- return self.__int_ver().__cmp__(other.__int_ver()) -+ return self.__int_ver() > other.__int_ver() -+ - - - MAX_API_VERSION = VkVersion('0.0.0') -diff --git a/src/mapi/mapi_abi.py b/src/mapi/mapi_abi.py -index be1d15d922..e4ce2b6caf 100644 ---- a/src/mapi/mapi_abi.py -+++ b/src/mapi/mapi_abi.py -@@ -121,19 +121,18 @@ class ABIEntry(object): - def __str__(self): - return self.c_prototype() - -- def __cmp__(self, other): -+ def __lt__(self, other): - # compare slot, alias, and then name -- res = cmp(self.slot, other.slot) -- if not res: -+ if self.slot == other.slot: - if not self.alias: -- res = -1 -+ return True - elif not other.alias: -- res = 1 -+ return False - -- if not res: -- res = cmp(self.name, other.name) -+ return self.name < other.name -+ -+ return self.slot < other.slot - -- return res - - def abi_parse_xml(xml): - """Parse a GLAPI XML file for ABI entries.""" --- -2.16.4 - diff --git a/U_python-Use-key-functions-when-sorting-containers.patch b/U_python-Use-key-functions-when-sorting-containers.patch deleted file mode 100644 index ce33f30..0000000 --- a/U_python-Use-key-functions-when-sorting-containers.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 8d3ff6244c7cc5a8399afcf0d1d98d7fd8148452 Mon Sep 17 00:00:00 2001 -From: Mathieu Bridon -Date: Thu, 9 Aug 2018 10:27:23 +0200 -Subject: [PATCH] python: Use key-functions when sorting containers - -In Python 2, the traditional way to sort containers was to use a -comparison function (which returned either -1, 0 or 1 when passed two -objects) and pass that as the "cmp" argument to the container's sort() -method. - -Python 2.4 introduced key-functions, which instead only operate on a -given item, and return a sorting key for this item. - -In general, this runs faster, because the cmp-function has to get run -multiple times for each item of the container. - -Python 3 removed the cmp-function, enforcing usage of key-functions -instead. - -This change makes the script compatible with Python 2 and Python 3. - -Signed-off-by: Mathieu Bridon -Reviewed-by: Eric Engestrom -Reviewed-by: Dylan Baker ---- - src/mapi/mapi_abi.py | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/mapi/mapi_abi.py b/src/mapi/mapi_abi.py -index e4ce2b6caf..d4c48ec430 100644 ---- a/src/mapi/mapi_abi.py -+++ b/src/mapi/mapi_abi.py -@@ -32,6 +32,7 @@ import os - GLAPI = os.path.join(".", os.path.dirname(sys.argv[0]), "glapi/gen") - sys.path.append(GLAPI) - -+from operator import attrgetter - import re - from optparse import OptionParser - import gl_XML -@@ -291,7 +292,7 @@ class ABIPrinter(object): - - # sort entries by their names - self.entries_sorted_by_names = self.entries[:] -- self.entries_sorted_by_names.sort(lambda x, y: cmp(x.name, y.name)) -+ self.entries_sorted_by_names.sort(key=attrgetter('name')) - - self.indent = ' ' * 3 - self.noop_warn = 'noop_warn' -@@ -441,7 +442,7 @@ class ABIPrinter(object): - """Return the string pool for use by stubs.""" - # sort entries by their names - sorted_entries = self.entries[:] -- sorted_entries.sort(lambda x, y: cmp(x.name, y.name)) -+ sorted_entries.sort(key=attrgetter('name')) - - pool = [] - offsets = {} --- -2.16.4 - diff --git a/baselibs.conf b/baselibs.conf index f90a933..7f07edd 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -23,6 +23,7 @@ Mesa-devel requires "Mesa-libglapi-devel- = " requires "libOSMesa-devel- = " requires "libgbm-devel- = " + requires "libwayland-egl-devel- = " requires "libglvnd-devel- >= 0.1.0" obsoletes "XFree86-Mesa-devel- xorg-x11-Mesa-devel-" provides "XFree86-Mesa-devel- xorg-x11-Mesa-devel-" @@ -62,6 +63,12 @@ libOSMesa-devel libgbm1 libgbm-devel requires "libgbm1- = " +libwayland-egl-devel + targetarch aarch64 requires "libwayland-egl1- = " + targetarch ppc64 requires "libwayland-egl1- = " + targetarch ppc64le requires "libwayland-egl1- = " + targetarch s390x requires "libwayland-egl1- = " + targetarch x86_64 requires "libwayland-egl1- = " Mesa-libglapi0 Mesa-libglapi-devel requires "Mesa-libglapi0- = " @@ -98,6 +105,7 @@ libvdpau_nouveau libvdpau_r300 libvdpau_r600 libvdpau_radeonsi +libwayland-egl1 Mesa-dri-vc4 Mesa-dri-nouveau Mesa-dri diff --git a/mesa-18.1.7.tar.xz b/mesa-18.1.7.tar.xz new file mode 100644 index 0000000..c5a0690 --- /dev/null +++ b/mesa-18.1.7.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:655e3b32ce3bdddd5e6e8768596e5d4bdef82d0dd37067c324cc4b2daa207306 +size 11136580 diff --git a/mesa-18.1.7.tar.xz.sha1sum b/mesa-18.1.7.tar.xz.sha1sum new file mode 100644 index 0000000..aeb93b6 --- /dev/null +++ b/mesa-18.1.7.tar.xz.sha1sum @@ -0,0 +1 @@ +8f86e16a1c03665e55bc284c0e4a5b0a953bcadc mesa-18.1.7.tar.xz diff --git a/mesa-18.2.0.tar.xz b/mesa-18.2.0.tar.xz deleted file mode 100644 index 8ecc054..0000000 --- a/mesa-18.2.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:22452bdffff8e11bf4284278155a9f77cb28d6d73a12c507f1490732d0d9ddce -size 11331164 diff --git a/mesa-18.2.0.tar.xz.sha1sum b/mesa-18.2.0.tar.xz.sha1sum deleted file mode 100644 index 6a4475a..0000000 --- a/mesa-18.2.0.tar.xz.sha1sum +++ /dev/null @@ -1 +0,0 @@ -73723d9f3815487f474d84eb91a5cd17edfb63d4 mesa-18.2.0.tar.xz diff --git a/u_intel_anv-make-scripts-python-2-3-compat.patch b/u_intel_anv-make-scripts-python-2-3-compat.patch new file mode 100644 index 0000000..854bf64 --- /dev/null +++ b/u_intel_anv-make-scripts-python-2-3-compat.patch @@ -0,0 +1,138 @@ +Index: mesa-18.1.0-rc1/src/intel/vulkan/anv_extensions.py +=================================================================== +--- mesa-18.1.0-rc1.orig/src/intel/vulkan/anv_extensions.py ++++ mesa-18.1.0-rc1/src/intel/vulkan/anv_extensions.py +@@ -29,13 +29,15 @@ import copy + import re + import xml.etree.cElementTree as et + ++ + def _bool_to_c_expr(b): + if b is True: +- return 'true'; ++ return 'true' + elif b is False: +- return 'false'; ++ return 'false' + else: +- return b; ++ return b ++ + + class Extension: + def __init__(self, name, ext_version, enable): +@@ -43,11 +45,13 @@ class Extension: + self.ext_version = int(ext_version) + self.enable = _bool_to_c_expr(enable) + ++ + class ApiVersion: + def __init__(self, max_patch_version, enable): + self.max_patch_version = max_patch_version + self.enable = _bool_to_c_expr(enable) + ++ + # Supported API versions. Each one is the maximum patch version for the given + # version. Version come in increasing order and each version is available if + # it's provided "enable" condition is true and all previous versions are +@@ -60,7 +64,7 @@ API_VERSIONS = [ + ApiVersion('1.1.0', 'device->has_syncobj_wait'), + ] + +-MAX_API_VERSION = None # Computed later ++MAX_API_VERSION = None # Computed later + + # On Android, we disable all surface and swapchain extensions. Android's Vulkan + # loader implements VK_KHR_surface and VK_KHR_swapchain, and applications +@@ -113,6 +117,7 @@ EXTENSIONS = [ + 'device->has_context_priority'), + ] + ++ + class VkVersion: + def __init__(self, string): + split = string.split('.') +@@ -146,14 +151,59 @@ class VkVersion: + patch = self.patch if self.patch is not None else 0 + return (self.major << 22) | (self.minor << 12) | patch + +- def __cmp__(self, other): ++ def __eq__(self, other): ++ # If only one of them has a patch version, "ignore" it by making ++ # other's patch version match self. ++ if (self.patch is None) != (other.patch is None): ++ other = copy.copy(other) ++ other.patch = self.patch ++ ++ return self.__int_ver() == other.__int_ver() ++ ++ def __ne__(self, other): ++ # If only one of them has a patch version, "ignore" it by making ++ # other's patch version match self. ++ if (self.patch is None) != (other.patch is None): ++ other = copy.copy(other) ++ other.patch = self.patch ++ ++ return self.__int_ver() != other.__int_ver() ++ ++ def __lt__(self, other): ++ # If only one of them has a patch version, "ignore" it by making ++ # other's patch version match self. ++ if (self.patch is None) != (other.patch is None): ++ other = copy.copy(other) ++ other.patch = self.patch ++ ++ return self.__int_ver() < other.__int_ver() ++ ++ def __le__(self, other): ++ # If only one of them has a patch version, "ignore" it by making ++ # other's patch version match self. ++ if (self.patch is None) != (other.patch is None): ++ other = copy.copy(other) ++ other.patch = self.patch ++ ++ return self.__int_ver() <= other.__int_ver() ++ ++ def __ge__(self, other): ++ # If only one of them has a patch version, "ignore" it by making ++ # other's patch version match self. ++ if (self.patch is None) != (other.patch is None): ++ other = copy.copy(other) ++ other.patch = self.patch ++ ++ return self.__int_ver() >= other.__int_ver() ++ ++ def __gt__(self, other): + # If only one of them has a patch version, "ignore" it by making + # other's patch version match self. + if (self.patch is None) != (other.patch is None): + other = copy.copy(other) + other.patch = self.patch + +- return self.__int_ver().__cmp__(other.__int_ver()) ++ return self.__int_ver() > other.__int_ver() + + + MAX_API_VERSION = VkVersion('0.0.0') +Index: mesa-18.1.0-rc1/src/intel/vulkan/anv_entrypoints_gen.py +=================================================================== +--- mesa-18.1.0-rc1.orig/src/intel/vulkan/anv_entrypoints_gen.py ++++ mesa-18.1.0-rc1/src/intel/vulkan/anv_entrypoints_gen.py +@@ -145,7 +145,7 @@ static const struct string_map_entry str + /* Hash table stats: + * size ${len(strmap.sorted_strings)} entries + * collisions entries: +-% for i in xrange(10): ++% for i in range(10): + * ${i}${'+' if i == 9 else ' '} ${strmap.collisions[i]} + % endfor + */ +@@ -507,7 +507,7 @@ def get_entrypoints(doc, entrypoints_to_ + assert e.core_version is None + e.extensions.append(ext) + +- return [e for e in entrypoints.itervalues() if e.enabled] ++ return [e for e in entrypoints.values() if e.enabled] + + + def get_entrypoints_defines(doc): diff --git a/u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch b/u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch new file mode 100644 index 0000000..b3d34d3 --- /dev/null +++ b/u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch @@ -0,0 +1,137 @@ +From 62f6252476505bf556d1ad9e7c58cf7c1c6e510c Mon Sep 17 00:00:00 2001 +From: Stefan Dirsch +Date: Thu, 1 Mar 2018 16:38:37 +0100 +Subject: [PATCH] r600/egd_tables.py: make the script python 2+3 compatible + +Patch by "Tomas Chvatal" with modifications +by "Michal Srb" to not break python 2. + +https://bugzilla.suse.com/show_bug.cgi?id=1082303 + +v2: +- no longer try to encode a unicode +- make use of 'from __future__ import print_function', so semantics + of print statements in python2 are closer to print functions in python3 + +https://lists.freedesktop.org/archives/mesa-dev/2018-February/187056.html + +Signed-off-by: Stefan Dirsch +Reviewed-by: Tomas Chvatal +Reviewed-by: Dylan Baker +--- + src/gallium/drivers/r600/egd_tables.py | 53 +++++++++++++++++----------------- + 1 file changed, 27 insertions(+), 26 deletions(-) + +diff --git a/src/gallium/drivers/r600/egd_tables.py b/src/gallium/drivers/r600/egd_tables.py +index d7b78c7fb1..4796456330 100644 +--- a/src/gallium/drivers/r600/egd_tables.py ++++ b/src/gallium/drivers/r600/egd_tables.py +@@ -1,3 +1,4 @@ ++from __future__ import print_function + + CopyRight = ''' + /* +@@ -60,7 +61,7 @@ class StringTable: + """ + fragments = [ + '"%s\\0" /* %s */' % ( +- te[0].encode('string_escape'), ++ te[0], + ', '.join(str(idx) for idx in te[2]) + ) + for te in self.table +@@ -217,10 +218,10 @@ def write_tables(regs, packets): + strings = StringTable() + strings_offsets = IntTable("int") + +- print '/* This file is autogenerated by egd_tables.py from evergreend.h. Do not edit directly. */' +- print +- print CopyRight.strip() +- print ''' ++ print('/* This file is autogenerated by egd_tables.py from evergreend.h. Do not edit directly. */') ++ print('') ++ print(CopyRight.strip()) ++ print(''' + #ifndef EG_TABLES_H + #define EG_TABLES_H + +@@ -242,20 +243,20 @@ struct eg_packet3 { + unsigned name_offset; + unsigned op; + }; +-''' ++''') + +- print 'static const struct eg_packet3 packet3_table[] = {' ++ print('static const struct eg_packet3 packet3_table[] = {') + for pkt in packets: +- print '\t{%s, %s},' % (strings.add(pkt[5:]), pkt) +- print '};' +- print ++ print('\t{%s, %s},' % (strings.add(pkt[5:]), pkt)) ++ print('};') ++ print('') + +- print 'static const struct eg_field egd_fields_table[] = {' ++ print('static const struct eg_field egd_fields_table[] = {') + + fields_idx = 0 + for reg in regs: + if len(reg.fields) and reg.own_fields: +- print '\t/* %s */' % (fields_idx) ++ print('\t/* %s */' % (fields_idx)) + + reg.fields_idx = fields_idx + +@@ -266,34 +267,34 @@ struct eg_packet3 { + while value[1] >= len(values_offsets): + values_offsets.append(-1) + values_offsets[value[1]] = strings.add(strip_prefix(value[0])) +- print '\t{%s, %s(~0u), %s, %s},' % ( ++ print('\t{%s, %s(~0u), %s, %s},' % ( + strings.add(field.name), field.s_name, +- len(values_offsets), strings_offsets.add(values_offsets)) ++ len(values_offsets), strings_offsets.add(values_offsets))) + else: +- print '\t{%s, %s(~0u)},' % (strings.add(field.name), field.s_name) ++ print('\t{%s, %s(~0u)},' % (strings.add(field.name), field.s_name)) + fields_idx += 1 + +- print '};' +- print ++ print('};') ++ print('') + +- print 'static const struct eg_reg egd_reg_table[] = {' ++ print('static const struct eg_reg egd_reg_table[] = {') + for reg in regs: + if len(reg.fields): +- print '\t{%s, %s, %s, %s},' % (strings.add(reg.name), reg.r_name, +- len(reg.fields), reg.fields_idx if reg.own_fields else reg.fields_owner.fields_idx) ++ print('\t{%s, %s, %s, %s},' % (strings.add(reg.name), reg.r_name, ++ len(reg.fields), reg.fields_idx if reg.own_fields else reg.fields_owner.fields_idx)) + else: +- print '\t{%s, %s},' % (strings.add(reg.name), reg.r_name) +- print '};' +- print ++ print('\t{%s, %s},' % (strings.add(reg.name), reg.r_name)) ++ print('};') ++ print('') + + strings.emit(sys.stdout, "egd_strings") + +- print ++ print('') + + strings_offsets.emit(sys.stdout, "egd_strings_offsets") + +- print +- print '#endif' ++ print('') ++ print('#endif') + + + def main(): +-- +2.13.6 +