Commit Graph

10873 Commits

Author SHA1 Message Date
rdb 967fbbc49e glgsg: Fix regression uploading buffer texture with null image
Regression in c1babd1ad1 - it caused an assertion to be thrown when uploading a buffer texture without a RAM image.
2021-06-01 09:56:04 +02:00
Paul m. p. P 70ac82d5da bullet: Fix compilation issue with BulletHeightfieldShape
Fixes #1161
2021-05-31 17:43:50 +02:00
rdb 1d2407f667 ffmpeg: Fix compile error with latest ffmpeg version
Fixes #1164
2021-05-17 11:19:55 +02:00
rdb 9410418840 pnmimagetypes: Changes to support compilation with OpenEXR 3.0.1 2021-05-11 11:38:40 +02:00
rdb 2ed61c91fc gobj: make_lines_in_place() (& points, patches) should change primitive type 2021-05-10 13:35:47 +02:00
rdb c1babd1ad1 texture: Don't try to compress buffer textures by default
Buffer textures don't support compression, so we shouldn't try to driver-compress them, and we should not try to compress the RAM image unless explicitly overridden.
2021-04-29 20:33:52 +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 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 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 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 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 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
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 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 064e0383be event: Allow AsyncFuture to store arbitrary PyObject result 2021-03-01 19:16:22 +01:00
rdb bdb2ef1631 pipeline: Fix crash upon exception in custom thread
We can't call PyErr_Restore() without a valid thread state, which won't exist in a custom thread if we just called PyGILState_Release().  Not sure how this has ever worked.
2021-03-01 16:19:53 +01:00
rdb 2b3f2bb98c event: gather() should schedule coroutines with task manager
This matches the behaviour of asyncio.  It schedules with the current task's manager and chain.  If no current manager is found, it prints a warning.  (The user can just add the coroutine to a task manager themselves and pass the resulting task into gather() if needed.)

See discussion here:
https://discourse.panda3d.org/t/task-gather-does-not-seem-to-work/27313
2021-03-01 11:22:13 +01:00
rdb e348d216e5 event: Fix memory leak getting future result in some cases 2021-03-01 11:09:10 +01:00
rdb b6096c3d40 glgsg: Suppress useless shader linking warnings on macOS 2021-02-26 13:33:25 +01:00
rdb 6a51709332 event: Don't suppress coroutine exceptions in optimized builds 2021-02-26 11:44:50 +01:00
rdb 2d9cc2dea0 egl: Further robustify EGL device initialization process
Sometimes, the default device fails to initialize, so then we need to fall back to alternatives (eg. GBM)
2021-02-24 17:31:00 +01:00
rdb 2e38ca1042 egl: Fall back to EGL_EXT_platform_device for device selection
See #557
2021-02-24 11:41:42 +01:00