From 876512932a332f2cd2ff40ac1eee8c28e9c93feb Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 8 Jan 2024 14:13:12 +0100 Subject: [PATCH 1/4] makepanda: Add _d suffix to .pyd files in debug mode on Windows Fixes #1566 --- makepanda/makepandacore.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index 111a3a6717..9f80c8f9cf 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -3500,10 +3500,16 @@ def GetExtensionSuffix(): target = GetTarget() if sys.version_info >= (3, 5) and target == 'windows': - if GetTargetArch() == 'x64': - return '.cp%d%d-win_amd64.pyd' % (sys.version_info[:2]) + if GetOptimize() <= 2: + dllext = '_d' else: - return '.cp%d%d-win32.pyd' % (sys.version_info[:2]) + dllext = '' + + if GetTargetArch() == 'x64': + return dllext + '.cp%d%d-win_amd64.pyd' % (sys.version_info[:2]) + else: + return dllext + '.cp%d%d-win32.pyd' % (sys.version_info[:2]) + elif sys.version_info >= (3, 0): import _imp return _imp.extension_suffixes()[0] From 8e539bd99840da261853c08bc426e0ea43bddd24 Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 8 Jan 2024 14:54:48 +0100 Subject: [PATCH 2/4] doc: Add release notes for 1.10.14 [skip ci] --- doc/ReleaseNotes | 90 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/doc/ReleaseNotes b/doc/ReleaseNotes index 2707d324d9..97a15ddbe8 100644 --- a/doc/ReleaseNotes +++ b/doc/ReleaseNotes @@ -1,3 +1,93 @@ +----------------------- RELEASE 1.10.14 ----------------------- + +This release adds support for Python 3.12 and furthermore contains significant +bug fixes, and also implements some missing features in the shader generator. + +API +* Accept bytes object in DatagramOutputFile.write_header() +* Add missing clear_color() method to CardMaker +* Add file_version properties to BamFile and BamWriter, mirroring BamReader +* Add missing method for getting current display mode index (#1550) + +Shader Generator +* Add support for perspective points (#1440) +* Implement remaining missing TexGenAttrib modes (#1437) +* Fix support for hardware point sprites +* Support missing texture types: cube map arrays, 1D arrays, buffer textures + +Rendering +* Add texconst_i input for Cg shaders to access TexGenAttrib constants +* Fix bug when same texture is used with different TexGenAttrib modes +* OpenGL 3.2+/ES: Correctly handle 4-component texcoords in default shader +* DX9: fix bugs setting some kinds of shader inputs +* OpenGL: guard against exceeding max supported vertex attribute stride +* Add missing handling for 1D array textures in Cg shaders +* OpenGL: improve handling of SM5 Cg shaders +* Fix p3d_LightModel.ambient not updating properly +* Work around wireframe rendering bug in Panfrost drivers +* Fix assertion error when preparing texture fails +* Fix image load/store support in GLES 3.1 (set gl-immutable-texture-storage) + +Windowing +* Windows: Fix issues switching fullscreen while maximized (#1469) +* macOS: Fix undecorated setting ignored when switching back to windowed mode +* macOS: Fix window sizing bug when simultaneously changing undecorated +* macOS: Fix black bar when switching to fullscreen with Z-Order set to Top +* macOS: Squelch secure restorable state warning on macOS 14 "Sonoma" +* X11: Fix crash on shutdown when using custom cursor +* EGL: Fix invalid operation error when using headless pbuffer +* EGL: Add support for resizing (offscreen) pbuffers +* Windows: Message loop is no longer disabled when using tk with threaded draw +* Windows: Fix handling of invalid raw mouse devices + +Deployment +* Fix crash when running executable built with Python 3.11 (#1423) +* Fix for thirdparty packages that use delvewheel (#1492) +* Strip .abi3.so suffix from libraries +* Silently ignore missing hidden imports +* Add missing hidden imports for setuptools and shapely +* Show better error message when targeting no-longer-supported platforms +* Fix issues running pfreeze on macOS +* Fix crash using on arm64 systems with 16 KiB pages (eg. Asahi Linux) +* Fix error using bam_model_extensions with bdist_apps + +Pipeline +* Support reading .bmp files with RLE8 compression +* Fix wrong magfilter being written by egg-palettize (#1585) +* Fix memory leaks when writing TIFF files +* Fix hang in .egg loader when `` used with `` (#1515) +* Add assimp-disable-extensions config var (see #1537) +* Fix assert/crash when reading multiple recorders from bam file (#1561) + +Build +* Add support for building with Python 3.12 +* macOS .dmg are now built as HFS+ for 10.9 compatibility (#1502) +* Don't use RTTI features in headers when building with `-fno-rtti` +* Fix some new compiler warnings +* Fix compile errors with some versions of png.h +* Work around GCC 13.2 bug compiling interrogate-generated code (#1580) +* Support building with LibreSSL on Windows (#1503) +* Fix some issues in anticipation of Python 3.13+ (#1523, #1526) +* More robust parsing of version in setup.cfg (incl. #1539) +* Avoid using deprecated distutils module (#1549) +* Add _d suffix to .pyd files when building debug build on Windows (#1566) + +Miscellaneous +* Fix bug causing textures to sometimes be randomly downloaded +* Fix PStats Python profiling exception when using metaclasses (#1505) +* Fix segfault when ConnectionRepository is verbose (#1430) +* Fix broken minusnode icon in dmodels (#1449) +* Fix wrong delete operator in ARToolKit +* Fix crash when encountering corruption in OpenAL stream (#1452) +* Fix SimpleHashMap error reporting at static init time +* Fix assorted code issues, typos, and Python 2-isms in direct tree +* Code size reductions for interrogate-generated bindings +* Assorted docstring corrections and additions +* Interrogate supports explicit cls parameter for static methods +* Interrogate: fix enum scope issue +* Don't assume presence of softspace attribute on files in directnotify +* Use importlib.metadata (not pkg_resources) for entry points in Python 3.8+ + ----------------------- RELEASE 1.10.13 ----------------------- This is a significant release containing many important bug fixes and a couple From ab05b75933a2e3c03f1901b50a13be3c36090950 Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 8 Jan 2024 17:01:54 +0100 Subject: [PATCH 3/4] readme: Update link to SDK to point to 1.10.14 [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a1983a9314..1bcb64899b 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Installing Panda3D ================== The latest Panda3D SDK can be downloaded from -[this page](https://www.panda3d.org/download/sdk-1-10-13/). +[this page](https://www.panda3d.org/download/sdk-1-10-14/). If you are familiar with installing Python packages, you can use the following command: From fe63dee524f7576c8ae1e7c2d5303e2c2f8efe96 Mon Sep 17 00:00:00 2001 From: kamgha Date: Mon, 8 Jan 2024 19:53:46 +0100 Subject: [PATCH 4/4] Assorted docstring fixes Closes #1588 --- panda/src/express/multifile.I | 2 +- panda/src/gobj/texture.I | 8 ++++---- panda/src/text/fontPool.I | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/panda/src/express/multifile.I b/panda/src/express/multifile.I index d418c77598..266670b077 100644 --- a/panda/src/express/multifile.I +++ b/panda/src/express/multifile.I @@ -68,7 +68,7 @@ get_timestamp() const { } /** - * Changes the overall mudification timestamp of the multifile. Note that this + * Changes the overall modification timestamp of the multifile. Note that this * will be reset to the current time every time you modify a subfile. * Only set this if you know what you are doing! */ diff --git a/panda/src/gobj/texture.I b/panda/src/gobj/texture.I index 5ba9aa0f95..21b023369c 100644 --- a/panda/src/gobj/texture.I +++ b/panda/src/gobj/texture.I @@ -1895,7 +1895,7 @@ set_filename(const Filename &filename) { } /** - * Removes the alpha filename, if it was previously set. See set_filename(). + * Removes the filename, if it was previously set. See set_filename(). */ INLINE void Texture:: clear_filename() { @@ -1911,8 +1911,8 @@ clear_filename() { * The Texture's get_filename() function returns the name of the image file * that was loaded into the buffer. In the case where a texture specified two * separate files to load, a 1- or 3-channel color image and a 1-channel alpha - * image, this Filename is update to contain the name of the image file that - * was loaded into the buffer's alpha channel. + * image, the alpha_filename is updated to contain the name of the image file + * that was loaded into the buffer's alpha channel. */ INLINE void Texture:: set_alpha_filename(const Filename &alpha_filename) { @@ -1942,7 +1942,7 @@ set_fullpath(const Filename &fullpath) { } /** - * Removes the alpha fullpath, if it was previously set. See set_fullpath(). + * Removes the fullpath, if it was previously set. See set_fullpath(). */ INLINE void Texture:: clear_fullpath() { diff --git a/panda/src/text/fontPool.I b/panda/src/text/fontPool.I index c6fd4544e3..319d12905b 100644 --- a/panda/src/text/fontPool.I +++ b/panda/src/text/fontPool.I @@ -53,7 +53,7 @@ add_font(const std::string &filename, TextFont *font) { /** * Removes the indicated font from the pool, indicating it will never be * loaded again; the font may then be freed. If this function is never - * called, a reference count will be maintained on every font every loaded, + * called, a reference count will be maintained on every font ever loaded, * and fonts will never be freed. */ INLINE void FontPool::