Commit Graph

11117 Commits

Author SHA1 Message Date
rdb aaabb6a652 Fix assorted issues uncovered by clang-tidy 2023-02-12 13:55:59 +01:00
rdb 914993f31b putil: Fix SimpleHashMap error reporting at static init time 2023-02-12 13:49:44 +01:00
rdb 173dd67b52 glgsg: Fix p3d_LightModel.ambient not updating properly 2023-02-12 13:07:14 +01:00
rdb 3d7c2505e9 pnmimagetypes: Fix memory leaks writing TIFF files 2023-02-11 15:21:16 +01:00
rdb 718bac1c69 audiotraits: Fix crash when encountering corruption in OpenAL stream
Partial backport of #1452
2023-02-03 14:44:14 +01:00
rdb a20996d2aa pgraphnodes: Support missing texture types in shader generator:
- Cube arrays
- 1D texture arrays
- Buffer textures

Not to say that they are displayed meaningfully, but better than a cryptic error message.
2023-01-31 17:40:55 +01:00
rdb d69d393e4c glgsg: Set ultimate Cg profiles to gp5vp/gp5fp/gp5gp
These support the most features, including cube map arrays (which aren't even supported in glslv/glslf)

This improves the quality of error messages, eg. using cube map arrays will no longer display a cryptic error about no overload of texCUBEARRAY() being available
2023-01-31 17:38:54 +01:00
rdb 52c7d6bddb shader: Add missing handling for 1D array textures in Cg shaders 2023-01-31 17:37:18 +01:00
rdb 51d0a55264 general: Fix silly new clang warning about unprefixed `std::move()` 2023-01-31 15:38:02 +01:00
rdb 614502d183 gobj: Add note to API doc about maximum stride value 2023-01-31 15:36:43 +01:00
rdb c5ccd6232d glgsg: Prevent exceeding max supported vertex attrib stride
See also Moguri/panda3d-gltf#117
2023-01-31 15:30:52 +01:00
rdb ef58255abd vision: Fix another use of wrong delete operator in ARToolKit code 2023-01-27 10:40:47 +01:00
LD 518ee0fb8e cocoadisplay: Capture display before switching to fullscreen mode 2023-01-20 18:16:43 +01:00
rdb 4b992105e1 ShaderGenerator: Fix support for hardware point sprites
In gp5fp and glslf profiles, we can rely on per-fragment point coordinates to be available, otherwise we have to emulate support by calculating it from the fragment pixel coordinates
2023-01-16 19:33:09 +01:00
rdb e696ac4046 cocoa: Fix black bar when switching to fullscreen while z-order is top 2023-01-13 22:05:06 +01:00
rdb 76386bc4c0 cocoa: Fix window sizing bug when simultaneously changing undecorated 2023-01-13 22:04:42 +01:00
rdb 8c5e2e74f5 cocoa: Fix undecorated setting ignored when switching off fullscreen 2023-01-13 22:03:33 +01:00
rdb 7a8e218da7 glgsg: Correctly handle 4-component texcoords in default shader 2023-01-13 19:35:45 +01:00
rdb 67c413f089 dxgsg9: Fix issues setting some kinds of automatic shader inputs 2023-01-13 19:19:16 +01:00
rdb 709555577f ShaderGenerator: Add support for perspective points
Fixes #1440
2023-01-13 19:12:01 +01:00
rdb 6ad50b5cb1 ShaderGenerator: implement remaining missing TexGenAttrib modes
Fixes #1437
2023-01-13 17:04:04 +01:00
rdb 10f4c6bb21 shader: Add texconst_i shader input for Cg shaders to access TexGen constant 2023-01-13 17:02:15 +01:00
rdb 21347bb2d5 glgsg: Fix bug if same texture is used with different tex gen modes in FFP 2023-01-13 17:00:12 +01:00
rdb 86a1973f89 x11display: Clean up cursor filename map after freeing it
Not essential, but slightly neater
2023-01-13 14:53:25 +01:00
rdb 6404704ee3 x11display: Attempt to fix crash on shutdown with custom cursor 2023-01-12 22:51:49 +01:00
rdb 0911040999 express: Fix compile error with GCC 2022-12-19 16:38:19 +01:00
rdb 896346b99f gobj: Implement `copy.deepcopy()` for Texture class
Actually ensures that the underlying RAM images are really fully unique.
2022-12-19 16:22:33 +01:00
rdb e67cd74725 express: Implement `copy.deepcopy()` for PointerToArray
It actually makes a unique copy of the underlying array.
2022-12-19 16:22:00 +01:00
rdb 0ace26a938 gobj: Fix double-precision colors not being clamped in GeomVertexWriter 2022-12-19 15:18:04 +01:00
rdb e5a8eb5b1d cocoadisplay: Fix Command+Q in green-button-style fullscreen mode
It seems macOS has an extra NSWindow without a delegate in this mode
2022-12-19 12:55:57 +01:00
rdb 7f916eeb74 gobj: Don't wastefully compute bounds for Geom with custom bounds
This was done by `get_nested_vertices()`, which now won't call the expensive `compute_internal_bounds()` if there was a custom bounding volume set.
2022-12-16 20:18:57 +01:00
rdb 9cb60ccd93 cocoadisplay: Fix oversized window getting an awkward offset
We currently do the centering based on the total screen size, not the screen size that macOS actually lets us use.

See #1312
2022-12-16 16:07:58 +01:00
rdb 38528b797b downloader: Initialize winsock even if nativenet is compiled out
Fixes HTTPClient when static linking if nativenet is not used and therefore init_network() is compiled out
2022-12-15 19:51:18 +01:00
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 dae26c2e4b cocoadisplay: Fix fullscreen regression on Intel macs
Partially backs out 619050bb32

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 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 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 2c9deaaaf0
2022-12-06 16:53:51 +01:00