diff --git a/src/mesa/drivers/dri/i915/i830_vtbl.c b/src/mesa/drivers/dri/i915/i830_vtbl.c index 64c1d58dc19..a1fe81665dd 100644 --- a/src/mesa/drivers/dri/i915/i830_vtbl.c +++ b/src/mesa/drivers/dri/i915/i830_vtbl.c @@ -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; diff --git a/src/mesa/drivers/dri/i915/i915_vtbl.c b/src/mesa/drivers/dri/i915/i915_vtbl.c index 9fbdf76feda..86187652302 100644 --- a/src/mesa/drivers/dri/i915/i915_vtbl.c +++ b/src/mesa/drivers/dri/i915/i915_vtbl.c @@ -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; diff --git a/src/mesa/drivers/dri/i915/intel_context.h b/src/mesa/drivers/dri/i915/intel_context.h index 85fdd22855c..98eea716400 100644 --- a/src/mesa/drivers/dri/i915/intel_context.h +++ b/src/mesa/drivers/dri/i915/intel_context.h @@ -371,7 +371,8 @@ do { \ #define INTEL_FIREVERTICES(intel) \ do { \ - assert(!(intel)->prim.flush); \ + if ((intel)->prim.flush) \ + (intel)->prim.flush(intel); \ } while (0) /* ================================================================ diff --git a/src/mesa/drivers/dri/i915/intel_render.c b/src/mesa/drivers/dri/i915/intel_render.c index 5f12f701a94..1c83e7dd1f1 100644 --- a/src/mesa/drivers/dri/i915/intel_render.c +++ b/src/mesa/drivers/dri/i915/intel_render.c @@ -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 */ } diff --git a/src/mesa/drivers/dri/i915/intel_tris.c b/src/mesa/drivers/dri/i915/intel_tris.c index 991382f0cf8..a072b8a2271 100644 --- a/src/mesa/drivers/dri/i915/intel_tris.c +++ b/src/mesa/drivers/dri/i915/intel_tris.c @@ -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