25100 Commits

Author SHA1 Message Date
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
rdb
5d5efb75e8 egg: Fix egg lexer hanging on unterminated quote or C-style comment 2021-01-02 18:43:32 +01:00
rdb
748dd61615 makepanda: Require flex 2.5.9 for building egg lexer
Otherwise, fall back to prebuilt file instead
2021-01-02 12:55:34 +01:00
rdb
6f5362c3fe egg: Add missing include 2021-01-02 12:53:24 +01:00
rdb
ea2816f4ea CMake: Add extension sources for egg and collide directories 2021-01-02 03:11:34 +01:00
rdb
f003e3434e collide: Use virtual read_datagram/write_datagram on handlers 2021-01-02 02:40:52 +01:00
rdb
e099d9e787 Merge branch 'release/1.10.x' 2021-01-02 02:33:35 +01:00
rdb
a84f1b5595 express: distinguish between null vs empty in CPTA pickle as well 2021-01-02 02:22:06 +01:00
Daniel
acbf265e54 direct: Fix actor initialization 2021-01-02 02:57:13 +02:00
rdb
c81c506df3 express: Fix PointerToArray comparison operator 2021-01-01 17:54:09 +01:00
rdb
b2462c1d8c express: Support pickling PointerToArray objects 2021-01-01 17:42:30 +01:00
rdb
52b4df4aec stdpy: Expose DEFAULT_PROTOCOL and HIGHEST_PROTOCOL in direct.stdpy.pickle 2021-01-01 17:41:34 +01:00
rdb
e755f87130 pgraph: Add pickling for LoaderFileTypeRegistry
Useful to test that pickling singletons works
2021-01-01 17:08:55 +01:00
rdb
3a5201fd65 tests: Add tests for pickling DoubleBitMask 2021-01-01 17:08:34 +01:00
rdb
c77593f3f0 egg: add pickle support to most EggData classes 2021-01-01 17:06:23 +01:00
rdb
f8ce339960 collide: Add pickle support for most collision handlers
Also redo CollisionHandlerEvent pickling to use Datagram instead

Related to #1090
2021-01-01 16:56:18 +01:00
rdb
a7042091be py_panda: backport some py_compat.h definitions 2021-01-01 16:37:21 +01:00
rdb
9cb129597c stdpy: pickle improvements
* Define __all__
* Define missing exception types
* clear_memo() now clears Panda-specific state as well
2021-01-01 15:58:51 +01:00
rdb
99f9352e76 interrogate: improvements to __setstate__ handling:
* Force single arg variant, easing argument parsing
* Allow defining __setstate__ taking multiple args, leading to tuple unpack
* Allow __setstate__ to be called on already initialized object (useful with __reduce__)
2021-01-01 15:57:41 +01:00