Commit Graph

11606 Commits

Author SHA1 Message Date
rdb 5ef1b44455 event: cancel future being awaited when cancelling coroutine task
Fixes #1136
2021-04-18 17:05:00 +02:00
rdb cdf5b16ddd task: Add AsyncFuture::shield() ability, part of #1136
This is modelled after `asyncio.shield()` and can be used to protect an inner future from cancellation when the outer future is cancelled.
2021-04-09 18:28:07 +02:00
rdb e9e1bb1bc6 dtoolutil/express: Resolving empty filename should yield no result
See #1140 - I may revert this if someone can demonstrate a compelling use case (for current directory, you can use "." instead), but it seems to have the potential to cause unintuitive behavior.
2021-04-09 18:26:00 +02:00
rdb 47f35a287c Merge branch 'release/1.10.x' 2021-04-09 18:25:57 +02:00
rdb 69c6050fa8 glgsg: Only copy depth of 32-bit float depth-stencil framebuffer
We don't support float-32-unsigned-int-24-8 component types in texture yet, so this is the only choice.  Avoids a GL error when binding to RTP_depth_stencil slot.

Fixes case 2 of #1142
2021-04-09 10:47:54 +02:00
rdb 715d786813 display: Prevent attempt to copy depth from non-depth framebuffer
Fixes case 1 of #1142
2021-04-09 10:45:22 +02:00
rdb 99a3188af2 glgsg: Fix missing component types in glReadPixels spam message 2021-04-09 10:30:45 +02:00
rdb 31feeb9b9f glgsg: Fixes to format selection for copy-to-ram of framebuffer
Fixes #1141
2021-04-08 18:46:10 +02:00
rdb eee1426e37 glgsg: Fix ability to get r11g11b10 float renderbuffer 2021-04-08 18:44:52 +02:00
rdb dd3510eea7 Merge branch 'release/1.10.x' 2021-04-08 12:30:35 +02:00
rdb 4a7d03d9b1 pnmtext: Fix loading an invalid font resulting in a crash
Related to #1140
2021-04-08 12:08:03 +02:00
rdb ab4367ee7b glgsg: Fixes to format selection in OpenGL renderbuffers
Fixes #1137
2021-04-07 00:20:38 +02:00
rdb bcb61fec09 pgraphnodes: Fix draw callback called twice in certain cases
This would happen if you call upcall() in a CallbackNode's cull callback.
2021-04-06 16:38:51 +02:00
rdb 51a6923008 device: Work around FreeBSD kernel bug for querying gamepad axes
This is to support older kernels, which always returned 0 from successful ioctl, rather than the number of bits.  This was fixed in the FreeBSD kernel trunk.
2021-04-05 17:19:47 +02:00
rdb 7be4b7c3bb device: Support evdev gamepads on FreeBSD 2021-04-05 17:14:30 +02:00
rdb e034e7f4b3 Merge branch 'release/1.10.x' 2021-03-31 23:08:21 +02:00
rdb fa73657d03 pgui: Revert part of f2e488fd6b
This caused a regression due to a removal of update_frame invocation in single-threaded pipeline, needs to be revisited later on master branch
2021-03-31 17:27:11 +02:00
rdb 43fb82fa66 gobj: Add config switch for Panda not to default to packed vertex colors
See #981.  Setting `vertex-colors-prefer-packed` to false will make Panda default to OpenGL-style vertex colors, which is useful if are targeting OpenGL and not DirectX 9, avoiding a potential performance cost.
2021-03-25 23:15:58 +01:00
rdb b405df72fa Merge branch 'release/1.10.x' 2021-03-25 23:13:36 +01:00
rdb c36fa1ef17 glgsg: Workaround driver bug causing flickering in AMD RDNA cards
Apparently, the use of glColorPointer with GL_BGRA causes these cards to display garbled vertex colors (tested with RX 5700 XT).  This bug doesn't seem to affect glVertexAttribPointer.

The "fix" is to just disable packed-dabc colors if these cards are detected.  This may cause a minor performance regression since the vertex data now needs to be munged--possibly even unnecessarily, if shaders are used, but this effect is likely very minor (and can be addressed in other ways).

Fixes #981
2021-03-25 23:12:35 +01:00
rdb 6e0af8abe4 physics: Fix Mac OS X 10.6 compilation issue with <atomic> header 2021-03-25 15:37:52 +01:00
rdb eb6eb9f1dd Merge branch 'release/1.10.x' 2021-03-24 13:58:00 +01:00
rdb 8372b8150a gobj: Cube map sampling support in TexturePeeker
Closes #1098

