Commit Graph

26415 Commits

Author SHA1 Message Date
rdb 79d6727077 Move MAIN_DIR initialization code from interrogate to panda3d
Using the new -init flag, see panda3d/interrogate#3
2025-02-02 20:11:32 +01:00
rdb ea1cbe47ac dist: Add missing hidden import for panda3d.core on enum 2025-02-02 20:07:10 +01:00
rdb 3f0f90d83d makepanda: Don't try to call interrogate_module with -vv 2025-02-02 20:06:46 +01:00
WMOkiishi b0e1e0c75a showbase: Annotate callback methods 2025-02-02 09:28:25 +01:00
rdb 0404febf96 windisplay: Fix IME result not showing up without `ime-aware true` 2025-01-30 14:13:15 +01:00
rdb e681c17215 glgsg: Use glClearTexImage even when tex has no storage
Just use glTexImage with null image to create the storage first, then
clear it, this prevents needlessly generating a filled RAM image on the
CPU
2025-01-30 11:58:25 +01:00
rdb f188c8a028 tests: Use approx comparison for test_depth_bias 2025-01-30 11:38:17 +01:00
rdb 99b3888712 gobj: Fix Texture::clear_clear_color() 2025-01-30 11:38:00 +01:00
rdb f6f391bd3d glgsg: Don't override texture clear color for FBO attachments
This applies to FBOs without a clear set; the clear color set on the
texture should determine the initial color.
2025-01-30 11:36:23 +01:00
rdb 8114971c56 webgl: Improve handling of canvas focus
Can now forcibly focus to the canvas with a foreground request, and now
focuses automatically on window open (except if requested not to)
2025-01-29 17:05:21 +01:00
rdb 1281875cbc linmath: Fix degenerate case in decompose_matrix
Regression in 583f7366db
2025-01-29 17:05:16 +01:00
rdb 1fa8e2b0fc webgl: Don't use stringToUTF32 for keypress handling 2025-01-29 17:05:11 +01:00
rdb 287e456077 glgsg: Fix BGR swap regression for sync uploads
Was regression in 2a47826101
2025-01-29 17:05:00 +01:00
rdb fa64a52fca glgsg: Do not prefer depth-stencil ms renderbuffers on macOS
Fixes #1719
2025-01-29 11:12:07 +01:00
rdb 1234388de8 glgsg: Make multisample renderbuffer format match regular one 2025-01-29 11:11:47 +01:00
rdb 9c7e9e9805 glgsg: Add more debug prints for renderbuffer creation 2025-01-29 11:10:42 +01:00
rdb 97fcbc2e15 glgsg: Fix error message for unhandled external formats 2025-01-29 11:08:43 +01:00
rdb 3725a00fdc glgsg: Fix typo 2025-01-28 10:40:43 +01:00
rdb 1a431b3894 glgsg: make async texture transfer threads configurable 2025-01-28 09:53:34 +01:00
rdb 55a3a0d2af glgsg: async screenshot refactor, general mechanism for fences 2025-01-27 19:36:04 +01:00
rdb 2a47826101 glgsg: Big refactoring of texture uploading, add async upload support 2025-01-27 19:35:59 +01:00
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