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
0c5fedfc9b
Merge branch 'release/1.10.x'
2021-07-02 16:03:41 +02:00
rdb
1415ccca61
pgraph: Fix assertion error in get_num_unused_states()
...
Fixes #1172
2021-07-02 15:11:33 +02:00
rdb
e4573ef0fe
cleanup: Remove more unnecessary nullptr checks before delete
...
Follow-up to #934
2020-05-05 14:46:30 +02:00
rdb
f524f00e8e
Merge branch 'release/1.10.x'
2020-03-14 15:01:38 +01:00
rdb
1b67931f16
express: invert return value of unref_if_one()
...
This is more consistent with how the return value of unref() works. Someone might otherwise trip over this.
2020-03-14 14:59:20 +01:00
rdb
c5c1d4557b
pgraph: fix double free if weak ptr to state is locked while being gc'ed
...
Fixes #499
2020-03-10 12:10:23 +01:00
rdb
193ae8a3a6
pgraph: take advantage of constant initialization for states maps
...
SimpleHashMap has a constexpr default constructor, so there is no static init ordering issue that requires us to allocate the states maps on the heap and then to leak them.
2019-01-07 18:40:30 +01:00
rdb
daa3100bf1
pgraph: mark TransformState as invalid in destructor
...
This, in combination with ebef9f3de8 , makes it easier to catch issues in code that is accidentally letting get temporary TransformState objects get destroyed. It does not affect release builds.
2018-12-19 20:47:57 +01:00
rdb
775e4cecff
pgraph: fix freeze in garbage_collect(), esp. when rate-limit is on
2018-10-17 19:09:36 +02:00
Sam Edwards
b2bfb31114
general: Remove `using std::*` from headers
...
Also remove most `using namespace std;` statements. The only one that remains is in py_panda.h.
Closes #350
Closes #335
2018-06-14 16:04:49 +02:00
Sam Edwards
e2b4353800
general: Replace NULL (and 0 as pointer) with C++11 nullptr
...
Exceptions to this replacement are:
- .c files
- Headers included by a .c file
- stb_image.h
- dr_flac.h
- Strings
- Comments
2018-06-03 16:35:13 -06:00
rdb
3077316782
general: use proper deleted funcs instead of stubs with asserts
...
This gives better compile-time diagnostics and saves on code, while also better communicating intent.
2018-05-23 23:35:27 +02:00
rdb
8078fa2b38
More efficiently store SimpleHashMap with empty values
2017-10-17 23:04:16 +02:00
Younguk Kim
e07e5d0203
Fix assert macros that cause a crash in non-debug
2017-07-05 19:49:46 +09:00
rdb
90f96fc1a9
Change SimpleHashMap implementation to improve performance of GC.
...
The new implementation stores elements contiguously and keeps a separate sparse array of indices, similar to the new PyPy and CPython implementations. This vastly improves performance when iterating over the individual elements, such as when garbage collecting states, and decreases memory usage.
2017-06-12 19:58:02 +02:00
rdb
6b882ac767
Fix slow garbage collect after using a lot of states
2017-06-09 20:12:49 +02:00
rdb
6f8b379bda
Big patch full of performance improvements
...
This particularly benefits applications with a lot of nodes.
2017-04-03 01:41:23 +02:00
tobspr
0fcfb8e372
New file headers, new comment style
2016-02-17 17:47:48 +01:00
rdb
bdf91e206d
Remove references to Python.h and py_config.h from Panda headers, to prevent picking up a dependency on Python libraries in third-party modules
2015-11-28 16:33:44 +01:00
rdb
7f7f85794d
Fix various compilation and linker issues across several platforms
2015-10-07 21:09:35 +02:00
rdb
af15797a25
Many, many performance optimizations and enhancements
2015-01-07 19:30:01 +01:00
rdb
ab8ebe6e30
Fix issues with point rendering, both software and hardware.
2014-10-11 01:28:32 +00:00
rdb
566feda34d
Commit patch by cfsworks to move pgraph stuff to extensions
2014-04-04 09:23:58 +00:00
David Rose
501470169f
stdfloat_double
2011-10-10 05:25:10 +00:00
David Rose
369f93951f
fix a memory leak in the garbage-collect-states case
2011-09-08 15:02:34 +00:00
David Rose
e552c230a0
further debugging in TransformState (and one important bugfix)
2011-09-07 23:44:36 +00:00
David Rose
3ed8632a68
further bugfixes
2011-09-05 23:53:19 +00:00
David Rose
229cf67ae5
Finishing migration of RenderState and RenderAttrib to SimpleHashMap and garbage_collect() models, working towards threaded pipelining
2011-09-04 15:47:45 +00:00
David Rose
220ba658a0
new, experimental TransformState seems to work better for multithreading
2011-09-04 02:52:41 +00:00
David Rose
c3d8f81581
progress on multithreaded Panda
2011-09-04 00:11:57 +00:00
David Rose
f3df033696
fix is_2d() bug
2010-03-17 22:31:45 +00:00
David Rose
aefe3d35c2
merge dev_bam_2009 to trunk
2009-06-10 17:54:40 +00:00
David Rose
e41d03482f
fix TransformState leak
2009-03-11 00:21:01 +00:00
David Rose
0e885a8481
update deprecated comment
2009-03-09 18:06:30 +00:00
David Rose
d4c2c9858d
SIMPLE_THREADS_NO_MUTEX -> LightMutex
2008-10-08 23:23:40 +00:00
David Rose
15f44d52b1
don't need all that hashtable output
2008-08-08 19:31:37 +00:00
David Rose
fb9c56432a
we are now using the modified BSD license
2008-05-28 18:37:20 +00:00
David Rose
1287bcf8fa
better performance analysis
2007-07-24 19:04:33 +00:00
David Rose
9ffb5b84ae
reorder static init timing
2007-07-23 17:36:38 +00:00
David Rose
15a52aa29f
SimpleHashMap
2007-07-21 00:02:14 +00:00
David Rose
7b0bb21bbe
fix RenderEffects cache problem
2007-07-16 18:02:28 +00:00
David Rose
68cd3322a9
better thread protection in reference counts, esp. TransformState etc.
2007-07-14 21:32:48 +00:00
David Rose
0df3c4849b
name more mutexes
2007-06-21 20:07:59 +00:00
David Rose
5518abb092
temp uniquify-transforms etc.
2007-06-01 00:03:43 +00:00
David Rose
33a0c3af8e
replacing CullBinOcclusionTest with PipeOcclusionCullTraverser, some linmath optimizations
2007-05-31 21:17:50 +00:00
David Rose
6f21efb679
fix compose between 2-d and 3-d mats
2006-11-13 18:22:25 +00:00
David Rose
1343e40e31
fix problem with non-normalized quat
2006-09-05 06:39:27 +00:00
David Rose
b81fdf5f9d
revisiting hashtables
2006-09-01 22:27:21 +00:00