diff --git a/Mesa-drivers.changes b/Mesa-drivers.changes index 81566bd..613776b 100644 --- a/Mesa-drivers.changes +++ b/Mesa-drivers.changes @@ -1,3 +1,98 @@ +------------------------------------------------------------------- +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 8286b1a..16115d8 100644 --- a/Mesa-drivers.spec +++ b/Mesa-drivers.spec @@ -42,7 +42,7 @@ %define glamor 1 %define _name_archive mesa -%define _version 18.1.7 +%define _version 18.2.0 %define with_opencl 0 %define with_vulkan 0 %define with_llvm 0 @@ -112,7 +112,7 @@ %endif Name: Mesa-drivers -Version: 18.1.7 +Version: 18.2.0 Release: 0 Summary: System for rendering 3-D graphics License: MIT @@ -135,11 +135,14 @@ 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 @@ -178,6 +181,7 @@ 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) @@ -274,9 +278,6 @@ 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,24 +575,6 @@ 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) @@ -744,10 +727,12 @@ 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 ... @@ -846,11 +831,9 @@ 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 @@ -941,10 +924,6 @@ 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 @@ -1029,15 +1008,6 @@ 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 81566bd..613776b 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,98 @@ +------------------------------------------------------------------- +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 3d0cc35..d67d17a 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -41,7 +41,7 @@ %define glamor 1 %define _name_archive mesa -%define _version 18.1.7 +%define _version 18.2.0 %define with_opencl 0 %define with_vulkan 0 %define with_llvm 0 @@ -111,7 +111,7 @@ %endif Name: Mesa -Version: 18.1.7 +Version: 18.2.0 Release: 0 Summary: System for rendering 3-D graphics License: MIT @@ -134,11 +134,14 @@ 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 @@ -177,6 +180,7 @@ 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) @@ -273,9 +277,6 @@ 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 @@ -573,24 +574,6 @@ 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) @@ -743,10 +726,12 @@ 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 ... @@ -845,11 +830,9 @@ 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 @@ -940,10 +923,6 @@ 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 @@ -1028,15 +1007,6 @@ 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 new file mode 100644 index 0000000..78ed768 --- /dev/null +++ b/U_intel-aubinator-mark-ftruncate_res-as-MAYBE_UNUSED-i.patch @@ -0,0 +1,39 @@ +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 new file mode 100644 index 0000000..4e380fe --- /dev/null +++ b/U_intel-decoder-mark-total_length-as-MAYBE_UNUSED-in-g.patch @@ -0,0 +1,40 @@ +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 new file mode 100644 index 0000000..0132dd4 --- /dev/null +++ b/U_python-Fix-rich-comparisons.patch @@ -0,0 +1,100 @@ +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 new file mode 100644 index 0000000..ce33f30 --- /dev/null +++ b/U_python-Use-key-functions-when-sorting-containers.patch @@ -0,0 +1,61 @@ +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 7f07edd..f90a933 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -23,7 +23,6 @@ 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-" @@ -63,12 +62,6 @@ 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- = " @@ -105,7 +98,6 @@ 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 deleted file mode 100644 index c5a0690..0000000 --- a/mesa-18.1.7.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -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 deleted file mode 100644 index aeb93b6..0000000 --- a/mesa-18.1.7.tar.xz.sha1sum +++ /dev/null @@ -1 +0,0 @@ -8f86e16a1c03665e55bc284c0e4a5b0a953bcadc mesa-18.1.7.tar.xz diff --git a/mesa-18.2.0.tar.xz b/mesa-18.2.0.tar.xz new file mode 100644 index 0000000..8ecc054 --- /dev/null +++ b/mesa-18.2.0.tar.xz @@ -0,0 +1,3 @@ +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 new file mode 100644 index 0000000..6a4475a --- /dev/null +++ b/mesa-18.2.0.tar.xz.sha1sum @@ -0,0 +1 @@ +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 deleted file mode 100644 index 854bf64..0000000 --- a/u_intel_anv-make-scripts-python-2-3-compat.patch +++ /dev/null @@ -1,138 +0,0 @@ -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 deleted file mode 100644 index b3d34d3..0000000 --- a/u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch +++ /dev/null @@ -1,137 +0,0 @@ -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 -