25218 Commits

Author SHA1 Message Date
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
rdb
1fda6e7d51 texture: Add missing integer texture formats 2021-01-17 15:17:03 +01:00
rdb
3479c6eee2 tests: Add unit tests for GLSL usampler/isamspler/uimage/iimage 2021-01-17 12:13:59 +01:00
rdb
38d304f2fe glgsg: Force nearest filtering on isampler/usampler
Without this, Intel drivers will sample (0, 0, 0, 1)
2021-01-17 12:10:42 +01:00
rdb
f20d859fe2 pgraph: Fix bug passing non-tuple sequence to shader input 2021-01-16 14:05:43 +01:00
rdb
c5705e0137 Merge branch 'release/1.10.x' 2021-01-12 23:15:36 +01:00
rdb
3a41db130b gobj: Fix Texture.set_ram_image_as for 3D and multiview textures
Fixes #1095
2021-01-12 23:13:02 +01:00
rdb
6e168c2bc4 collide: Implement respect-prev-transform for capsule-into-poly
It's not perfect by any means, but it's better than nothing, and should prevent capsules from flying through walls.
2021-01-12 15:55:10 +01:00
rdb
3f08781eac collide: Improve box-into-polygon test
* Use nearly-zero test to check which edges to snap the interior/surface points to, if any, to be less sensitive to fp precision
* The respect-prev-transform test now tests for a sphere that fits inside the box, to prevent a false positive test when the box has been rotated since the last test
* More appropriate surface point for respect-prev-transform test
2021-01-12 14:59:31 +01:00
rdb
1b7f3e4bbd collide: Fix pusher if interior and surface point don't lie along normal
Currently, all tests I'm aware of put the surface point above the interior point (ie. along the normal), but there seems to be no good reason for this requirement, especially since a dot product is more efficient than a length().
2021-01-12 14:51:42 +01:00
rdb
84034f06f5 collide: Respect prev transform in box-into-poly test
Only takes changes in position in account, and the test is not entirely perfect, but mostly right
2021-01-11 19:06:24 +01:00
rdb
c52ea9a8df express: Fix reading zip file with comment at the end 2021-01-04 12:33:11 +01:00
rdb
f8039c0bc8 CMake: Add -DYY_NO_UNISTD_H definition to built flex sources 2021-01-03 00:21:48 +01:00
rdb
3f6a8b88c0 egg: Another fix for older bison versions 2021-01-02 21:51:50 +01:00
rdb
0c94f98c84 egg: Keep compatibility with Bison 2.3 (for macOS) 2021-01-02 20:55:59 +01:00
rdb
91380e8718 egg: Make egg parser and lexer reentrant
This avoids the need for the global mutex lock and allows two egg files to be read simultaneously.

Error reporting has also been improved by specifically pinpointing the offending token when an error occurs.
2021-01-02 20:11:10 +01:00
rdb
06484566b3 workflow: Update to 1.10.9 thirdparty tools for Windows
It includes an updated version of flex
2021-01-02 20:03:37 +01:00
rdb
ce235c3e60 Merge branch 'release/1.10.x' 2021-01-02 19:59:33 +01:00
rdb
2b8711e25e readme: Update links to point to 1.10.9 thirdparty tools for Windows
They contain an updated version of flex.

[skip ci]
2021-01-02 19:57:29 +01:00
rdb
6690b2d86e makepanda: Fix build error when flex is absent 2021-01-02 19:29:56 +01:00
rdb
fd2041d209 makepanda: Fix detecting flex version on macOS, more robust checking 2021-01-02 18:50:23 +01:00