mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 06:48:06 +02:00
Revert INTEL_FIREVERTICES to flush primitives instead of asserting none pending.
The assertion was triggered in some cases, e.g. by the xscreensaver hack stonerview.
This commit is contained in:
parent
4f8549634e
commit
9d6e0f5d64
5 changed files with 11 additions and 22 deletions
|
|
@ -215,8 +215,7 @@ i830_reduced_primitive_state(struct intel_context *intel, GLenum rprim)
|
|||
i830->intel.reduced_primitive = rprim;
|
||||
|
||||
if (st1 != i830->state.Stipple[I830_STPREG_ST1]) {
|
||||
if (intel->prim.flush)
|
||||
intel->prim.flush(intel);
|
||||
INTEL_FIREVERTICES(intel);
|
||||
|
||||
I830_STATECHANGE(i830, I830_UPLOAD_STIPPLE);
|
||||
i830->state.Stipple[I830_STPREG_ST1] = st1;
|
||||
|
|
|
|||
|
|
@ -74,8 +74,7 @@ i915_reduced_primitive_state(struct intel_context *intel, GLenum rprim)
|
|||
i915->intel.reduced_primitive = rprim;
|
||||
|
||||
if (st1 != i915->state.Stipple[I915_STPREG_ST1]) {
|
||||
if (intel->prim.flush)
|
||||
intel->prim.flush(intel);
|
||||
INTEL_FIREVERTICES(intel);
|
||||
|
||||
I915_STATECHANGE(i915, I915_UPLOAD_STIPPLE);
|
||||
i915->state.Stipple[I915_STPREG_ST1] = st1;
|
||||
|
|
|
|||
|
|
@ -371,7 +371,8 @@ do { \
|
|||
|
||||
#define INTEL_FIREVERTICES(intel) \
|
||||
do { \
|
||||
assert(!(intel)->prim.flush); \
|
||||
if ((intel)->prim.flush) \
|
||||
(intel)->prim.flush(intel); \
|
||||
} while (0)
|
||||
|
||||
/* ================================================================
|
||||
|
|
|
|||
|
|
@ -123,11 +123,7 @@ do { \
|
|||
intelDmaPrimitive( intel, prim ); \
|
||||
} while (0)
|
||||
|
||||
#define FLUSH() \
|
||||
do { \
|
||||
if (intel->prim.flush) \
|
||||
intel->prim.flush(intel); \
|
||||
} while (0)
|
||||
#define FLUSH() INTEL_FIREVERTICES(intel)
|
||||
|
||||
#define GET_SUBSEQUENT_VB_MAX_VERTS() \
|
||||
((BATCH_SZ - 1500) / (intel->vertex_size*4))
|
||||
|
|
@ -231,8 +227,7 @@ intel_run_render(GLcontext * ctx, struct tnl_pipeline_stage *stage)
|
|||
|
||||
tnl->Driver.Render.Finish(ctx);
|
||||
|
||||
if (intel->prim.flush)
|
||||
intel->prim.flush(intel);
|
||||
INTEL_FIREVERTICES(intel);
|
||||
|
||||
return GL_FALSE; /* finished the pipe */
|
||||
}
|
||||
|
|
|
|||
|
|
@ -568,8 +568,7 @@ intel_fallback_tri(struct intel_context *intel,
|
|||
if (0)
|
||||
fprintf(stderr, "\n%s\n", __FUNCTION__);
|
||||
|
||||
if (intel->prim.flush)
|
||||
intel->prim.flush(intel);
|
||||
INTEL_FIREVERTICES(intel);
|
||||
|
||||
_swsetup_Translate(ctx, v0, &v[0]);
|
||||
_swsetup_Translate(ctx, v1, &v[1]);
|
||||
|
|
@ -590,8 +589,7 @@ intel_fallback_line(struct intel_context *intel,
|
|||
if (0)
|
||||
fprintf(stderr, "\n%s\n", __FUNCTION__);
|
||||
|
||||
if (intel->prim.flush)
|
||||
intel->prim.flush(intel);
|
||||
INTEL_FIREVERTICES(intel);
|
||||
|
||||
_swsetup_Translate(ctx, v0, &v[0]);
|
||||
_swsetup_Translate(ctx, v1, &v[1]);
|
||||
|
|
@ -834,8 +832,7 @@ intelRenderFinish(GLcontext * ctx)
|
|||
if (intel->RenderIndex & INTEL_FALLBACK_BIT)
|
||||
_swrast_flush(ctx);
|
||||
|
||||
if (intel->prim.flush)
|
||||
intel->prim.flush(intel);
|
||||
INTEL_FIREVERTICES(intel);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -858,8 +855,7 @@ intelRasterPrimitive(GLcontext * ctx, GLenum rprim, GLuint hwprim)
|
|||
/* Start a new primitive. Arrange to have it flushed later on.
|
||||
*/
|
||||
if (hwprim != intel->prim.primitive) {
|
||||
if (intel->prim.flush)
|
||||
intel->prim.flush(intel);
|
||||
INTEL_FIREVERTICES(intel);
|
||||
|
||||
intelStartInlinePrimitive(intel, hwprim, INTEL_BATCH_CLIPRECTS);
|
||||
}
|
||||
|
|
@ -1005,8 +1001,7 @@ intel_meta_draw_poly(struct intel_context *intel,
|
|||
vb += 6;
|
||||
}
|
||||
|
||||
if (intel->prim.flush)
|
||||
intel->prim.flush(intel);
|
||||
INTEL_FIREVERTICES(intel);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue