25983 Commits

Author SHA1 Message Date
Timothy Paustian
50de135641
task: Fix re-adding task object removing extraArgs (#1132)
Fixes #1097
2023-02-13 10:58:02 +01:00
git2323
518d4777fa
do not prefer framebuffer configs with excessive multisamples (#1456)
Co-authored-by: user1 <user1@user1.org>
2023-02-12 23:04:46 +00:00
rdb
d2444132b2 opencv: Use correct headers for videoio C interface 2023-02-12 18:18:20 +01:00
rdb
5e26aae1ff cleanup: Fix assorted issues uncovered by clang-tidy 2023-02-12 18:17:03 +01:00
rdb
00f68fb8a5 workflow: Add clang-tidy reviews for all pull requests 2023-02-12 17:37:17 +01:00
John C. Allwein
7b7294b15d direct: fix missing import in Loader 2023-02-12 09:28:04 -07:00
WMOkiishi
c7c70bc32a
direct: Cut down on usage of import * (#1454)
* Remove most `import *`s in `direct`

* Address feedback
2023-02-12 13:16:52 +00:00
John C. Allwein
81f7a21845 openal: fix potential iterator invalidation in OpenALAudioManager::update
OpenALAudioManager::update iterates through all currently playing sounds
via a std::set / phash_set object, _sounds_playing.

If a stream queue corruption was detected during OpenALAudioSound::pull_used_buffers,
the logic added in a895890 would call cleanup() on
the sound if we could not successfully locate the target buffer and log an error.

However, the act of calling OpenALAudioSound::cleanup would lead to calling
stop() (since the sound was actively playing). In OpenALAudioSound::stop(),
we would then proceed to call _manager->stopping_sound which would erase
the current sound from _sounds_playing (while we still held an iterator
to it). Per STL standard and real-world observation, std::set::erase
will invalidate the current iterator held in update (https://en.cppreference.com/w/cpp/container/set/erase).
This leads to a segmentation fault when we attempt the next iteration on the loop.

To resolve this, let's ensure we don't hold onto invalid iterators during the updating of playing sounds.

Fixes #1452
2023-02-12 14:13:02 +01:00
rdb
1c37522026 Merge branch 'release/1.10.x' into master 2023-02-12 14:07:49 +01:00
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
a9e9cfae1c py_panda: Fix definition of _PyErr_OCCURRED for Python >3.12.0a5
It should not be redefined for Python versions after 3.3.3, and if it's not defined by Python, it should just map to PyErr_Occurred()

See also #1457
2023-02-12 13:22:16 +01:00
rdb
173dd67b52 glgsg: Fix p3d_LightModel.ambient not updating properly 2023-02-12 13:07:14 +01:00
Disyer
af4a1bc7a9 python: Use public PyErr_Occurred API instead of private macro
The _PyErr_OCCURRED macro was removed in Python 3.10, so we shouldn't keep any compat code left around for it
2023-02-12 02:36:57 +02:00
rdb
3d7c2505e9 pnmimagetypes: Fix memory leaks writing TIFF files 2023-02-11 15:21:16 +01:00
Rishabh Tewari
dcd2aa83d4 tests: Added video and audio tests
Closes #663
2023-02-07 18:08:32 +01:00
David Staer
fc2ef74148 Extend BulletBodyNode::add_shapes_from_collision_solids() to accept a TransformState
Code is much the same as original, so adapt original function to use the expanded one. This is useful for example when the collision node is rotated, is not centered to origin, or has several parent transforms applied on it.
2023-02-07 18:05:51 +01:00
rdb
33f6ea73a2 workflow: Update Ubuntu version to 20.04 2023-02-07 18:05:51 +01:00
enn0x
d8838fd7ed samples: Add Bullet Physics sample programs
Closes #248

[skip ci]

Co-authored-by: Sebastian Hoffmann <TheCheapestPixels@gmail.com>
2023-02-07 16:39:57 +01:00
git2323
e28697f670 audiotraits: Add directional sound support to OpenAL (#1451) 2023-02-07 13:14:59 +01:00
rdb
c076d5ad08 showbase: Don't return same texture object if loaded with different settings
Follow-up to #1105
2023-02-07 12:26:41 +01:00
rdb
fed5865645 tests: Add unit tests for #1105 2023-02-07 12:24:54 +01:00
Timothy Paustian
4fa90bd754 gobj: Fix TexturePool sharing texture objects when loaded with different properties
Fixes #1047
Closes #1105

Co-authored-by: rdb <git@rdb.name>
2023-02-07 12:23:30 +01:00
WMOkiishi
3f3c65917b Ensure classes using aligned types inherit from MemoryBase 2023-02-06 18:35:18 +01:00
WMOkiishi
87b5aa9d1f Replace "unaligned" linear algebra classes with simple typedefs 2023-02-06 18:35:18 +01:00
rdb
eacbc4f89a pgraph: Fix regression: assertion in get_off_clip_planes()
Occurs when using clip plane culling
2023-02-03 15:26:50 +01:00
rdb
6075307e66 glgsg: Set maximum vertex attrib stride for WebGL 2023-02-03 15:17:55 +01:00
rdb
805fa5a36a glgsg: Guess max vertex attrib stride if not queryable
Or should we just assume the most restrictive possibility?
2023-02-03 15:09:32 +01:00
rdb
b09a8a84ec Merge branch 'release/1.10.x' 2023-02-03 14:52:39 +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
8bc1743d75 Merge branch 'release/1.10.x' 2023-01-27 16:17:41 +01:00
rdb
ef58255abd vision: Fix another use of wrong delete operator in ARToolKit code 2023-01-27 10:40:47 +01:00
Fireclaw
e14d43ebe5 dmodels: Fixed broken minusnode icon
Closes #1449
2023-01-27 10:29:49 +01:00
LD
518ee0fb8e cocoadisplay: Capture display before switching to fullscreen mode 2023-01-20 18:16:43 +01:00
rdb
f4dc4740a6 makepanda: Look for the macOS 13.1 SDK
[skip ci]
2023-01-19 15:43:06 +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
Disyer
6cb074e5c8 distributed: Fix segfault when ConnectionRepository is verbose by holding GIL
Also removes obsolete USE_PYTHON_2_2_OR_EARLIER macro

Closes #1430
2023-01-16 15:14:31 +01:00
David Crompton
a88b6ee8db showbase: Allow destroy() to be called from non-main thread
Also adds an error message when `run()` is called from non-main thread

Closes #1436
Fixes #1269

Co-authored-by: rdb <git@rdb.name>
2023-01-16 14:15:19 +01:00
David Crompton
4d90ce5c5a bdist_apps: Fix assertion error from calling finalize_options twice 2023-01-14 19:51:02 +00:00
rdb
b282e8920d Merge branch 'release/1.10.x' 2023-01-13 22:32:35 +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