MeshDrawer not working in multithreaded render

Bug #1671639 reported by Nikola Milentijevic
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Panda3D
Fix Released
Undecided
rdb

Bug Description

MeshDrawer is not working any more in release/1.9.x branch starting from commit 632ad5e3 ("Acquire mutex in cache_unref() - fixes race cond in async flatten") when using multithreaded render pipeline. It creates the initial geometry, but later updates have no effect. Looks to me like the code with GeomVertexRewriter's doesn't do what it is expected to. I attach an example with GeomVertexRewriter. When run with argument 1 (single-threaded), then the small blue rectangle becomes big red rectangle. When run with with 2 or 3 (multi-threaded), the rectangle only changes color, but not size.

Tags: threading
Revision history for this message
Nikola Milentijevic (nikolmiv) wrote :
rdb (rdb)
tags: added: threading
Revision history for this message
rdb (rdb) wrote :

I believe this regression was fixed in master (it works fine for me in latest master). I'll have to check whether perhaps the fix needs to be backported to release/1.9.x.

Revision history for this message
rdb (rdb) wrote :

I found the commit on master that fixed this issue and backported it to the 1.9 branch:
https://github.com/panda3d/panda3d/commit/63be56c

I've also backported the various MeshDrawer bug fixes that were made recently from master to the 1.9 branch.

Changed in panda3d:
assignee: nobody → rdb (rdb)
status: New → Fix Committed
Revision history for this message
Nikola Milentijevic (nikolmiv) wrote :

Yeah, works for me. Thx a bunch :)

rdb (rdb)
Changed in panda3d:
milestone: none → 1.9.4
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.