i915: avoid dead lock in intel_meta_draw_poly. fix #13696
This commit is contained in:
parent
da693b7c89
commit
e543292335
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue