From 14bdcf40fb54c8ec4fa2c9baae061bf9cd43c233 Mon Sep 17 00:00:00 2001 From: rdb Date: Wed, 12 Jan 2022 10:22:52 +0100 Subject: [PATCH 1/7] Bump version number on release/1.10.x branch to 1.10.12 --- dtool/PandaVersion.pp | 2 +- setup.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dtool/PandaVersion.pp b/dtool/PandaVersion.pp index d5cc7fea53..4b071d3777 100644 --- a/dtool/PandaVersion.pp +++ b/dtool/PandaVersion.pp @@ -7,7 +7,7 @@ // place to put this. // Use spaces to separate the major, minor, and sequence numbers here. -#define PANDA_VERSION 1 10 11 +#define PANDA_VERSION 1 10 12 // This variable will be defined to false in the CVS repository, but // scripts that generate source tarballs and/or binary releases for diff --git a/setup.cfg b/setup.cfg index 6fd743f75a..5d70295f57 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = Panda3D -version = 1.10.11 +version = 1.10.12 url = https://www.panda3d.org/ description = Panda3D is a framework for 3D rendering and game development for Python and C++ programs. license = Modified BSD License From b518da99a669f044858017f6525a97d9a7ed1d56 Mon Sep 17 00:00:00 2001 From: rdb Date: Wed, 12 Jan 2022 10:23:19 +0100 Subject: [PATCH 2/7] windisplay: fix origin not respected when switching to windowed mode --- panda/src/windisplay/winGraphicsWindow.cxx | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/panda/src/windisplay/winGraphicsWindow.cxx b/panda/src/windisplay/winGraphicsWindow.cxx index 4bc914e976..8b70b51938 100644 --- a/panda/src/windisplay/winGraphicsWindow.cxx +++ b/panda/src/windisplay/winGraphicsWindow.cxx @@ -283,6 +283,17 @@ process_events() { */ void WinGraphicsWindow:: set_properties_now(WindowProperties &properties) { + if (properties.has_fullscreen() && !properties.get_fullscreen() && + is_fullscreen()) { + if (do_windowed_switch()) { + _properties.set_fullscreen(false); + properties.clear_fullscreen(); + } else { + windisplay_cat.warning() + << "Switching to windowed mode failed!\n"; + } + } + GraphicsWindow::set_properties_now(properties); if (!properties.is_any_specified()) { // The base class has already handled this case. @@ -413,14 +424,6 @@ set_properties_now(WindowProperties &properties) { windisplay_cat.warning() << "Switching to fullscreen mode failed!\n"; } - } else if (!properties.get_fullscreen() && is_fullscreen()){ - if (do_windowed_switch()){ - _properties.set_fullscreen(false); - properties.clear_fullscreen(); - } else { - windisplay_cat.warning() - << "Switching to windowed mode failed!\n"; - } } } From bd37e8776f4803734d5cf16cbb65903288165147 Mon Sep 17 00:00:00 2001 From: rdb Date: Thu, 13 Jan 2022 10:56:12 +0100 Subject: [PATCH 3/7] makepanda: Fix platform tag on aarch64 manylinux Wheels ended up being tagged as i686. --- makepanda/makepanda.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index 94215cba14..71aa749a23 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -480,6 +480,8 @@ elif target == 'linux' and (os.path.isfile("/lib/libc-2.5.so") or os.path.isfile # This is manylinux1. A bit of a sloppy check, though. if GetTargetArch() in ('x86_64', 'amd64'): PLATFORM = 'manylinux1-x86_64' + elif GetTargetArch() in ('arm64', 'aarch64'): + PLATFORM = 'manylinux1-aarch64' else: PLATFORM = 'manylinux1-i686' @@ -487,6 +489,8 @@ elif target == 'linux' and (os.path.isfile("/lib/libc-2.12.so") or os.path.isfil # Same sloppy check for manylinux2010. if GetTargetArch() in ('x86_64', 'amd64'): PLATFORM = 'manylinux2010-x86_64' + elif GetTargetArch() in ('arm64', 'aarch64'): + PLATFORM = 'manylinux2010-aarch64' else: PLATFORM = 'manylinux2010-i686' @@ -494,6 +498,8 @@ elif target == 'linux' and (os.path.isfile("/lib/libc-2.17.so") or os.path.isfil # Same sloppy check for manylinux2014. if GetTargetArch() in ('x86_64', 'amd64'): PLATFORM = 'manylinux2014-x86_64' + elif GetTargetArch() in ('arm64', 'aarch64'): + PLATFORM = 'manylinux2014-aarch64' else: PLATFORM = 'manylinux2014-i686' @@ -501,6 +507,8 @@ elif target == 'linux' and (os.path.isfile("/lib/i386-linux-gnu/libc-2.24.so") o # Same sloppy check for manylinux_2_24. if GetTargetArch() in ('x86_64', 'amd64'): PLATFORM = 'manylinux_2_24-x86_64' + elif GetTargetArch() in ('arm64', 'aarch64'): + PLATFORM = 'manylinux_2_24-aarch64' else: PLATFORM = 'manylinux_2_24-i686' From 54606c8894b56fea53d34f0d87049320f6649169 Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 14 Jan 2022 09:58:18 +0100 Subject: [PATCH 4/7] showbase: docstring fix [skip ci] --- direct/src/showbase/ShowBase.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/direct/src/showbase/ShowBase.py b/direct/src/showbase/ShowBase.py index 79d4dad10a..1f286588d2 100644 --- a/direct/src/showbase/ShowBase.py +++ b/direct/src/showbase/ShowBase.py @@ -19,7 +19,9 @@ Built-in global variables Some key variables used in all Panda3D scripts are actually attributes of the ShowBase instance. When creating an instance of this class, it will write many of these variables to the built-in scope of the Python interpreter, so that -they are accessible to any Python module, without the need fors extra imports. +they are accessible to any Python module, without the need for extra imports. +For example, the ShowBase instance itself is accessible anywhere through the +:data:`~builtins.base` variable. While these are handy for prototyping, we do not recommend using them in bigger projects, as it can make the code confusing to read to other Python developers, From be2f6a7c614550ef0132c48892d8f1b4270431eb Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 14 Jan 2022 10:24:44 +0100 Subject: [PATCH 5/7] glgsg: Fix missing GR_adjacency geom rendering flag I don't think this flag being missing currently affects any functionality, but it is meant to be set when geometry shaders (with adjacency) are supported. --- panda/src/glstuff/glGraphicsStateGuardian_src.cxx | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/panda/src/glstuff/glGraphicsStateGuardian_src.cxx b/panda/src/glstuff/glGraphicsStateGuardian_src.cxx index 54a62e10bb..4884fb9c20 100644 --- a/panda/src/glstuff/glGraphicsStateGuardian_src.cxx +++ b/panda/src/glstuff/glGraphicsStateGuardian_src.cxx @@ -827,12 +827,6 @@ reset() { Geom::GR_line_strip | Geom::GR_flat_last_vertex; -#ifndef OPENGLES - if (_supports_geometry_shaders) { - _supported_geom_rendering |= Geom::GR_adjacency; - } -#endif - _supports_point_parameters = false; #ifdef OPENGLES_1 @@ -1769,6 +1763,10 @@ reset() { _supports_geometry_shaders = false; _glFramebufferTexture = nullptr; } + + if (_supports_geometry_shaders) { + _supported_geom_rendering |= Geom::GR_adjacency; + } #endif _shader_caps._supports_glsl = _supports_glsl; From 484a9394f99c9590489fdfccfec9b3998d2e9f7d Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 14 Jan 2022 10:27:23 +0100 Subject: [PATCH 6/7] installpanda: Correct lib dir detection on ArchLinux Eliminates a downstream patch in the AUR [skip ci] --- makepanda/installpanda.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/makepanda/installpanda.py b/makepanda/installpanda.py index 529913aadf..d0111e0049 100644 --- a/makepanda/installpanda.py +++ b/makepanda/installpanda.py @@ -136,6 +136,9 @@ def GetLibDir(): if os.path.isfile('/etc/debian_version'): return GetDebLibDir() + elif os.path.isfile('/etc/arch-release'): + # ArchLinux has lib64, but it is a symlink to lib. + return "lib" else: # Okay, maybe we're on an RPM-based system? return GetRPMLibDir() From 58afbbfaa0d7905680b648ec72576538fa2d4d1f Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 14 Jan 2022 10:46:56 +0100 Subject: [PATCH 7/7] dist: Add missing platforms to default installer dictionary --- direct/src/dist/commands.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/direct/src/dist/commands.py b/direct/src/dist/commands.py index cb3fbc34df..e710366177 100644 --- a/direct/src/dist/commands.py +++ b/direct/src/dist/commands.py @@ -1426,6 +1426,20 @@ class bdist_apps(setuptools.Command): 'manylinux1_i686': ['gztar'], 'manylinux2010_x86_64': ['gztar'], 'manylinux2010_i686': ['gztar'], + 'manylinux2014_x86_64': ['gztar'], + 'manylinux2014_i686': ['gztar'], + 'manylinux2014_aarch64': ['gztar'], + 'manylinux2014_armv7l': ['gztar'], + 'manylinux2014_ppc64': ['gztar'], + 'manylinux2014_ppc64le': ['gztar'], + 'manylinux2014_s390x': ['gztar'], + 'manylinux_2_24_x86_64': ['gztar'], + 'manylinux_2_24_i686': ['gztar'], + 'manylinux_2_24_aarch64': ['gztar'], + 'manylinux_2_24_armv7l': ['gztar'], + 'manylinux_2_24_ppc64': ['gztar'], + 'manylinux_2_24_ppc64le': ['gztar'], + 'manylinux_2_24_s390x': ['gztar'], # Everything else defaults to ['zip'] }