Commit Graph

11210 Commits

Author SHA1 Message Date
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
rdb 7505112f1d shader: Fix compiler warning 2022-11-19 13:05:27 +01:00
rdb e92d993cea glgsg: Fix failure to unset divisor after rendering w/ instancing
This would normally be done by `disable_shader_vertex_arrays()` but it apparently isn't called between shader changes
2022-11-14 10:25:34 +01:00
rdb fe94e43bc4 pgraph: Fix issues with flattening TexMatrixAttrib
If multiple texture stages reference the same texcoord set, Panda wouldn't flatten the tex matrices even if they were the exact same

Fixes #1392
2022-11-13 11:11:32 +01:00
rdb 0220a43ce0 shader: Fix support for `#pragma include <example.glsl>` in GLSL 2022-11-09 17:20:11 +01:00
rdb 8965741fcf tinydisplay: Don't reimplement process_events from base class
Reduces code duplication, makes it possible to inherit bug fixes from the base class, and also handles resizes more efficiently now (only when this would actually require a framebuffer reallocation).
2022-11-07 12:56:56 +01:00
rdb 0a827cf65c x11display: Time out waiting for ConfigureNotify event
Fixes #1087
2022-11-07 12:56:03 +01:00
rdb a11f7c9c8d gobj: Add `TextureStage::write()` overload with `indent_level` param 2022-11-02 23:02:20 +01:00
rdb 4cf8187df7 cocoadisplay: Fix crash with threading-model on newer macOS versions
Updates the context on the main thread instead of the draw thread now. If render_frame happens to run while the context needs updating, it will skip the frame.

Fixes #1286
2022-10-29 20:51:05 +02:00
rdb 4d2a45f124 glgsg: Fix multisample FBOs with MRT blitting aux target into color target 2022-10-25 16:25:50 +02:00
rdb 1a72311243 bullet: Fix LMatrix3<>btMatrix3x3 conversion functions 2022-10-25 12:10:44 +02:00
rdb 693b4d3fb3 bullet: Fix `BulletAllHitsRayResult::empty()` compiler warning 2022-10-25 12:08:50 +02:00
rdb ef9c9fa20e bullet: Fix `BulletWheel::empty()` referencing local objects 2022-10-25 12:08:06 +02:00
rdb cc24b5373d pgraph: Fix `PandaNode::_nested_vertices` not updating properly
The problem was that `PandaNode::update_cached()` queries the node's `_internal_vertices` *before* calling `get_internal_bounds()` (which is what actually calculates it).
2022-10-25 11:35:29 +02:00
rdb accd130c83 display: Fix RTT attachment modified flag not propagating through pipeline
Fixes #1364 (the other half)
2022-10-24 13:17:42 +02:00
rdb c799146cc9 glgsg: Fix stencil renderbuffer not being unbound when binding depth tex
Fixes part of #1364
2022-10-24 13:17:42 +02:00
rdb d4b8bb63ba pgraph: Proper deprecated marking for `PandaNode::set_bound()`
[skip ci]
2022-10-24 01:42:03 +02:00
rdb 6fe25d3edc shader: Fix attr_fogcolor not picking up inter-frame changes
Fixes shader generator not responding to fog color changes
2022-10-22 16:03:52 +02:00
rdb d0b7574384 pgraph: Add missing `PandaNodePipelineReader::get_into_collide_mask()` 2022-10-22 15:49:40 +02:00
rdb 8bed85740f pgraph: Fix race condition when destructing/constructing NodePaths
Fixes #1366
2022-10-22 15:48:23 +02:00
rdb 9efdf9919c collide: Implement capsule-into-polygon intersection test
There is one edge case (literally) where the reported interior point isn't deep enough, which is when the capsule hits the edge of a polygon at a steep angle, but it will still push it out eventually, so whatever.

