Merge branch 'release/1.10.x'

This commit is contained in:
rdb 2021-03-25 23:13:36 +01:00
commit b405df72fa
6 changed files with 130 additions and 3 deletions

View File

@ -136,7 +136,7 @@ macOS
-----
On macOS, you will need to download a set of precompiled thirdparty packages in order to
compile Panda3D, which can be acquired from [here](https://www.panda3d.org/download/panda3d-1.10.8/panda3d-1.10.8-tools-mac.tar.gz).
compile Panda3D, which can be acquired from [here](https://www.panda3d.org/download/panda3d-1.10.9/panda3d-1.10.9-tools-mac.tar.gz).
After placing the thirdparty directory inside the panda3d source directory,
you may build Panda3D using a command like the following:

View File

@ -1,3 +1,98 @@
------------------------ RELEASE 1.10.9 -----------------------
This is a bugfix release which addresses some severe issues on macOS, as well as
a broad range of issues on other platforms, and adds some minor features.
Shaders
* Some macOS builds were erroneously not built with Cg shader support (#1119)
* Show error for unrecognized p3d_TextureXYZ GLSL shader inputs
* Fix Cg shader bug when using multiple GraphicsStateGuardian objects (#1117)
* New filled wireframe mode that respects vertex shaders (#1124)
* Fix undefined behavior when using non-nearest filtering on isampler/usampler
* Harmless shader linking warnings on macOS are now suppressed
Windowing
* Fix mouse confinement activating on Windows for non-foreground window (#1115)
* Fix occasional failure with switching to fullscreen on macOS (#1039)
* Fix parented window being offset if undecorated flag isn't set on Windows
Rendering
* Better support for headless OpenGL on Linux via EGL-based fallback (#1086)
* EGL implementation can now fall back to alternative EGL devices
* Fix ability to create multisample FBO when using EGL (#1089)
* Fix copy-RAM and copy-texture modes for multisample-enabled buffers (#1129)
* FilterManager now respects depth-bits specified in Config.prc
* Auto-convert vertex data down from 64-bit float to 32-bit in OpenGL ES
Texturing
* Add missing 16-bpc and 32-bpc integer texture formats
* Support `Texture::set_ram_image_as()` for 3D and multiview textures (#1095)
* TexturePeeker now supports cube maps (#1098)
* TexturePeeker now supports integer texture formats
GUI / Text
* Workarounds for disappearing text and GUI items in multithreaded pipeline
* Fix generated accent marks for some fonts appearing flipped
* Included static fonts now include dotless i glyph
* Fix DirectOptionMenu issues when changing items from item callback (#1125)
Python API
* Fix some Python 3 compatibility issues
* Improvements to `direct.stdpy.pickle` pickle, esp. for Python 3
* Fix `direct.stdpy.pickle` sometimes duplicating Panda objects
* Add pickle support to various Panda classes
* AsyncFuture can now store an arbitrary Python object as result
* AsyncFuture.gather() now schedules coroutines on current task chain
* Coroutine exceptions are no longer suppressed in optimized builds
* Add ability to `await` all interval objects inside a coroutine (#909)
* Fix garbled data when doing `base.win.properties.size` et al.
* Fix Filename division operator in Python 3
* Add Pythonic property syntax to various Panda classes
* Add optional `delay=` argument to `taskMgr.add()`
* Fix CollisionHandler's again_patterns property
Physics / Collisions
* Fix missing import in nodePath.subdivideCollisions() (#1084)
* Support pickling of CollisionTraverser and CollisionHandler objects (#1090)
* Improve CollisionBox debug visualization
* Fix broken GlobalForceGroup module
* Fix writing representation of AngularVectorForce
* Better handling for some edge cases in PhysicalNode
* Support bam serialization of BulletGhostNode objects (#1099)
Deployment
* Fix app immediately exiting on Windows if log_filename is not set
* Allow generating log files with date/time in filename (#1103)
* Automatically removes aux-display Config.prc lines for excluded plug-ins
* No longer defaults to FMOD audio on macOS unless FMOD is explicitly bundled
* Fix every app pulling in pep517 and numpy when building on some Linux distros
* Fix building with pytz and pandas requirements
* Some deterministic build support with PYTHONHASHSEED=0 and SOURCE_DATE_EPOCH
* Fix harmless warnings about missing dependencies
* Fix libbz2, libreadline and liblzma libraries being erroneously excluded
Build / C++
* Some macOS builds were erroneously not built with Cg shader support (#1119)
* Fix code signatures being missing from arm64 wheels on macOS (#1123)
* Windows builds now include missing DirectX 9 DLL (#1034)
* Windows installer no longer pops up message box in silent mode (#1088)
* Fix compatibility of Panda headers with C++17 and C++20 compilers
* Support reproducible builds when SOURCE_DATE_EPOCH is set
* Interrogate supports `__truediv__` and `__floordiv__` special methods
* makepanda now looks for linux-libs-arm64 thirdparty directory in aarch64 build
Miscellaneous
* Assorted memory leaks fixed
* Disable `vorbis-seek-lap`, which caused popping in ogg sounds (#1108)
* Fix crash when playing video using older FFMpeg versions (#1085)
* Fix flattening/egg loader bug messing up line strip geometry (#1122)
* Fix egg lexer state not being cleaned up after error
* multify respects SOURCE_DATE_EPOCH (but -T0 should be preferred)
* Fix egg loader hanging when encountering unterminated quote or C-style comment
* VirtualFileSystem::read_file() is now implemented for HTTP mounts
* Fix regression causing crash in DIRECT tools
* Fix repeatedly clicking object in DIRECT tools cause explosion of scaling node
------------------------ RELEASE 1.10.8 -----------------------
Recommended maintenance release.

View File

@ -1355,11 +1355,34 @@ reset() {
_supports_packed_dabc = false;
_supports_packed_ufloat = false;
#else
_supports_packed_dabc = is_at_least_gl_version(3, 2) ||
_supports_packed_dabc = (is_at_least_gl_version(3, 2) ||
has_extension("GL_ARB_vertex_array_bgra") ||
has_extension("GL_EXT_vertex_array_bgra");
has_extension("GL_EXT_vertex_array_bgra")) && gl_support_vertex_array_bgra;
_supports_packed_ufloat = is_at_least_gl_version(4, 4) ||
has_extension("GL_ARB_vertex_type_10f_11f_11f_rev");
if (_supports_packed_dabc) {
int number = 0;
if (_gl_renderer.compare(0, 14, "AMD Radeon RX ") == 0) {
number = atoi(_gl_renderer.c_str() + 14);
}
else if (_gl_renderer.compare(0, 10, "Radeon RX ") == 0) {
number = atoi(_gl_renderer.c_str() + 10);
}
// This is buggy for RDNA cards. Verified on 5700 XT, reportedly also
// occurs on the entire 5*00 and 6*00 line.
if (number >= 5000 && number < 8000) {
_supports_packed_dabc = false;
if (GLCAT.is_debug()) {
GLCAT.debug()
<< "Detected AMD Radeon RX " << number
<< ", disabling use of GL_BGRA vertex attributes\n";
}
}
}
#endif
#ifdef OPENGLES

View File

@ -304,6 +304,12 @@ ConfigVariableBool gl_support_shadow_filter
"cards suffered from a broken implementation of the "
"shadow map filtering features."));
ConfigVariableBool gl_support_vertex_array_bgra
("gl-support-vertex-array-bgra", true,
PRC_DESC("Disable this if you suspect a bug in the driver implementation "
"of GL_BGRA vertex arrays. The Radeon RX 5700 XT is an example "
"of a card known to suffer from bugs with this feature."));
ConfigVariableBool gl_force_image_bindings_writeonly
("gl-force-image-bindings-writeonly", false,
PRC_DESC("Forces all image inputs (not textures!) to be bound as writeonly, "

View File

@ -81,6 +81,7 @@ extern ConfigVariableBool gl_fixed_vertex_attrib_locations;
extern ConfigVariableBool gl_support_primitive_restart_index;
extern ConfigVariableBool gl_support_sampler_objects;
extern ConfigVariableBool gl_support_shadow_filter;
extern ConfigVariableBool gl_support_vertex_array_bgra;
extern ConfigVariableBool gl_force_image_bindings_writeonly;
extern ConfigVariableEnum<CoordinateSystem> gl_coordinate_system;

View File

@ -14,7 +14,9 @@
#include "physicalNode.h"
#include "physicsManager.h"
#ifdef PHAVE_ATOMIC
#include <atomic>
#endif
// static stuff.
static std::atomic_flag warned_copy_physical_node = ATOMIC_FLAG_INIT;