Commit Graph

409 Commits

Author SHA1 Message Date
rdb a9aa25577a glgsg: Support updating SSBO data from the CPU (only UH_dynamic) 2025-12-31 21:23:25 +01:00
rdb 86b1304588 display: Support extracting only subset of SSBO 2025-12-31 20:45:26 +01:00
rdb b806035c40 putil: Switch to new Python 3.13+ public long APIs for BitArray 2025-12-31 20:06:03 +01:00
rdb c54c908d28 Merge branch 'release/1.10.x' 2025-12-29 10:55:23 +01:00
rdb 12b5fafa9f tests: Fix future tests always failing on Python pre-3.5 2025-12-23 20:31:56 +01:00
rdb 8177021155 tests: Fix unit test suite on Python 2.7 2025-12-23 20:30:56 +01:00
rdb 14b8cd74c2 tests: Fix GLSL shadow matrix unit test values 2025-12-22 16:16:31 +01:00
rdb c8c5ae829d putil: Fix SparseArray get_lowest_on_bit and get_lowest_off_bit
Cherry-pick of d173086a6f
2025-12-22 11:57:03 +01:00
rdb 04e5cbe706 Add support for (occlusion-)metallic-roughness textures
Existing "selector" mode (which was unused and has been used to
implement ORM textures has been renamed to metallic-roughness, and new
modes have been added for occlusion and occlusion-metallic-roughness.
New GLSL input names have been added.  The .egg format has been
extended.  The Assimp loader has been updated.  The shader generator now
handles occlusion maps, and a unit test for that is added.
2025-12-22 11:44:45 +01:00
rdb 1047728429 tests: Support running test suite from adb shell 2025-11-05 12:52:47 +01:00
rdb 983c88e005 tests: Make threading tests conditional upon thread support 2025-10-15 20:48:56 +02:00
rdb b7fb4af197 tests: Fix test run with OpenSSL disabled 2025-10-15 11:58:55 +02:00
rdb 25ef6112de express: Update SHA256 code in ZipArchive for OpenSSL v3 2025-10-15 11:43:10 +02:00
rdb 469df73ce7 tests: Add unit tests for send() and throw() on generator wrapper 2025-08-28 12:31:51 +02:00
rdb cc6674643e tests: Fix test_typed_writable_subclass for Python 3.14
[skip ci]
2025-08-26 14:20:23 +02:00
rdb e4e5d75df7 tests: Fix mypy, Windows test failures 2025-07-28 22:47:16 +02:00
rdb bd4b3dd1a7 showbase: Rewrite VFSImporter for newer Python import system
Fixes #1718
2025-07-28 20:35:00 +02:00
rdb e57c71d8e4 event: Change result of AsyncFuture gather() to return list
Better matches asyncio gather

See #1738
2025-07-28 15:43:12 +02:00
rdb 9a2da04573 Merge branch 'release/1.10.x' 2025-07-28 15:41:08 +02:00
rdb 5bc9b70e86 event: Make cancel() for regular tasks work like remove()
Fixes #1741
2025-07-28 15:18:03 +02:00
rdb 41e4cf5d11 event: Fix `await gather()` returning first item instead of tuple
Fixes #1738
2025-07-28 14:58:42 +02:00
WMOkiishi 8de98592ca
showbase: Annotate basic `Loader` methods (#1723) 2025-02-19 18:59:19 +01:00
rdb 6452907b64 Improvements for env handling with node.js and emscripten
- Initializes the environment so that getenv et al works properly
- No longer calls JS functions at static init time; the JS preamble will
  pass the right env vars to ExecutionEnvironment
- Sets the binary name to the path of the .js file
2025-02-03 18:06:30 +01:00
rdb f188c8a028 tests: Use approx comparison for test_depth_bias 2025-01-30 11:38:17 +01:00
rdb 1281875cbc linmath: Fix degenerate case in decompose_matrix
Regression in 583f7366db
2025-01-29 17:05:16 +01:00
rdb 3833866801 display: Add method to synchronously download SSBO contents 2025-01-25 18:08:54 +01:00
rdb e43dc87df5 Fix unit test failures on Python 3.13 2024-12-14 15:25:03 +01:00
rdb 5e05049725 collide: Add custom owner field to CollisionNode
This stores a weakref to a custom Python object, useful for being able to look up the game object corresponding to a particular collision node in an event without the downsides of Python tags

Fixes #1703
2024-12-14 12:48:24 +01:00
rdb d173086a6f putil: Fix SparseArray get_lowest_on_bit and get_lowest_off_bit 2024-11-14 20:09:29 +01:00
rdb c3326fa0da tests: Fix node check for other envs 2024-11-06 11:09:50 +01:00
rdb 221d35d3a6 Allow running test suite with emscripten via node.js 2024-11-04 18:40:30 +01:00
rdb 1a4ca179a9 tests: Properly skip Pmw tests when tkinter is not present 2024-11-04 13:19:38 +01:00
rdb 957c4b9bce Merge branch 'release/1.10.x' into master 2024-10-30 18:40:32 +01:00
rdb 6d54aee0c7 Remove runtime dependency on interrogatedb 2024-10-30 17:46:26 +01:00
rdb 6010c711c0 tests: Add bin dir to PATH when running FreezeTool test 2024-10-30 14:14:25 +01:00
rdb fd7da1908f tests: Fix test suite with 3.13t build
[skip ci]
2024-10-29 16:45:08 +01:00
rdb 583f7366db linmath: Significant perf optimizations for decompose_matrix 2024-10-19 13:17:19 +02:00
rdb 14f3cb0e40 tests: Add unit test for static property 2024-09-19 20:25:45 +02:00
John C. Allwein e7604cb163 event: fix result refcount leak when awaiting AsyncFuture
Raising the StopIteration exception left the underlying
result with an elevated refcount which prevented it from
being cleaned up.
2024-09-14 15:59:05 -06:00
John C. Allwein cfe3885c0e
event: use the persistent python wrapper when appending task object (#1681) 2024-09-14 20:25:08 +02:00
rdb fc394e4c59 glgsg: Pass in osg_FrameNumber input via ShaderMatSpec mechanism 2024-08-23 21:08:50 +02:00
rdb 99225dfaef shader: Unify ShaderPtrSpec and ShaderMatSpec mechanisms 2024-08-23 16:29:42 +02:00
rdb dfc85b8a68 tests: Make shadowViewMatrix test less sensitive 2024-08-23 16:28:10 +02:00
rdb a8ca06ea47 tests: Don't fail Dial test if tkinter failed to import 2024-08-23 14:20:38 +02:00
rdb e2ad8f2a2f tests: Test additional properties of light source struct 2024-08-23 14:20:35 +02:00
rdb d5d0b80dd3 tests: Add unit tests for GLSL light, material, fog structs 2024-08-23 12:35:01 +02:00
John C. Allwein 21b39da65d pythonTask: fix refcount leak of non-panda Future::done
A missing Py_DECREF on the future's "done" method
caused both the bound method and the underlying
self instance of the future to be leaked when
awaiting non-panda futures (such as _asyncio.Future).

This change includes a simple new test addition
to catch this in the future.
2024-08-08 21:51:03 -06:00
rdb ad57762e9f Merge branch 'release/1.10.x' 2024-08-07 22:34:08 +02:00
rdb 8c8cbeea98 linmath: For repr, use as much precision as needed for roundtrip
Will use as few digits as is necessary to ensure that round-tripping the same number with pstrtod will result in the same vector.  This prevents eg. 3.3 formatting as 3.29999995 while still ensuring that two floats that are not equal (other than nan) are guaranteed to have a different string representation.

Uses a hacky pftoa function that can be abandoned as soon as we adopt C++17, which has to_chars that does what we need

Fixes #1671
2024-08-07 17:24:11 +02:00
rdb b6ec48b27c Fix invalid metadata version 2.0 (should be 2.1) 2024-05-28 22:28:37 +02:00