Fixes #1369
2022-10-20 17:14:54 +02:00
rdb 0b7c694f10 linmath: Make mat.rows[n] and mat.cols[n] assignable to 2022-10-19 16:04:57 +02:00
rdb 0c03dfca05 egg: Some comment reformatting
[skip ci]
2022-10-19 16:04:15 +02:00
rdb a8eef28708 glgsg: Fix error when downloading luminance8 texture 2022-10-19 12:20:06 +02:00
DJs3000 f6fac95a78 Added e2k support (MCST Elbrus 2000) (#1367)
Closes #1367
2022-10-03 18:29:41 +02:00
rdb 6ad68d95cb device: Fix missing init_type for InputDeviceNode 2022-09-28 06:32:46 +02:00
rdb 48b0819cda rocket: Don't try to build Boost binding code for Python 3
libRocket doesn't support Python 3 anyway, and it has an error compiling with Python 3.11

[skip ci]
2022-09-01 19:41:37 +02:00
LD 12ae2973ae cocoadisplay: Disable the event suppression interval when moving the position of the mouse pointer 2022-09-01 09:07:16 +02:00
LD 102da5bc35 cocoadisplay: Don't use position delta for confined mouse mode as it lead to invalid estimation of the pointer position 2022-09-01 09:07:16 +02:00
LD 69bf5fa626 cocoadisplay: Remove overzealous coordinates transform performed on mouse position 2022-09-01 09:07:16 +02:00
LD 105f9abbfa cocoadisplay: Trigger handle_move_event() when a resize event is received to also update the origin of the window if needed 2022-09-01 09:07:16 +02:00
rdb 88ba7badd4 collide: Fix false negative when sphere is fully inside box
Fixes #1335
2022-08-31 16:23:15 +02:00
Disyer d7c602d203 ffmpeg: Resolve segmentation fault when statically linking ffmpeg
Closes #1340
2022-08-31 11:56:10 +02:00
rdb 899cbb9fff shadow: Add shadow-cube-map-filter setting, disabled by default
Enabling this will enable the `FT_shadow` filter for cube maps, which doesn't work with Cg shaders (incl. shader generator) but does with custom GLSL shaders

This will be enabled by default once the shaderpipeline branch is merged

Fixes #1332
2022-08-31 11:41:48 +02:00
Stephen A. Imhoff 33691d72ec bullet: Fix assertion when reconstructing BulletConvexHullShape from bam
Fixes #1251
Closes #1252
2022-06-29 17:06:19 +02:00
rdb 3fc579c7d4 tinydisplay: Implement resizeability of offscreen buffers
Fixes #1322
2022-06-29 17:03:44 +02:00
rdb 5493a0d5fc glgsg: Fix PStats GPU timing not working with newer NVIDIA drivers
Fixes #1320
2022-06-29 16:42:33 +02:00
rdb c325eabb9d glgsg: Fix texture format selection when using `T_half_float` component type 2022-06-29 15:15:02 +02:00
rdb 9ab460c900 event: Fix memory leak in debug check of `task.set_owner(...)`
Fixes #1328
2022-06-29 15:13:57 +02:00
rdb 29c25a541c egl: Add egl-device-index config var for selecting EGL device
Fixes #1306
2022-05-17 11:52:19 +02:00
rdb b5d615b223 mathutil: Fix broken docstrings 2022-05-17 10:10:45 +02:00
rdb 42a19860d5 Fix errors when compiling headers with MinGW 2022-05-10 15:58:33 +02:00
rdb fbea0056f5 general: Allow compiling Panda headers on Windows without NOMINMAX 2022-05-10 15:58:33 +02:00
rdb 0538106d52 glgsg: Fix half float color buffers with GLES 3 / WebGL 2
Part of fix for #1296
2022-05-10 15:58:32 +02:00
rdb d2fc682fd7 glgsg: Support floating-point FBOs in OpenGL ES 2+
See issue #1296
2022-05-05 10:41:01 +02:00
rdb d98f966693 display: Extra spam message about what window a flip is done for 2022-05-05 10:38:25 +02:00
Geraldo Nascimento 5ceaf66079 v4l: O_NONBLOCK flag should be OR'ed to O_RDWR or mmap will fail below
Closes #1299
2022-05-05 10:28:55 +02:00
rdb aab149e75a windisplay: Add debug prints listing display devices and monitors 2022-04-02 20:42:04 +02:00
rdb 3f901243f2 display: Add additional spam prints 2022-04-02 20:40:58 +02:00
rdb 930e5da438 texture: Fix get_ram_image_as() with 3D and multiview textures
Fixes #1277
2022-03-02 10:42:45 +01:00
rdb ac3aa64d33 express: Add docstring to DatagramIterator about Datagram lifetime
Related to #1262

[skip ci]
2022-03-01 15:14:01 +01:00
rdb 287b0d5a74 mathutil: Add proper `__repr__` for LPlane class
Fixes #1248
2022-02-06 15:29:25 +01:00
rdb 692221cacb cocoadisplay: Invert direction of horizontal scroll
Now behaves consistent with other applications (tested with Logitech MX Master 3 for Mac on macOS 10.13 in unnatural scrolling configuration).

Set `cocoa-invert-wheel-x true` to revert to old behaviour.
2022-01-22 15:56:53 +01:00
rdb eaa182f310 Merge commit '38bea01dab8f4dedd5fce9f8b9e82cebbf663189' into release/1.10.x 2022-01-22 15:46:52 +01:00
rdb 38bea01dab device: Do not enumerate keyboard/mouse devices on macOS by default
This causes an annoying "this app would like to receive keystrokes from any application" alert to be shown

Enable iokit-scan-mouse-devices or iokit-scan-keyboard-devices to restore the old behavior
2022-01-22 15:45:00 +01:00
rdb be2f6a7c61 glgsg: Fix missing GR_adjacency geom rendering flag
I don't think this flag being missing currently affects any functionality, but it is meant to be set when geometry shaders (with adjacency) are supported.
2022-01-14 10:25:01 +01:00
rdb b518da99a6 windisplay: fix origin not respected when switching to windowed mode 2022-01-12 10:23:19 +01:00
rdb d66ef59ecc pgraph: Fix assertion in PythonLoaderFileType with debug Python build 2022-01-07 10:44:03 +01:00
rdb 2d77093398 gobj: Fix TexturePeeker docstrings for filter_* being incorrect about wrapping
Fixes #1195
2022-01-06 12:52:10 +01:00
rdb 340dea5261 gobj: Fix crash when trying to load directory as txo/dds/ktx file 2022-01-06 11:52:40 +01:00
rdb d65ca1edd6 pgraph: Fix nodes with same key but diff value getting flattened
This was a regression from 69b3468b2c
2022-01-05 08:14:08 +01:00
rdb 210f7aecfb x11: Support mouse buttons 4 and 5 2022-01-04 11:06:25 +01:00
rdb d1c756713d display: Handle raw event for key between Shift and Z on ISO keyboards
This key is called raw-< for lack of anything better, it's usually mapped as backslash on US keyboards but that would not allow distinguishing between the backslash key near the enter key.
2022-01-04 11:05:46 +01:00
rdb c358f09f85 windisplay: Support lmeta, rmeta, and menu keys 2022-01-04 10:10:27 +01:00
rdb 08628dc97e windisplay: Support horizontal scroll wheel 2022-01-04 10:09:36 +01:00
rdb 822d8ce4c4 Revert "pgraph: Don't dupe shared GeomVertexData when premunging Geom"
This reverts commit f058bad802.

Reverting because I realised the current behaviour is happening due to different mungers, which my fix ignores.

Unfixes #1185
2022-01-03 11:31:54 +01:00
rdb 11d5a49d6f pgraph: Fix LightAttrib::replace_{on|off}_light()
Fixes #1153
2022-01-02 13:02:04 +01:00
rdb f058bad802 pgraph: Don't dupe shared GeomVertexData when premunging Geom
Fixes #1185
2022-01-02 11:45:33 +01:00
rdb 2915c6e670 glgsg: Force transform_weight column to read (0, 0, 0, 1) if absent
On NVIDIA cards, this doesn't seem to happen automatically.

Fixes #1207
2022-01-01 16:49:41 +01:00
rdb 5caf0ff5d6 device: Correction to 0e9ea67066
Fixes #1218
2022-01-01 15:14:30 +01:00
rdb 0e9ea67066 device: Implement correct sign extension for Windows raw devices
Hopefully, fix for #1218
2022-01-01 12:15:00 +01:00
rdb 72bf9e7fd1 device: Map FrSky RC controller as flight stick instead of gamepad
Reverts f01399bba8
2022-01-01 12:09:19 +01:00
rdb 1e6569e678 dxgsg9: Fix issues with luminance textures and ATI1 compression
Fixes #1198
2021-12-31 22:59:01 +01:00
rdb ecc6fb6b0c dxgsg9: Implement ability to get screenshot from multisample backbuffer
Fixes #1225
2021-12-31 13:41:57 +01:00
rdb f01399bba8 device: Correct axis mappings for FrSky RC controller on Windows
See #1218
2021-12-26 12:30:05 +01:00
rdb 8b19761844 device: Add spam output for raw windows device 2021-12-26 12:30:05 +01:00
Aidan Noll 8fbf972f30 putil: use Py_REFCNT macro instead of directly accessing reference count field
Closes #1197
2021-12-12 22:22:10 +01:00
rdb 0e91f4ee1c device: Gracefully ignore invalid data index from raw input device 2021-12-12 18:38:09 +01:00
rdb 215ad6bfd9 Fix a few docstring typos 2021-12-12 18:38:09 +01:00
rdb 60cc334cd9 gobj: Fix some TexturePeeker docstrings
[skip ci]
2021-12-07 23:05:49 +01:00
rdb 82ebf908fa gobj: Fix spelling error in doc of async-load-delay config variable 2021-12-04 20:38:31 +01:00
rdb e2c26adcf0 event: Mention that ButtonEvent API is not stable for Python use 2021-12-04 20:38:13 +01:00
loonaticx 15c84afbe9 doc: Improve egg syntax documentation
[skip ci]

Closes #1199
2021-11-28 16:12:44 +01:00
rdb 980399d142 event: Expose ButtonEvent to Python 2021-11-28 14:36:20 +01:00
rdb 2abf867203 gobj: Don't load textures when loading bam file if preloading is off
This is wasteful (especially when the bam file already has the simple RAM images baked in if needed) since we are throwing away the texture data right away anyway.  Just locate it on disk, it will be loaded later when it is needed.

Fixes #1208
2021-11-28 14:04:41 +01:00
rdb c0a9123dde gobj: Fix TextureReloadRequest not reloading in certain situations
This prevented async texture loading from working unless mipmapping was enabled
2021-11-28 14:01:33 +01:00
rdb 5eaa67fbc9 gobj: Add TexturePool::get_texture() for querying tex from pool 2021-11-28 14:00:59 +01:00
rdb 5cad0eb973 glgsg: Don't use simple RAM image in shaders for non-sampler2D types
Simple RAM images are always 2D right now, so this would otherwise cause an error.
2021-11-28 13:59:46 +01:00
rdb 8f9d23ff29 linmath: Remove redundant sin() calculation in LQuaternion 2021-11-28 13:58:13 +01:00
rdb 54de9f9fa4 glgsg: Fix possibility of simple RAM image going out of scope 2021-11-28 13:57:20 +01:00
rdb ea61e53ab2 event: Fix ButtonEvent docstring 2021-11-28 13:56:55 +01:00
rdb 6adb6be4b5 egg2pg: slight comment cleanup in characterMaker.cxx
[skip ci]
2021-11-16 17:55:32 +01:00
rdb 0f7a575ac0 bullet: Add bullet-split-impulse config variable
Fixes #1201

Co-authored-by: K9Kraken <K9Kraken@users.noreply.github.com>
2021-11-16 15:16:25 +01:00
rdb ab6d3b2e15 gobj: Show better error if calling tex.write() with unknown extension 2021-11-16 15:04:46 +01:00
rdb 32584f0a68 pgraph: Fix prepare_scene() not properly invoking the shader generator 2021-11-09 15:46:14 +01:00
rdb 04c6636744 pgraph: Add some missing properties to PlaneNode 2021-11-02 15:02:40 +01:00
rdb 9587965c5d bullet: Add some API documentation strings for BulletDebugNode 2021-11-02 15:02:14 +01:00
rdb ad7cbcd4ec bullet: Fix memory leak getting persistent manifolds from Python
These classes ought to be returned by value. Cleaner fix will be in master.

Fixes #1193
2021-10-27 11:20:19 +02:00
rdb 57d7bc2f53 display: document make_texture_buffer() behavior when size is 0
Fixes panda3d/panda3d-docs#100
2021-10-26 14:00:25 +02:00
rdb 9b55279fde glgsg: Minor code cleanup in FBO code 2021-10-26 14:00:04 +02:00
rdb 618e6f3fee pgui: Fix slider thumb entering dragging state on button press
This caused updating the slider while a button is pressed and the mouse is held over the thumb not to work.

Fixes #1188
2021-10-26 13:45:38 +02:00
rdb cb4bcbe67e collide: Fix typo causing compile error on Windows with Python 3.10 2021-08-30 21:27:53 +02:00
rdb 2cc1633a77 pgraph: Clarify in find() documentation that this node not included 2021-08-30 14:03:17 +02:00
rdb 8c01f7faff gles2gsg: Implement support for GL_EXT_clear_texture in OpenGL ES 2+ 2021-08-30 14:02:41 +02:00
rdb 481fc67996 gles2gsg: Support gl-depth-zero-to-one in OpenGL ES 2+
Requires GL_EXT_clip_control support in the driver.
2021-08-30 14:02:09 +02:00
rdb 32b78a382a express: Protect clock debug print with is_debug() check 2021-08-30 14:00:59 +02:00
rdb 8ad4234df8 pgui: prevent error when rendering in offscreen mode
Fixes #1174
2021-08-11 09:19:27 +02:00
rdb 20e081482f glgsg: detect and fix overlapping SSBO bindings
Fixes #1176
2021-08-05 09:37:26 +02:00
rdb 5b30fa7adf putil: Fix reading/writing BitArray from/to bam file on 64-bit
Fixes #1181
2021-08-03 20:13:56 +02:00
rdb 7ac7a95843 glgsg: Delete multisample FBO properly
Related to #1166
2021-08-03 11:43:49 +02:00
rdb 1f84469cd9 filter: Fix issue with cached CullResult persisting after cleanup
This can cause issues if a DR gets assigned an inactive camera - the old cull result will persist and be used for draw.  Possibly we need to do this in set_camera.

Reproduced by #1166
2021-08-03 11:43:49 +02:00
rdb ea45ff691d display: Improve error message when display module isn't loaded 2021-08-03 11:43:49 +02:00
rdb 3dc09c38d3 dxgsg9: Fix crash when resizing window in multi-window setup
Fixes #1167
2021-07-31 09:56:52 +02:00
rdb bcbef3f6c8 pgraph: Add RenderState::get_unused_states() by analogy with TransformState 2021-07-02 15:22:44 +02:00
rdb 1415ccca61 pgraph: Fix assertion error in get_num_unused_states()
Fixes #1172
2021-07-02 15:11:33 +02:00
rdb 388ddda9d7 x11: Fix black screen when switching fullscreen without WM
Reconfiguring the window to origin 0, 0 is unnecessary and if the win origin is already 0, 0 this results in Panda waiting for a ConfigureNotify that never comes.
2021-07-02 14:04:57 +02:00
Ben Humphries 0415a08416 cocoadisplay: Round refresh rates when choosing display mode on macOS
Closes #1144

Co-authored-by: rdb <git@rdb.name>
2021-06-01 10:56:55 +02:00
rdb 2386e80448 linmath: Backport support for floor division to 1.10
Backport of 8944737844

(Also fixes return type of `__pow__` to always be derived class)
2021-06-01 10:45:56 +02:00
rdb 4e0e945279 linmath: Backport round(), floor(), ceil() support for vectors
See #821
2021-06-01 10:23:58 +02:00
rdb 42d292ee17 glgsg: Slight optimization, don't get texture type more than once 2021-06-01 10:00:43 +02:00
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
rdb 7f20bcd8e0 egl: Fix ability to create multisample FBO
Fixes #1089
2021-02-24 10:11:58 +01:00
rdb 778c6ee6be pgui: Add missing pipeline.h include 2021-02-24 09:46:53 +01:00
rdb 18cb4a7ccc vorbis: Disable cross-lapped seeking by default, to reduce clicking
Fixes #1108
2021-02-22 10:58:18 +01:00
rdb f2e488fd6b pgui: Workaround for text disappearing in multithreaded pipeline
The text could appear from a DirectButton or other GUI element if updating eg. the text_fg property.
2021-02-21 11:00:22 +01:00
rdb 5c4909b4ab pgui: Some code cleanup for PGItem 2021-02-21 10:17:14 +01:00
rdb a05405c475 pgraph: API reference improvements for NodePath 2021-02-21 10:15:33 +01:00
rdb 3592404fa8 display: Fix GraphicsWindow::get_pointer() listed as deprecated
[skip ci]
2021-02-17 10:56:46 +01:00
rdb 6374a7f240 express: Fix up Patchfile docstrings
[skip ci]
2021-02-15 14:13:24 +01:00
rdb a704d2c228 display: Fix typos in docstrings
[skip ci]
2021-02-15 12:46:29 +01:00
rdb 592f776f76 downloader: Fix missing includes in virtualFileHTTP.cxx 2021-02-15 12:36:29 +01:00
rdb 84c2a18d00 downloader: Implement VirtualFileHTTP::read_file() 2021-02-15 11:18:13 +01:00
rdb 20bdd32765 downloader: Fix an uninitialized member 2021-02-15 11:13:57 +01:00
rdb 4e27264cac downloader: Add properties to HTTPCookie 2021-02-11 03:28:43 +01:00
rdb 59ab828098 linmath: Fix typo in Mat4 isub docstring
Fixes panda3d/panda3d-docs#96
2021-02-11 03:28:34 +01:00
rdb 28ad032210 collide: Fix CollisionHandlerGravity docstrings
[skip ci]
2021-02-08 19:41:46 +01:00
rdb 8c8a73a1a7 event: Fix compilation with Python 2.7 2021-02-07 14:49:10 +01:00
rdb f6b39345f7 event: don't exit task if future __await__ yields None
This matches the behavior of asyncio's Task implementation, where this is the equivalent of `yield Task.cont`.

I've kept regular generator tasks unaffected for now, since this might break existing usage.
2021-02-07 12:38:16 +01:00
rdb af60f8200e glgsg: Gracefully degrade when using 64-bit float in OpenGL ES 2021-02-06 19:35:48 +01:00
rdb 068ceaaf58 event: Clear exception flag after trying asyncio exception import 2021-02-06 01:21:52 +01:00
rdb 642f4a4e55 bullet: Implement make_copy() for BulletGhostNode 2021-02-05 23:48:41 +01:00
Stephen Imhoff cc4701d299 Add ability to persist ghost nodes. 2021-02-05 20:31:10 +00:00
rdb a1e4cf059f glgsg: Fix attempt to detect glTexStorage1D in OpenGL ES 2021-02-03 12:53:20 +01:00
rdb 60f3ac5163 gobj: Assert instead of crash when printing unresolved GV(A)D 2021-01-30 20:06:32 +01:00
rdb 79dae16a2c glgsg: Show error for unrecognized p3d_TextureXYZ input 2021-01-30 20:05:36 +01:00