i915: avoid dead lock in intel_meta_draw_poly. fix #13696

This commit is contained in:
Xiang, Haihao 2007-12-20 16:49:25 +08:00
parent da693b7c89
commit e543292335
1 changed files with 6 additions and 2 deletions

View File

@ -1074,8 +1074,10 @@ intel_meta_draw_poly(struct intel_context *intel,
{
union fi *vb;
GLint i;
GLboolean was_locked = intel->locked;
LOCK_HARDWARE(intel);
if (!was_locked)
LOCK_HARDWARE(intel);
/* All 3d primitives should be emitted with INTEL_BATCH_CLIPRECTS,
* otherwise the drawing origin (DR4) might not be set correctly.
@ -1094,7 +1096,9 @@ intel_meta_draw_poly(struct intel_context *intel,
}
INTEL_FIREVERTICES(intel);
UNLOCK_HARDWARE(intel);
if (!was_locked)
UNLOCK_HARDWARE(intel);
}
void