24046 Commits

Author SHA1 Message Date
rdb
cd984732b7 pgraph: Make bounds_type property writable 2022-12-10 19:45:29 +01:00
rdb
fb14c29525 pstats: Server can handle new protocol version 2.3
It changes the following things:
* Changes the counts in the PStatFrameData from uint16 to uint32, since I was hitting the value limit in some heavy frames with Python profiling enabled - no good reason for this limitation, so this allows removing it later
* Adds a T_expire_thread message, which I can use later to fix #450

These features are not used on the client side, but will be used on master.  Adding these changes here now makes it possible to use a master client with a 1.10.13 version of the server (can be useful if you can't compile Panda on the host).
2022-12-10 19:45:29 +01:00
rdb
3254c6d329 pstats: Optimize PStatFrameData (de-)serialization
This can be slow (hundreds of us, up to multiple ms) with large amounts of data points, this makes it an order of magnitude more efficient
2022-12-10 19:45:29 +01:00
rdb
d48e23f234 pstats: Indicate how to disable rate limit 2022-12-10 19:45:26 +01:00
rdb
75b12fe6e2 express: Fix a comment in datagram.cxx
[skip ci]
2022-12-10 19:06:39 +01:00
rdb
a9e5d84d27 notify: Fix crash when using set_ostream_ptr from Python
Also allow passing in None

Fixes #1371 (and maybe also #319)
2022-12-09 17:34:27 +01:00
rdb
1375d38725 showbase: Fix assorted issues with GarbageReport:
* Use of removed `types.InstanceType`
* New-style classes are not reported very neatly
* Extreme amount of digits in report due to float division

Fixes #1304
2022-12-09 17:34:27 +01:00
rdb
dae26c2e4b cocoadisplay: Fix fullscreen regression on Intel macs
Partially backs out 619050bb32a6b154e48af968ca9372278292cd61

Fixes #1316 (for good this time hopefully)
2022-12-08 15:20:14 +01:00
rdb
602bd3e023 gobj: Fix Texture render_to_texture flag garbage after CData copy 2022-12-07 19:02:30 +01:00
rdb
bdb55c480b cocoadisplay: Fix missing includes 2022-12-07 18:58:54 +01:00
rdb
5751fc6478 cocoadisplay: Fix a whitespace error 2022-12-07 18:58:38 +01:00
rdb
72376e95f1 cocoadisplay: Even better applicationShouldTerminate handling
It seems that performClose doesn't actually work properly for fullscreen windows
2022-12-07 18:34:36 +01:00
rdb
02a1e116f9 readme: Minor wording tweaks
Closes #1319

Co-authored-by: IsakTheHacker <67378443+IsakTheHacker@users.noreply.github.com>
2022-12-07 17:56:39 +01:00
rdb
4979a8ba3f cocoadisplay: More graceful application termination behavior
See #1321
2022-12-07 17:52:11 +01:00
LD
5fa3f3eb68 cocoadisplay: Call remove_all_windows() when the application is about to close
Part of #1321
2022-12-07 17:22:23 +01:00
rdb
c85cc8f2e8 cocoadisplay: fix unprotected debug/spam prints 2022-12-07 17:20:41 +01:00
rdb
2a65f583d0 cocoadisplay: Small tweak to fullscreen fix 2022-12-07 17:16:18 +01:00
rdb
dcdd504e3f ode: Fix warnings when copying OdeTriMeshGeom 2022-12-07 17:15:49 +01:00
rdb
3f3fd74f86 dist: Use Panda loader system for converting models to .bam
Set bam_model_extensions in order to specify which formats are automatically converted to .bam

Fixes #714
2022-12-06 19:41:00 +01:00
rdb
765d76740d dist: Use manylinux2014_x86_64 for linux_x86_64 alias on Py 3.11 2022-12-06 19:37:38 +01:00
rdb
27d3aed2d3 makepanda: Fix detection issues with newer macOS/XCode versions 2022-12-06 17:30:26 +01:00
rdb
619050bb32 cocoadisplay: Fix fullscreen issues on M1 macs
The OpenGL-on-Metal drivers used on these machines don't support CGLSetFullScreenOnDisplay, so we need to disable it on those machines.  This also applies when running a x86_64 app through Rosetta 2, hence the sysctlbyname check.

Furthermore, we need to set the appropriate shielding level, which need not be `NSMainMenuWindowLevel+1`.

Fixes #1316

Co-authored-by: LD <laurent.deru@gmail.com>
2022-12-06 16:59:55 +01:00
rdb
45ac5029c0 glgsg: Fix compile error with OpenGL ES 1
Introduced by 2c9deaaaf06fba7b4d5f71e9e75cd4919aa5a18e
2022-12-06 16:53:51 +01:00
rdb
32ebe11b06 dist: Add an option to retain docstrings in compiled Python code
Fixes #1341
2022-12-06 15:21:39 +01:00
rdb
ffbfdb22e0 dist: Add prefer_discrete_gpu option to force use of dedicated GPU
Currently only implemented on Windows.

Fixes #680
2022-12-06 15:20:57 +01:00
rdb
ecbd262ac4 dist: Always use manylinux2014 for Python 3.11+, add manylinux_2_28 2022-12-06 14:43:47 +01:00
rdb
0a8e4e31f8 makepanda: Add handling for manylinux_2_28
Note that this version drops 32-bit intel support
2022-12-06 14:43:06 +01:00
rdb
ff9ff688be tform: Fix "without" event generation when mouse leaves window
Fixes #1400
2022-12-06 13:48:23 +01:00
rdb
8a46c3dc64 windisplay: Only release capture when last mouse button is released
This fixes issues with lost up events when dragging out of the window with multiple buttons held

Fixes #1396
2022-12-06 13:36:14 +01:00
rdb
2c9deaaaf0 glgsg: Fix 1 texture stage limit when setting gl-version 3 2 or higher
Fixes #1404
2022-12-06 12:57:45 +01:00
rdb
95a77e4f75 showbase: Add do_events() and process_event() snake_case aliases 2022-12-06 12:57:02 +01:00
rdb
02028aa789 Update BACKERS.md
[skip ci]
2022-12-06 12:56:37 +01:00
rdb
32f9054067 prc: Add ConfigVariableFilename.__fspath__()
Fixes #1406
2022-12-06 12:52:44 +01:00
rdb
41f0c9d48d pgraph: Support None as second arg of replace_texture/replace_material
This removes the relevant texture or material
2022-12-04 19:24:04 +01:00
rdb
d621df47ac prc: Fix bf-cbc encryption/decryption regression with OpenSSL 3.0
Loads the legacy provider to continue supporting this algorithm
2022-12-04 19:22:26 +01:00
rdb
8ca804086f pgraph: Fix a compiler warning in renderEffects.I
Initialization is unnecessary, but harmless
2022-12-04 16:58:49 +01:00
rdb
0866d485b1 pstats: Set default value for pstats-max-queue-size to 4
Otherwise any multithreaded application is dropping frames like mad, since the packets for different frames may be added to the same queue at roughly the same time.
2022-12-04 16:57:55 +01:00
rdb
20459118e2 dtoolutil: Add XDG_STATE_HOME on Linux 2022-12-01 12:56:45 +01:00
rdb
f9ebca2bec makepanda: Fixes to pview.desktop
It accepts multiple files (not URLs), and it doesn't actually handle startup notification properly, so don't keep showing that spinner
2022-11-30 23:41:47 +01:00
rdb
0d30045670 workflow: Update Python versions 2022-11-29 20:18:32 +01:00
rdb
5aad1d8404 interrogate: Change error message to mention interrogate
This makes it more obvious that the error is coming from interrogate when encountering a parse error in a build log
2022-11-29 20:14:33 +01:00
rdb
44dd2bd091 workflow: Update to 1.10.13 thirdparty packages 2022-11-29 20:14:20 +01:00
rdb
e5d36e2d01 makepackage: Add instructions for installing Python 3.12 bindings 2022-11-29 20:13:49 +01:00
rdb
e17b76f775 readme: Update links to point to 1.10.13 thirdparty packages
[skip ci]
2022-11-29 20:12:57 +01:00
rdb
adc324bbde pstats: Fix assorted compile issues in more esoteric configurations 2022-11-29 20:11:59 +01:00
rdb
50cfdebd9c pstats: Integrate Python profiler with PStats
Enabled with `pstats-python-profiler 1`, requires recent version of PStats server.

Currently, it is limited to the main thread only.  Support for other threads may be added at a later date.
2022-11-29 16:00:09 +01:00
rdb
7b9f2cd854 pstats: Support nested start/stop pairs in the server, accept 3.1
Currently, the client doesn't send nested start/stop pairs, but there is no good reason not to handle this case in the server, and in some cases it is useful to send them (I will soon make changes on master to take advantage of this).

Client version 3.1 indicates that the client may send nested start/stop pairs.
2022-11-29 15:48:02 +01:00
rdb
f54747c213 makepanda: Make error about Android architecture suggest solution 2022-11-29 14:23:32 +01:00
rdb
3468b95fa9 pstats: Show collector start/stop pair count in time-based graphs
It can be very useful to know how often a collector was invoked in a frame, not just how long it took.  This adds a number to the upper-right corner showing exactly that (but not aggregated, just for leaf collectors).
2022-11-29 13:01:55 +01:00
rdb
5247446500 pstats: Performance improvements for time-based strip charts
Remove the use of set and list, which are allocator-heavy and insertion was a bottleneck.  Since each sample occurs only once on the linked list, we can more efficiently roll our own linked list with next and prev pointers, so no allocation needed.  Instead of the set, we can just store a per-collector flag.
2022-11-29 12:51:04 +01:00