rdb
2ea02ef0c8
putil: Add new primitives for async callbacks/futures
...
These are a lot lighter than AsyncFuture and safer to use in C++ due to the reliance on RAII. An async method can now take a CompletionToken, which will implicitly accept an arbitrary callable or an AsyncFuture pointer.
2025-01-27 15:28:11 +01:00
rdb
67723ca06a
display: Generalized method for running things on draw thread
...
This is more general and elegant than manually listing all operations in
a big enum
2025-01-27 14:01:51 +01:00
rdb
5b0cf9e053
glgsg: More efficient handling of texture memory barriers
...
New system uses counters instead of sets, just setting a counter for
each barrier on a texture to the same value as a counter on the GSG when
a barrier is pending, and incrementing the counter on the GSG whenever
that barrier is issued, is enough to track pending barriers since
barriers are global
2025-01-27 12:57:40 +01:00
rdb
a55860bf49
glgsg: Fix memory barrier for extract_shader_buffer_data
2025-01-27 12:54:53 +01:00
rdb
3833866801
display: Add method to synchronously download SSBO contents
2025-01-25 18:08:54 +01:00
rdb
7ba4fe365c
display: Add gsg.engine property
2025-01-25 18:08:29 +01:00
rdb
3082d28fe8
pstatclient: Fix out-of-order events with thread profiling
...
It could generate an end/start pair on a thread that is waiting due to other threads in that sync group submitting a PStats frame for the whole sync group, which would cause out-of-order events
2025-01-22 22:17:56 +01:00
rdb
da4e2cad9f
express: Use monotonic clock on POSIX (has nanosecond precision)
2025-01-22 22:16:36 +01:00
rdb
674fa4480b
task: Fix first frame on task chain missed by PStats
2025-01-22 22:14:01 +01:00
rdb
91f124e2f1
display: Allow setting a custom clock for a GraphicsEngine
...
This is essential for supporting multiple engines, otherwise both engines will try to tick the global clock in render_frame()
2025-01-21 12:16:09 +01:00
rdb
8c9ba6dc38
cocoa: Fix compilation error
2025-01-21 12:04:01 +01:00
rdb
f872a82422
display: Support sharing graphics context between GraphicsEngines
...
Automatically happens when creating a new window/buffer specifying a GSG that was created with a different engine.
2025-01-21 11:52:58 +01:00
rdb
8f4d0c8a66
gobj: Make BufferContextChain thread-safe
2025-01-21 11:37:29 +01:00
rdb
db692edfa9
glgsg: Issue memory barriers for SSBOs
...
At the moment, it assumes that all SSBO accesses are writes, once shaderpipeline lands we can sort out readonly accesses based on the qualifiers in the shader
2025-01-20 20:58:14 +01:00
rdb
271fa9d9c0
glgsg: Fix issues with render-to-texture and cube map arrays
2025-01-19 11:10:06 +01:00
WMOkiishi
eb5366b991
tests: Update mypy to version 1.14.1 ( #1715 )
2025-01-16 16:04:09 +01:00
Disyer
cc6646a448
cull: Fix crash caused by freeing a cull object with empty volume
2025-01-11 21:32:52 +02:00
rdb
be382a8f29
makewheel: Exclude some more system libs
...
[skip ci]
2024-12-29 14:39:43 +01:00
rdb
770e2fff0c
windisplay: Remove unused config.prc variable definitions:
...
- responsive-minimized-fullscreen-window
- hold-keys-across-windows
- swapbuffer-framelock
2024-12-26 22:13:57 +01:00
rdb
f4337338c1
readme: Update Android build instructions
...
[skip ci]
2024-12-26 15:03:19 +01:00
rdb
598a94abfc
android: Set minimum to API level 21
...
[skip ci]
2024-12-26 15:00:55 +01:00
burningbuffer
5965d5bbec
windisplay: Prevent window resize to zero ( #1705 )
2024-12-21 18:53:07 +01:00
rdb
899af61e2a
pgraph: Fix ModelPool return value reference count
2024-12-19 16:18:17 +01:00
rdb
e43dc87df5
Fix unit test failures on Python 3.13
2024-12-14 15:25:03 +01:00
rdb
46cf9c0507
showbase: Fix Loader when destroying and recreating ShowBase
2024-12-14 14:47:28 +01:00
rdb
3f2b9cd351
pgraph: Make ModelPool.load_model() work same as Loader.load_sync()
...
ModelPool.load_model() did not work like the other pools, didn't resolve relative to the VFS, didn't respect loader options... let's just make these work the same. We should deprecate one in favor of the other eventually
2024-12-14 13:25:12 +01:00
rdb
343ec6b367
showbase: Create Loader before ShowBase, importable from ShowBaseGlobal
...
This makes it possible to load models before opening ShowBase
2024-12-14 12:57:27 +01:00
rdb
5d465be01e
samples: Remove unused CardMaker import from procedural-cube sample
2024-12-14 12:50:17 +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
6f33bbecea
glgsg: Fix use after free with gl-force-fbo-color and layered FBO
2024-12-03 13:19:48 +01:00
rdb
26dd784153
gobj: Make BufferResidencyTracker::_residency a const field
2024-12-03 13:19:17 +01:00
rdb
ff111132f4
android: Draw to whole window, ignoring contentRect
...
This contentRect is quite odd and blocks out a big chunk at the top of the screen which doesn't really seem to correspond to anything
2024-11-27 18:11:10 +01:00
rdb
d87cbbce62
dist: Validate application_id when building for Android
2024-11-27 18:10:18 +01:00
rdb
7d753d479f
dist: Set various AndroidManifest.xml attribs, support appCategory
2024-11-27 17:17:12 +01:00
rdb
6f0fa2b4ec
dist: Fix for Android configuration changes restarting app
...
Intended to address most of #1216
2024-11-27 17:09:29 +01:00
rdb
73c6759984
android: Exit process after activity shutdown
...
Hack to help with #1216 a bit
Unfortunately this causes the activity to reopen sometimes, but maybe this can serve as a stopgap for now
2024-11-27 16:26:59 +01:00
rdb
8a1d0f7a5a
makepanda: use javac from JAVA_HOME, check for deprecations
2024-11-27 16:00:59 +01:00
rdb
a855071bcf
showbase: Fix regressions on Android due to not running on main thread
2024-11-27 15:57:05 +01:00
rdb
d6acaaffb0
dist: Android fixes, esp. for Python 3.13
...
This changes the use of sys.executable to sys.platlibdir, which requires Python 3.9+ (but that's probably okay since Python 3.8 is EOL)
Python 3.13 has proper official Android support, including built-in stdout/stderr redirection, but it only does so if sys.executable is not set
2024-11-27 00:21:11 +01:00
rdb
46e90058b9
android: Fix crash on shutdown if stdout/err is not redirected
2024-11-27 00:09:02 +01:00
rdb
d1707c48fc
makewheel: Correct path to libpython on Android
2024-11-27 00:08:09 +01:00
rdb
a32030d46e
framework: Clean up task manager on close_framework()
...
This prevents crashes due to the tasks it spawns continuing to run
2024-11-26 18:16:01 +01:00
rdb
ff3e7da752
pipeline: Never try to detach external pthread (fixes Android crash)
2024-11-26 17:02:26 +01:00
rdb
ac68b85d1f
shader: Fix compilation warning
2024-11-26 16:42:45 +01:00
rdb
347164103c
text: Don't try to use harfbuzz if freetype is not enabled either
2024-11-26 16:42:21 +01:00
rdb
c31041c8cc
android: Fix assorted errors and deprecations
2024-11-26 16:42:02 +01:00
rdb
44a41168bc
makepanda: Fix assorted Android compile / package issues
2024-11-26 16:41:13 +01:00
rdb
7191fb1ed6
makepanda: Don't look for macOS framework when cross-compiling
2024-11-26 16:40:49 +01:00
rdb
fa25c51d30
notify: Fix compile error on Android
2024-11-26 16:40:18 +01:00
rdb
639497310e
windisplay: Fix recursive loop in adjust_z_order
2024-11-14 20:21:04 +01:00