Co-authored-by: Mitchell Stokes <mogurijin@gmail.com>
2021-03-24 12:50:42 +01:00
LD 23150bd6d6 pgraph: Add the shader attrib to the filled wireframe render state
Fixes #1021
Closes #1124
2021-03-23 16:18:00 +01:00
rdb 94806801e3 Add p3headlessgl render plug-in on Linux using EGL as fallback for GLX
Fixes #1086
2021-03-23 15:04:20 +01:00
rdb 3ecc8c857a gobj: Also fix GeomPrimitive::offset_vertices() overload with begin/end
See 40b94c1f97
2021-03-22 22:04:03 +01:00
rdb d0028ba103 physics: Make PhysicalNode class thread-safe
It is, however, not yet pipeline-cycled, and the Physical object itself is not yet thread-safe.
2021-03-22 16:01:13 +01:00
rdb 0e36a99574 Merge branch 'release/1.10.x' 2021-03-22 15:45:45 +01:00
rdb 8f55d32cb1 glgsg: Workaround for Cg shader issue with multiple GSGs
Fixes #1117
2021-03-22 15:37:43 +01:00
rdb 40b94c1f97 gobj: Fix GeomPrimitive::offset_vertices() with strip cut index
This was called, among other things, by the egg-unify process, which could ruin the strip cut index.

At the same time, I've reimplemented the indexed case for offset_vertices() to make it a little bit more efficient.

Fixes #1122
2021-03-22 11:35:03 +01:00
rdb c1fbb70c6d display: Temporary fix for base.win.properties.size et al
Previously, calling that without storing a temporary object would cause the WindowProperties to go out of scope and the return value to point to random memory.
2021-03-21 16:55:19 +01:00
rdb f450aa5edf physics: Add additional properties 2021-03-21 14:40:10 +01:00
rdb db2936a318 physics: Slight code cleanup in PhysicalNode::clear() 2021-03-21 14:39:57 +01:00
rdb f1782d73e5 physics: Fix crash in PhysicsNode::add_physicals_from() 2021-03-21 14:39:31 +01:00
rdb 74910ff310 physics: Don't assert destructing
This could have been produced with make_copy(), which can create a situation where the Physical objects don't have the same node associated -- see b6a118448d
2021-03-21 14:36:14 +01:00
rdb b6a118448d physics: Warn when copying PhysicalNode with physicals attached
We can't currently support this because a Physical can have only one PhysicalNode associated.
2021-03-21 14:35:28 +01:00
rdb 1c754738bd physics: Prevent adding same Physical to more than one PhysicalNode
Also silently ignore if the same Physical is added to the same PhysicalNode more than once.
2021-03-21 13:00:08 +01:00
rdb 52c0e2759e glgsg: Fix copy-to-texture/ram for multisample FBO
Should read from resolved FBO, not from multisample FBO

Fixes #1129
2021-03-16 18:45:27 +01:00
rdb b817e19ab6 Merge branch 'release/1.10.x' 2021-03-13 16:50:12 +01:00
LD 209e031964 cocoadisplay: Test all the fullscreen modes to find the valid one
Closes #1039
2021-03-13 12:44:30 +01:00
rdb eca18f3c19 windisplay: Don't try to activate window when resizing/moving it
This fixes an issue where if you quickly alt-tab when the window opens, it receives a WM_ACTIVATE event and thinks it continues to be active, which causes issues with applying cursor confinement.

I think you can probably still reproduce that issue, but your reflexes have to be significantly more ninja now.
2021-03-11 23:50:45 +01:00
rdb 7f4d030032 windisplay: Fix some situations in which the mouse could stay confined
Fixes #1115
2021-03-11 23:29:13 +01:00
rdb c1c2183561 windisplay: Parented child windows are implicitly undecorated
I'm pretty sure applying these styles does nothing anyway, but we shouldn't specify them.
2021-03-11 22:30:35 +01:00
rdb 48fb2f721f windisplay: Fix parented child window being offset
This would happen if the undecorated flag is not set; it would receive an additional offset equal to the size of the window decoration.

Fixes regression presumably caused by a968caf1d2
2021-03-11 22:19:41 +01:00
rdb ff80adc680 Merge branch 'release/1.10.x' 2021-03-05 11:59:21 +01:00
rdb 5cadd86d1e glgsg: Fix get_screenshot() for multisample FBOs
An FM_refresh bind should not bind the multisample FBO, but the resolved one (and while we're at it, FM_refresh should not try to resolve multisamples).
2021-03-05 11:57:05 +01:00
rdb b4a242a4e3 x11: Provide labels for more keys (esp. international keys) 2021-03-04 21:49:55 +01:00
rdb 2e3ce27865 device: Add Windows gamepad mapping with VID:PID 2563:0523
From https://discourse.panda3d.org/t/gamepad-emulator-and-panda/27336
2021-03-04 20:47:55 +01:00
rdb 9be2f307c5 text: Fix glyphs with flipped UVs not being processed correctly
This caused the cheesy-accent code to not flip the caron correctly.
2021-03-04 20:06:51 +01:00
rdb 050d86dadb event: AsyncFuture::set_result() behavior changes:
* Passing a Python subclass of a C++ class now works, the extra Python stuff isn't just discarded
* EventParameter objects are no longer automagically unwrapped - there's no more reason to pass an EventParameter to this method anyway, and it might be unexpected if it is treated specially.
2021-03-01 20:50:25 +01:00