Commit Graph

24634 Commits

Author SHA1 Message Date
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
rdb 251d73a47b ShaderGenerator: very slight optimization setting ShaderAttrib flags 2020-12-12 14:15:27 +01:00
rdb ac4faf3d74 text: Make TextNode pipeline-cycled
Fixes #1070

Note that text property changes are not pipeline-cycled at the moment.
2020-12-12 14:05:48 +01:00
rdb 54a4a6abfc Merge branch 'release/1.10.x' 2020-12-12 14:02:04 +01:00
rdb 130c70a9f5 Update BACKERS.md
[skip ci]
2020-12-12 13:58:43 +01:00
rdb 761c54f63d pgui: Workaround for DirectEntry flickering issues w/ pipelining
See #1070.  This is a temporary solution (one which isn't complete- it doesn't properly handle state changes).
2020-12-12 13:57:49 +01:00
Daniel 4f63ef635d panda: Remove PyEval_InitThreads calls when compiling against Python 3.9+
Cherry-pick from #1053
2020-12-12 00:16:58 +01:00
rdb e98052b99b Use new 1.10.8 thirdparty archive for macOS 2020-12-10 17:39:39 +01:00
rdb c8a35641c1 pgraphnodes: Remove unused variable 2020-12-10 17:37:05 +01:00
rdb ed397b3ab8 Merge branch 'release/1.10.x' 2020-12-09 17:59:37 +01:00
rdb bf59e880c6 bullet: Fix compilation error with Bullet 2.90+ 2020-12-09 16:25:29 +01:00
rdb 8e2c0dff4a pgraph: Hack fix for copying model with LightAttrib on root
When a LightAttrib is set on the root of a model and the light is contained within that model, creating a copy (like the one Loader makes automatically) causes the LightAttrib to still point to the original light, not to the newly copied light.

This works around it only for the case when the LightAttrib is set on the root, and only for the case of NodePath::copy_to() (it turns out there are edge cases when doing it in PandaNode::copy_subgraph() that would be hard to explain).

See Moguri/blend2bam#44
2020-12-09 15:51:36 +01:00
rdb 9525ddbfef pgraph: LightAttrib::get_on_light(n) should call check_sorted() 2020-12-09 15:48:10 +01:00
rdb 35eeb27386 VFSImporter: fix detection of source file encoding in Python 3
Incidentally, this should (in theory) also fix the _bootlocale import loop referenced in #1065
2020-12-09 15:46:51 +01:00
rdb 7b4ecbd60f directtools: Fix use of built-in direct instead of base.direct 2020-12-09 15:44:13 +01:00
rdb 951c182c0e makepanda: Preparatory changes for Big Sur / arm64 builds 2020-11-30 19:46:20 +01:00
rdb c9aedc2b44 Merge branch 'release/1.10.x' 2020-11-28 22:26:04 +01:00
rdb 4e7742b8e2 VFSImporter: replace deprecated U open() flag
Fixes #1063
2020-11-28 22:22:32 +01:00
rdb 615502aef6 pgraphnodes: Support hardware instancing for LODNode
LODNode will now correctly calculate LOD for individual instances.

It turns out implementing it for FadeLODNode is hard (wrt. tracking state for individual instances) so I have not bothered with supporting it - FadeLODNode instead calculates a single switch level for all instances based on the centroid of the visible instances.
2020-11-26 16:47:35 +01:00
rdb e13756f43e pgraph: Support hardware instancing in BillboardEffect and CompassEffect 2020-11-26 16:47:11 +01:00
rdb aace94a521 makepanda: Fix version checks for macOS 11.0 Big Sur
Fixes #1056
2020-11-25 01:22:26 +01:00
Mitchell Stokes bd7b6d8fe7 build_apps: Allow setting hidden imports via setuptools options
This is exposed as a hidden_imports option, which is a dictionary. The
keys are module name and the values are a list of modules to include
when an import for the key is found.
2020-11-25 01:08:36 +01:00
Daniel c5017acb1d makepanda: Add fftw3 pkg-config name 2020-11-24 20:35:05 +01:00
Derzsi Dániel 862d06b7a8 workflow: Add Python 3.9 to GitHub CI workflow
Closes #1054
2020-11-23 10:58:23 +01:00
Daniel 54cb519dc9 panda: Remove PyEval_InitThreads calls when compiling against Python 3.9+
Closes #1053
2020-11-23 10:56:09 +01:00
Daniel b31b100693 tests: Correct misleading comment
[skip ci]
2020-11-23 10:54:57 +01:00
rdb 01b2f1f759 gobj: Fix typo in docstring
[skip ci]
2020-11-23 10:54:03 +01:00
rdb 92e2c24958 Experimental InstancedNode class for hardware instancing 2020-11-22 22:01:13 +01:00