Bug 23037 - R600 render can cause recrusive call to rcommonFlushCmdBuf if using large VBO object
Summary: R600 render can cause recrusive call to rcommonFlushCmdBuf if using large VBO...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/r300 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-30 04:05 UTC by Pauli
Modified: 2009-09-01 09:34 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Backtrace from freeze (5.97 KB, text/plain)
2009-07-30 04:05 UTC, Pauli
Details

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.