diff --git a/direct/src/dist/commands.py b/direct/src/dist/commands.py index 3a0006de06..9c4768a1e2 100644 --- a/direct/src/dist/commands.py +++ b/direct/src/dist/commands.py @@ -1594,6 +1594,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'], 'android': ['aab'], # Everything else defaults to ['zip'] } diff --git a/direct/src/showbase/ShowBase.py b/direct/src/showbase/ShowBase.py index b66832403c..5002ddd824 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, diff --git a/makepanda/installpanda.py b/makepanda/installpanda.py index 4a8b7df979..1c57b32b53 100644 --- a/makepanda/installpanda.py +++ b/makepanda/installpanda.py @@ -137,6 +137,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() diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index 1c2b9a6f8e..d58482d80c 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -415,6 +415,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' @@ -422,6 +424,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' @@ -429,6 +433,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' @@ -436,6 +442,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' diff --git a/panda/src/glstuff/glGraphicsStateGuardian_src.cxx b/panda/src/glstuff/glGraphicsStateGuardian_src.cxx index 61480ec021..11d66699c0 100644 --- a/panda/src/glstuff/glGraphicsStateGuardian_src.cxx +++ b/panda/src/glstuff/glGraphicsStateGuardian_src.cxx @@ -849,12 +849,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 @@ -1797,6 +1791,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; diff --git a/panda/src/windisplay/winGraphicsWindow.cxx b/panda/src/windisplay/winGraphicsWindow.cxx index 0dc20696d1..ceef979b75 100644 --- a/panda/src/windisplay/winGraphicsWindow.cxx +++ b/panda/src/windisplay/winGraphicsWindow.cxx @@ -287,6 +287,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. @@ -441,14 +452,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"; - } } }