Commit Graph

11103 Commits

Author SHA1 Message Date
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
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 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 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 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 d00d4a44a0 gobj: Properly initialize Texture object on all stages
Previously, forward stages would be uninitialized, resulting in cryptic errors with ahead-of-time preparation (although arguably ahead-of-time preparation is a bug in and of itself)
2022-11-26 16:56:07 +01:00
rdb 1f9f6a618f vision: Fix use of wrong delete operator in ARToolKit code 2022-11-21 18:33:35 +01:00
rdb 09f8634433 pipeline: Minor optimizations in cycler copy constructor
When copying a dirty cycler, don't use two separate lock-grabbing calls to add to the clean set, then remove from clean set and move to dirty set

Short-cut the cdata copy loop for the common case of only 1 stage
2022-11-21 18:31:54 +01:00
rdb 8a48c3b711 pgraph: Remove recursive lock grab in `Light.set_color()`
Harmless, but unnecessary
2022-11-21 18:26:19 +01:00
rdb fcfa1d2c99 gobj: Fix `ShaderBuffer.prepare()` not actually doing anything 2022-11-21 18:25:46 +01:00