25338 Commits

Author SHA1 Message Date
rdb
e8b4b6476c Merge branch 'release/1.10.x' 2021-02-07 15:01:36 +01:00
rdb
8c8a73a1a7 event: Fix compilation with Python 2.7 2021-02-07 14:49:10 +01:00
rdb
28615c6a9e interval: Support awaiting CInterval from coroutines
This is a partial implementation of #909 - it is somewhat inefficient (not suspending the task using a future) and does not implement cancellation.  A more complete implementation may follow in 1.11.0.
2021-02-07 12:40:58 +01:00
rdb
f6b39345f7 event: don't exit task if future __await__ yields None
This matches the behavior of asyncio's Task implementation, where this is the equivalent of `yield Task.cont`.

I've kept regular generator tasks unaffected for now, since this might break existing usage.
2021-02-07 12:38:16 +01:00
rdb
3657eb9bce glgsg: Support texture transforms in default shader 2021-02-06 19:36:50 +01:00
rdb
64f0414f57 Merge branch 'release/1.10.x' 2021-02-06 19:36:39 +01:00
rdb
af60f8200e glgsg: Gracefully degrade when using 64-bit float in OpenGL ES 2021-02-06 19:35:48 +01:00
rdb
926af198a8 deploy-stub: Fix compilation error 2021-02-06 19:14:25 +01:00
rdb
0ac97387fa dist: enable log_filename_strftime by default if % in filename
See #1103
2021-02-06 12:46:30 +01:00
rdb
5a4ff7f6c0 Merge branch 'release/1.10.x' 2021-02-06 12:37:54 +01:00
rdb
f55cdd8907 dist: Support strftime-style date formatting in log_filename
Fixes #1103
2021-02-06 12:36:14 +01:00
rdb
c5568c3d5f collide: Improve CollisionSphere viz, add outline 2021-02-06 01:25:07 +01:00
rdb
c73c94c862 Merge branch 'release/1.10.x' 2021-02-06 01:23:34 +01:00
rdb
068ceaaf58 event: Clear exception flag after trying asyncio exception import 2021-02-06 01:21:52 +01:00
rdb
3052bcf289 pnmimagetypes: Remove vestigial init_pnm() call 2021-02-06 01:20:44 +01:00
rdb
5095778324 Update BACKERS.md
[skip ci]
2021-02-06 01:19:00 +01:00
rdb
c89631488b prc: Add properties to ConfigPageManager 2021-02-05 23:51:25 +01:00
rdb
642f4a4e55 bullet: Implement make_copy() for BulletGhostNode 2021-02-05 23:48:41 +01:00
Stephen Imhoff
cc4701d299 Add ability to persist ghost nodes. 2021-02-05 20:31:10 +00:00
Stephen Imhoff
a9f3940577 Add bullet ghost node test 2021-02-05 20:31:01 +00:00
rdb
25e7e20ccd Update BACKERS.md
[skip ci]
2021-02-05 01:33:26 +01:00
rdb
492cce8a49 event: Compile out threaded code when compiling without HAVE_THREADS 2021-02-03 13:29:28 +01:00
rdb
8c2b3c3192 pgraph: Add missing InstancedNode::CData type handle 2021-02-03 13:27:07 +01:00
rdb
a1e4cf059f glgsg: Fix attempt to detect glTexStorage1D in OpenGL ES 2021-02-03 12:53:20 +01:00
rdb
60f3ac5163 gobj: Assert instead of crash when printing unresolved GV(A)D 2021-01-30 20:06:32 +01:00
rdb
79dae16a2c glgsg: Show error for unrecognized p3d_TextureXYZ input 2021-01-30 20:05:36 +01:00
rdb
b1942e8065 collide: Add wires to CollisionBox viz
This should make it a lot easier to see the box as opposed to looking at a continuous white shape.
2021-01-30 13:52:03 +01:00
rdb
06921aba93 CMake: replace "CVS" with "Git" 2021-01-18 23:50:08 +01:00
rdb
243fd10db0 CMake: Set PANDA_BUILD_DATE_STR if SOURCE_DATE_EPOCH is set
Adds CMake support for the 54638bfc10bd766563830adaac118a4e55b4b52b change.

One thing to note, compared to makepanda, is that CMake doesn't automatically rebuild the file if this env var is changed.
2021-01-18 23:49:03 +01:00
rdb
613441060b Merge branch 'release/1.10.x' 2021-01-18 23:47:36 +01:00
rdb
d043df7d4e task: Add delay= argument to taskMgr.add()
This has the same effect as doMethodLater, but slightly better describes what it does
2021-01-18 23:37:23 +01:00
rdb
a270a55ccd dist: Add ignoreImports mechanism, prevents every app including numpy
Apparently a host of thirdparty packages currently get included by default, such as importlib.metadata -> toml -> numpy, and this is getting rather out of hand.  The ignoreImports mechanism provides a way for us to flag certain imports as being optional dependencies.

