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
rdb
d7bbcfb0b7
pstats: Some collector reorganisation:
...
- "App:Show code:General" is gone, it was causing too much trouble
- Replace odd "Client::GuiObjects" with "Nodes:GUI"
- Regroup "Dirty PipelineCyclers" underneath "PipelineCyclers"
2022-02-17 12:48:36 +01:00
rdb
94570f20aa
pgraph: Remove need for grabbing lock in RenderState destructor
2022-02-05 22:25:51 +01:00
rdb
40f54a766c
Merge branch 'release/1.10.x'
2022-01-07 10:52:28 +01:00
rdb
d66ef59ecc
pgraph: Fix assertion in PythonLoaderFileType with debug Python build
2022-01-07 10:44:03 +01:00
rdb
7a2a83572c
Merge branch 'release/1.10.x'
2022-01-05 08:50:11 +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
d46651c032
Merge branch 'release/1.10.x'
2022-01-04 16:35:19 +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
f8df5cac32
Merge branch 'release/1.10.x'
2022-01-02 20:11:41 +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
a4d53a8ced
pgraph: Fix unnecessary double state munge in prepare_scene()
...
[skip ci]
2021-12-13 13:23:38 +01:00
rdb
9e7ca63662
Add missing @since to docstrings of some new methods
2021-11-29 16:02:22 +01:00
rdb
9ebfef4b83
pgraph: Change TransformState hashing not to require grabbing lock
...
Instead, set it atomically, with a special hash value used instead of a flag for indicating that the hash is not known.
2021-11-16 17:30:36 +01:00
rdb
60c5589671
pgraph: Optimize handling/checking of identity/invalid transforms
2021-11-16 17:30:36 +01:00
rdb
fac6916151
pgraph: Major traversal optimizations
...
In particular, these optimize the traversal of nodes that are not in view, which are discarded more efficiently.
This change affects both the cull and collision traversers.
2021-11-16 17:30:33 +01:00
rdb
20e4704be2
Merge branch 'release/1.10.x' into incoming
2021-11-16 16:35:08 +01:00
rdb
32584f0a68
pgraph: Fix prepare_scene() not properly invoking the shader generator
2021-11-09 15:46:14 +01:00
rdb
0bc0709b72
Merge branch 'release/1.10.x'
2021-11-02 15:20:41 +01:00
rdb
04c6636744
pgraph: Add some missing properties to PlaneNode
2021-11-02 15:02:40 +01:00
rdb
1739cef318
Merge branch 'release/1.10.x' into incoming
2021-08-31 14:03:57 +02:00
rdb
2cc1633a77
pgraph: Clarify in find() documentation that this node not included
2021-08-30 14:03:17 +02:00
rdb
53741ffa13
pgraph: Implement new DepthBiasAttrib to replace DepthOffsetAttrib
...
Fixes #1157
2021-08-26 10:47:07 +02:00