Bug 23037

Summary: R600 render can cause recrusive call to rcommonFlushCmdBuf if using large VBO object
Product: Mesa Reporter: Pauli <suokkos>
Component: Drivers/DRI/r300Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: hans
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Backtrace from freeze

Description Pauli 2009-07-30 04:05:07 UTC
Created attachment 28188 [details]
Backtrace from freeze

r600_emit_cs is called by rcommonFlushCmdBuf. r600_emit_cs in turn can call back to rcommonFlushCmdBuf if there is not enough space left. This causes deadlock in DRM lock because of recursive lock acquiring.
Comment 1 Alex Deucher 2009-07-30 07:55:03 UTC
Currently the driver emits indexes directly to the command stream.  For large vertex buffers, we really need to implement index buffer support.  See the DRAW_INDEX packet in the r6xx/r7xx 3d programming guide for more info for more info.
Comment 2 Adam Jackson 2009-08-24 12:33:00 UTC
Mass version move, cvs -> git
Comment 3 Alex Deucher 2009-09-01 09:34:53 UTC
This should be fixed.  please reopen if it's still a problem.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.