Also added is various "builtins" imports in Python 2.7 (which are all under version checks and would otherwise lead to the PyPI "builtins" package being included, which would pull in "future", etc.)
2021-01-18 23:33:39 +01:00
rdb
ef6aa9d6ca directtools: Fix repeated selections causing scaling node to get huge
This appears to be a regression from 0fe56bd0a980e0791d129498e2eb60ade6a0506d, but I can't be sure.  Before this fix, repeated clicks of an object would cause the scaling handles to get larger and larger, until eventually causing NaN assertions.
2021-01-18 19:05:45 +01:00
rdb
29cdd78c4e mathutil: Fix scaling BoundingSphere to infinite causing assertions
This error occurs when a BoundingSphere with a large radius is scaled by an even larger radius such that the radius becomes infinite.  In this case, the BoundingSphere should be properly marked as infinite so that it behaves properly (and doesn't cause other assertions down the line).
2021-01-18 19:03:00 +01:00
rdb
68daa238b1 dist: Add some determinism support to bdist_apps
It's necessary to set PYTHONHASHSEED=0 as well as SOURCE_DATE_EPOCH for deterministic compilation, and moreover, the generated zip files do still have timestamps in them.
2021-01-18 19:02:42 +01:00
rdb
f902eb7990 makepanda: Revert use of f-strings for now
This causes a syntax error for unsupported Python versions, which prevents display of the error message that tells people they are using a too-old Python version
2021-01-18 17:16:53 +01:00
rdb
54638bfc10 dtoolutil: Allow overriding PandaSystem::get_build_date()
This is useful to create bit-for-bit reproducible builds.  In the buildbots, we set it to the timestamp of the latest commit.
2021-01-18 16:41:22 +01:00
rdb
6520b68c2c progbase: respect SOURCE_DATE_EPOCH in -write-man option 2021-01-18 16:41:04 +01:00
rdb
3e1d98c105 multify: Respect SOURCE_DATE_EPOCH variable when used from command-line
That said, we should probably encourage the use of -T0 (which doesn't write out timestamps to begin with).
2021-01-18 14:16:25 +01:00
rdb
0b53355347 interrogate: respect SOURCE_DATE_EPOCH setting for file identifiers
This can be used to ensure that the build is bit-for-bit reproducible.

See https://reproducible-builds.org/docs/source-date-epoch/
2021-01-18 02:34:16 +01:00
rdb
f392cc9fe6 dtoolutil: Mark PandaSystem::get_build_date() as deprecated
It results in the build not being reproduceable.
2021-01-18 00:52:04 +01:00
rdb
1f106a0a2a makewheel: Support deterministic wheel creation via SOURCE_DATE_EPOCH
Setting SOURCE_DATE_EPOCH to a UNIX timestamp will clamp all dates to that, which enables bit-for-bit recreation of wheel files (assuming the sources are also bit-for-bit identical).  Furthermore, files are sorted when added, to avoid filesystem indeterminism.
2021-01-18 00:19:56 +01:00
rdb
ef4b1d5721 glgsg: Fix compile error with OpenGL ES 1 2021-01-18 00:19:39 +01:00
rdb
842452594d Merge branch 'release/1.10.x' 2021-01-17 17:28:19 +01:00
rdb
8924b77da4 egldisplay: Backport changes for creating headless EGL contexts
Backport of fbc49474557fe7b2ec1875ebb1cfb62e96e7f103 and 9f1289b4920074feb7f0b9b203d2a5b6e811c816

See #557
2021-01-17 16:46:57 +01:00
rdb
b3f0768656 Revert "directtools: Fix empty scaling node of object handle"
This reverts commit b507c88cd9fd5d3a432aae42fdc9165422a527b4.
2021-01-17 15:40:47 +01:00
rdb
fb6ec557ce egl: Add missing init_type() for eglGraphicsBuffer/Pixmap 2021-01-17 15:40:19 +01:00
rdb
a5a0809949 gobj: Support integer texture formats in TexturePeeker 2021-01-17 15:27:19 +01:00
rdb
4783c2902d grutil: Add missing switch case 2021-01-17 15:17:13 +01:00
rdb
b060767bd8 glgsg: slight refactor of get_internal_image_format() 2021-01-17 15:17:09 +01:00