24661 Commits

Author SHA1 Message Date
rdb
1070299a9d Update to 1.10.8 thirdparty packages for Windows as well 2020-12-21 16:55:21 +01:00
rdb
8dd3301c43 text: Fix issue with TextNode::set_text() called from non-App stage
Because TextEncoder is not pipeline-cycled, text_changed() should propagate text changes up to stage 0.

See #1070; this caused the frame rate meter to show 0.0 fps most of the frames.
2020-12-21 16:53:05 +01:00
rdb
dfc5b47ec9 CMake: Improve reporting of enabled-but-not-found packages
Fixes #1072 (together with 3786dc2aeaaf09479e12a590ab426a770f18fdb5)
2020-12-20 18:36:41 +01:00
rdb
3786dc2aea CMake: Fix detection and use of SSE2 compiler flag on MSVC
This is one half of the fix for #1072
2020-12-20 18:35:17 +01:00
rdb
fa04d77b57 makepanda: Replace use of deleted GetThirdpartyLibDir function
This caused a build error due to a faulty auto-merge.
2020-12-20 01:11:46 +01:00
rdb
e08282003b putil: Give SimpleHashMap a type handle to enable memory usage tracking
Previously SimpleHashMap were entirely absent from the PStats memory statistics.
2020-12-20 01:02:23 +01:00
rdb
ae3d8c2663 dtoolbase: More elegant fix for NeverFreeMemory memory leak
Better fix for 74983d19a41d5fbf006cb269d6b1adc9f705dc99 is to just switch to an std::multimap.  This couldn't go in the 1.10.x branch due to the risk of ABI change.
2020-12-20 01:02:15 +01:00
rdb
dee8df9427 Merge branch 'release/1.10.x' 2020-12-20 01:02:08 +01:00
rdb
ac021e94d6 putil: Ensure SimpleHashMap::_deleted_chain/_table are always initialized
Good to be on the safe side.
2020-12-20 00:59:55 +01:00
rdb
c4376b4f41 makepanda: Disable Maya builds for ARM64 on macOS 2020-12-20 00:32:20 +01:00
rdb
f7ab42da56 putil: Fix memory leak in SimpleHashMap
Fixes #1077
2020-12-20 00:23:04 +01:00
rdb
74983d19a4 dtoolbase: Fix small memory leak in NeverFreeMemory
It's using a set purely keyed by number of remaining bytes, so if there are two pages with the exact same number of remaining bytes, one of them gets lost.

See #1077
2020-12-20 00:19:37 +01:00
rdb
b5c857c73f pgraphnodes: Backport ShaderGenerator stub to 1.10.x
Needed if interrogate is being run with the __aarch64__ definition in a multi-arch build
2020-12-19 23:50:07 +01:00
rdb
6b1c681a24 extensions_native: Fix indirect rgbPanel import
It's defined in Valuator, not in Slider
2020-12-19 15:50:43 +01:00
rdb
7c676b5d26 directtools: Fix incorrect rounding for color conversion to hex
The color picker returns color values up to 255.99 so this can otherwise result in it returning a color like #100100100, and the hex code otherwise not matching with what is displayed in the color picker.
2020-12-19 15:27:23 +01:00
rdb
8ba1ae924c tkwidgets: Fix EntryScale missing import and menu errors 2020-12-19 15:26:15 +01:00
rdb
2d65738a18 makepanda: Respect lib-10.6 dir when copying dylibs/running install_name_tool
In the 1.10.8 thirdparty packages, OpenCV is split into a lib folder and a lib-10.6 folder, so we should use the proper dylibs to still be able to target 10.6
2020-12-19 14:10:51 +01:00
rdb
10bb4a33d3 ShaderGenerator: remove unnecessary member, define all stub methods 2020-12-19 11:15:00 +01:00
rdb
f65fd44c08 pgraphnodes: Add missing ShaderGenerator stub symbols 2020-12-19 02:56:41 +01:00
rdb
1a5fd04499 pzip: use Python zlib module to perform pzip step
This is more useful when cross-compiling, not requiring a functional pzip binary on the host.
2020-12-19 02:00:59 +01:00
rdb
7ae72cd880 pgraphnodes: Fix ShaderGenerator includes 2020-12-19 02:00:59 +01:00
rdb
1c974092e4 express: Fix compile error with certain macOS SDKs 2020-12-19 01:00:07 +01:00
rdb
abe3c2bf0b CMake: Mark all system macOS frameworks as advanced variables
It should be extremely unusual to want to change these, and they are just cluttering up the CMake GUI.
2020-12-19 00:33:22 +01:00
rdb
113dd6a357 CMake: Don't try to build FMOD Ex audio module for arm64 2020-12-19 00:26:22 +01:00
rdb
662ace0173 CMake: Don't define HAVE_CG for arm64 systems 2020-12-19 00:26:13 +01:00
rdb
617a759fd2 pgraphnodes: Add exposed methods to ShaderGenerator stub
Since HAVE_CG is now dependent on __aarch64__, it otherwise relies on interrogate having been run with the same architecture flags.
2020-12-19 00:26:13 +01:00
rdb
f5e7b0a439 makepanda: prefer more recent macOS SDKs over older ones
See Apple's recommendations:
https://developer.apple.com/library/archive/qa/qa1806/_index.html

We may still be limited to the 10.13 SDK to be able to build FMOD Ex.
2020-12-19 00:13:19 +01:00
rdb
2bb0a0a77c CMake: Set default value for CMAKE_OSX_DEPLOYMENT_TARGET
CMake versions older than 3.19 choose the sysroot based on the deployment target, so this does result in it choosing the 10.9 SDK even when targeting arm64, so we need to work around that.
2020-12-19 00:13:19 +01:00
rdb
53b8e52343 CMake: Add missing frameworks for linking static FFMpeg on macOS 2020-12-19 00:13:19 +01:00
rdb
8231bc12bf makepanda: remove --osxtarget option
We can target 10.9 (the minimum supported) even with the 11.1 SDK, so we should just check for whichever SDK is available, and always target 10.9 (or 11.0 when building for arm64 only, since arm64 requires 11.0 to begin with).

This also means that --universal will always add both x86_64 and arm64 to the build.
2020-12-18 13:11:35 +01:00
rdb
a5ae292c3e Merge branch 'release/1.10.x' 2020-12-18 12:56:31 +01:00
rdb
9544911127 makepanda: fix error building with --universal flag
[skip ci]
2020-12-18 12:54:35 +01:00
rdb
ce5379a0ad makepanda: Bring back --universal flag for Universal 2 2020-12-18 12:29:04 +01:00
rdb
66c41d6c31 dist: Fix ability to deploy app without requiring OpenSSL enabled
Fixes #1073
2020-12-17 23:59:50 +01:00
rdb
a18edf54b7 makepanda: Changes to support build for macOS 11.0 / arm64
Besides use of --universal with --osxtarget 11, it's now also possible to create a fat build with ARM64 by using --osxtarget 10.9 --arch x86_64 --arch arm64 (it will use the 11.x SDK but target 10.9)

FMOD Ex is also being disabled when building against the 10.14 SDK or higher, because the necessary libstdc++.6.0.9.dylib is no longer being shipped.  FMOD Ex, libRocket and Cg are all disabled on ARM64 (FMOD Ex and Cg don't have the binaries available, libRocket could theoretically be built but there's no point as there won't be an ARM64 build of Python 2.7, and besides, we've deprecated it anyway).

Fixes #1062
2020-12-17 13:00:22 +01:00
rdb
4d50e73132 pfreeze: Support building for macOS arm64 architecture 2020-12-15 18:59:04 +01:00
rdb
6f35cb0235 device: Silently ignore invalid evdev keycodes generated by some drivers
Fixes #1066
2020-12-15 12:33:22 +01:00
rdb
10ef9b3456 makepanda: recognize --osxtarget 11, --universal should add arm64 2020-12-15 12:32:40 +01:00
rdb
8883bf9bdd dgui: Fix ability to create OnscreenGeom/Image/Text without ShowBase 2020-12-15 11:45:52 +01:00
rdb
fa8c8e71b5 gobj: Assert instead of crash if primitive references out-of-bounds vert 2020-12-14 16:54:20 +01:00
rdb
79714392cb gobj: Enable slightly more efficient GeomVertexReader/Writer ctor
This allows moving an existing PT(GeomVertexData) into the object, preventing an extra refcount increase.
2020-12-14 11:16:25 +01:00
rdb
902ada10b8 gobj: Slight optimization for GeomTristrips::append_unused_vertices() 2020-12-14 11:11:46 +01:00
rdb
454179a276 collide: Fix typo in STDFLOAT_DOUBLE case 2020-12-14 11:00:49 +01:00
rdb
a11e21e4f4 audio: Fix sound resuming after reactivation if stop() was called while inactive
Backport of fix for #559
2020-12-12 19:50:48 +01:00
rdb
e5eb5f8ed2 audio: Fix stop() not working for looped sound while sound is inactive
Fixes #559

Also fixes #1031 for FMOD
2020-12-12 18:45:45 +01:00
rdb
9f09857397 collide: Error checking for CollisionPolygon::setup/verify_points() 2020-12-12 17:28:41 +01:00
rdb
eaf509a226 pgraph: Make PandaNode::r_copy_subgraph no longer virtual (unused) 2020-12-12 17:28:21 +01:00
rdb
a1b2d5b8dc Make use of new function call methods in Python 3.9 2020-12-12 17:28:21 +01:00
rdb
ab5730831c audio: Add some properties to AudioSound 2020-12-12 17:28:21 +01:00
rdb
2b29c757d9 pgraph: Optimization for GeomNode::add_for_draw() 2020-12-12 17:28:21 +01:00