25849 Commits

Author SHA1 Message Date
rdb
3dbaf80841 pstats: Fix compile error on Windows with STDFLOAT_DOUBLE=1
Fixes #1408
2022-12-07 13:52:11 +01:00
rdb
5f3f2339e6 dist: Drop egg2bam handler, add egg/gltf/glb to bam_model_extensions
See #714
2022-12-06 20:04:45 +01:00
rdb
c82f95ad6b Merge branch 'release/1.10.x' 2022-12-06 20:02:35 +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
Disyer
7e4cf28f27 dtool: Upgrade default encryption algorithm to AES-256 (#1337)
The Blowfish cipher is no longer available on OpenSSL 3.x by default. It requires enabling the legacy cipher suite, which is compiled separately from the main OpenSSL library. AES-256 is a good replacement cipher that has hardware support in most newer computers. AES-256 is also available in OpenSSL 1.0.2.
2022-12-04 19:28:29 +01:00
rdb
7a55c723ba Merge branch 'release/1.10.x' 2022-12-04 19:28:03 +01:00
rdb
59eb1510b9 pstats: Fix compilation without HAVE_THREADS or with SIMPLE_THREADS 2022-12-04 19:26:22 +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
550aad7024 Fix some uses of AtomicAdjust::Pointer to use patomic<T *> 2022-12-04 00:36:41 +01:00
rdb
05b3fe2170 dtoolbase: Use patomic<size_t> for memory usage counters 2022-12-03 22:42:03 +01:00
rdb
7c85b54ba4 pstats: Use proper microsecond symbol on GTK 2022-12-03 22:28:02 +01:00
rdb
bb530435e8 pstats: Offload more work to separate PStats thread
This improves performance of PStats client when a lot of data is being sent per frame.

Also increase the value of pstats-max-queue-size, since otherwise we're constantly dropping frames when using multiple threads.
2022-12-03 22:27:46 +01:00
rdb
82522a7bef dtoolbase: Fix compile error in patomic.I with HAVE_THREADS=UNDEF 2022-12-03 21:53:02 +01:00
rdb
863a38e901 pipeline: Display error if joining thread failed
This can occur if a thread tries to call join on itself
2022-12-03 21:48:34 +01:00
rdb
d6055cc927 pstats: Timeline: show longer collector name if there's room
Similar to what we're doing on the flame graph now

Also, tweak tooltip message for collectors that overlap frame boundary if it's partially on a dropped frame, so that it isn't misleading
2022-12-03 21:44:36 +01:00
rdb
cb0d52b1b5 pstats: Changes to make GTK+ timeline impl match Windows
Adding vertical scroll, allowing resizing of the window, and putting the frame number to the right of the frame divider line instead of centering it

Also, never makes the Timeline window taller than the screen
2022-12-03 21:42:21 +01:00
rdb
76677e5c00 pstats: Deprecate PStatClient::resume_after_pause()
It creates a clock skew in the PStats timing information that cannot be corrected for in the server.  If we want to bring this back, we should either have a global `pause()` and `resume()` (so we can properly pause collection in the meantime, and have a time to reset to, but we'd need to think about how to handle threading) or we should add a `drop_frame()` to drop the current frame.  If we must bring it back in its current form, then we need to communicate the clock reset to the server, so that it can properly take it into account.
2022-12-02 22:19:43 +01:00
rdb
f3cf30089b pstats: Improvements and fixees to Timeline view:
- Properly display and stack bars overlapping frame boundaries
- Ignore "App:Show code:General" collector (already disabled on master, but to support 1.10 clients) - it's an "inverted" collector that doesn't nest properly so it messes up the stacking
- Better handling / display of dropped frames
- Better handling of clock skew due to `PStatClient::resume_after_pause()` (but please don't use it, because it's not possible to fully handle it properly)
- Vertical scrolling (Windows only)
2022-12-02 22:19:43 +01:00
rdb
12c51fe2f6 pstats: Fix flame graph showing old results when opening in non-running session 2022-12-02 22:19:43 +01:00
rdb
fd7f738365 pstats: Fix extremely slow constant rebuilding of chart menus in GTK impl 2022-12-02 22:19:35 +01:00
rdb
40f4656165 installpanda: Enable start-up notifications for pview
See cf4fa526c94fc507db386a0da566f2a69aef6d41 for more information
2022-12-01 15:52:16 +01:00
rdb
098e303669 makepackage: Don't open a terminal when starting pview from .desktop 2022-12-01 15:52:16 +01:00
rdb
60acf82f04 x11: Support desktop startup notification
This lets the window manager know when a program has finished launching, to stop showing a spinning cursor

Can be disabled with `x-send-startup-notification false`
2022-12-01 15:52:15 +01:00
rdb
f593026061 x11: Support _NET_WM_PING 2022-12-01 15:18:45 +01:00
rdb
b6dd2b8ec1 makepanda: Add file associations and shortcuts for pstats 2022-12-01 15:08:41 +01:00
rdb
706c354b02 pstats: Support for command-line options (session file, port number) 2022-12-01 15:05:34 +01:00
rdb
7e8dfc58ce makepackage: Remove mention of .p3d files from installer.nsi 2022-12-01 13:46:02 +01:00
rdb
1564435bbd pstats: Move last session and layout files to $XDG_STATE_HOME on Linux
This is a new directory that is slightly more persistent than $XDG_CACHE_HOME
2022-12-01 13:04:54 +01:00
rdb
1e542a43a1 pstats: Add keyboard shortcuts in GTK+ implementation 2022-12-01 13:03:53 +01:00
rdb
0421ee31b3 Merge branch 'release/1.10.x' 2022-12-01 12:59:27 +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
87012f869d text-stats: Fix typo in help message (pstats-port, not pstats-host) 2022-11-30 14:03:31 +01:00