Disyer
596ff9ddb8
python: Remove usage of private _PyUnicode C API calls
2023-08-03 21:35:33 +03:00
rdb
cc49825e00
pgraph: Mark all sub-classes of RenderAttrib as `final`
2023-07-27 08:40:52 +02:00
rdb
115a716a7d
Implement support for custom TypedWritable subclasses in Python
...
Fixes #1495
2023-07-26 19:55:40 +02:00
rdb
f5827963a3
pgraph: Refactor RenderAttrib return_new code a little bit
...
- Allows the compiler to devirtualize the get_hash_impl call, in theory
- Reduces the overhead of checking the configuration variables every time in return_new
- Avoids recalculating the hash on calling get_unique
2023-07-26 19:18:22 +02:00
rdb
cdc95acf81
Merge branch 'release/1.10.x'
2023-05-08 20:08:48 +02:00
rdb
45fbfab094
pgraph: Add file_version property to BamFile (like BamReader/Writer)
2023-05-05 10:52:46 +02:00
rdb
eefb51f510
dtoolutil: Add small_vector implementation and use it
...
This vector implementation does is optimized for the case of having only a small number of elements, which are stored directly on the vector object rather than being allocated from the heap. If the capacity exceeds this small number, then a heap allocation is done.
This should improve performance in a couple of cases where vectors typically store 1 element and rarely more than that.
2023-02-22 16:48:11 +01:00
rdb
818ed819f9
pgraph: Fix compiler warning for uninitialized variable
2023-02-20 19:05:05 +01:00
rdb
5e26aae1ff
cleanup: Fix assorted issues uncovered by clang-tidy
2023-02-12 18:17:03 +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
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
WMOkiishi
3f3c65917b
Ensure classes using aligned types inherit from `MemoryBase`
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
b09a8a84ec
Merge branch 'release/1.10.x'
2023-02-03 14:52:39 +01:00
rdb
51d0a55264
general: Fix silly new clang warning about unprefixed `std::move()`
2023-01-31 15:38:02 +01:00
Frang
275fe32079
create PY_EXTENSION and friends ( #1415 )
2023-01-04 20:54:53 +01:00
Cary Sandvig
3247903d7b
add more HAVE_PYTHON
...
Also add some more #endif comments.
2022-12-23 13:38:46 -05:00
rdb
e1b4083d6d
Merge branch 'release/1.10.x'
2022-12-12 17:19:10 +01:00
rdb
cd984732b7
pgraph: Make `bounds_type` property writable
2022-12-10 19:45:29 +01:00
rdb
7a55c723ba
Merge branch 'release/1.10.x'
2022-12-04 19:28:03 +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
9bd66baa1c
Merge branch 'release/1.10.x'
2022-11-21 19:02:50 +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
e961ea99ac
Merge branch 'release/1.10.x'
2022-11-13 12:10:38 +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
63017864ab
pgraph: Support any number of attribs in `RenderState::make()` in Python
2022-11-07 18:17:48 +01:00
rdb
502607e450
pgraph: Make CullTraverserData.view_frustum settable from Python
...
Perhaps useful for in cull callbacks
2022-11-06 11:19:56 +01:00
rdb
9d73c9b786
pgraph: Fix a missed `std::move` opportunity in ScissorEffect
2022-11-06 11:19:04 +01:00
rdb
fea66ea087
pgraph: Fix rare case of assertion in cull with ScissorEffect
...
Fixes #1344
2022-11-06 11:13:42 +01:00
rdb
91191a9d75
pgraph: Fix weird comment formatting in renderAttrib.h
2022-11-03 13:49:08 +01:00
rdb
9768cbb6c2
Merge branch 'release/1.10.x'
2022-10-25 16:44:24 +02:00
rdb
fc8c07a949
pgraph: Remove unused vertices during premunge phase
...
Disable with premunge-remove-unused-vertices config var - let me know if causes issues for you, performance or otherwise, though!
2022-10-25 16:34:28 +02:00
rdb
4d5d7047af
pgraph: Slight efficiency refactoring of `remove_unused_vertices()`
2022-10-25 16:34:28 +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
6f9897fe49
pgraph: Remove deprecated `PandaNode::set_bound()` method
...
It's been deprecated with warning for so long, with easy replacement
2022-10-24 13:25:41 +02:00
rdb
14f08361ce
Merge branch 'release/1.10.x'
2022-10-24 13:24:03 +02:00
rdb
d4b8bb63ba
pgraph: Proper deprecated marking for `PandaNode::set_bound()`
...
[skip ci]
2022-10-24 01:42:03 +02:00
rdb
a44d26bfbf
pgraph: Allow moving a NodePath into a WorkingNodePath efficiently
2022-10-22 17:04:00 +02:00
rdb
4d2a13537a
pgraph: Mark `RenderState::unref()` as final
...
This will allow the compiler to devirtualize these calls
2022-10-22 16:53:39 +02:00
rdb
f0446a6e9c
Merge remote-tracking branch 'origin/release/1.10.x'
2022-10-22 16:51:57 +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
46c1b887ea
Fix heap alignment with SSE2 on 32-bit Windows by inheriting MemoryBase
...
Fixes #510
2022-03-02 09:57:44 +01:00
rdb
a0be50c769
general: Fix assorted compiler warnings
2022-03-01 16:09:07 +01:00
rdb
7ccf38a948
pgraph: Remove obsolete PandaNodeChain class
...
Obsoleted by 6bc22d1822
2022-02-24 14:13:11 +01:00
rdb
6bc22d1822
pgraph: Rewrite inefficient prev_transform tracking mechanism
...
The previous system was causing a lot of lock contention when transforms are modified in the Cull thread.
The new implementation doesn't use a linked list or lock at all, but a simple atomically incrementing integer that indicates that the prev transforms have changed. set_transform() reads this and backs up the prev transform the first time a transform is modified after reset_all_prev_transforms() is called.
2022-02-24 11:42:04 +01:00
rdb
ba4173b32c
pgraph: Add constexpr to CacheStats constructor
2022-02-23 23:20:53 +01:00
rdb
cb8563acac
event: Update AsyncFuture to use new atomics implementation
...
With explicit barriers, and the non-timeout version of wait() is now significantly more efficient by using the new futexes if available
2022-02-23 23:20:49 +01:00