Series Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com>
On Mon, Apr 8, 2013 at 11:57 AM, Paul Berry <stereotype...@gmail.com> wrote: > Gen7.5 (Haswell) hardware supports primitive restart for all primitive > types. It also handles all possible primitive restart indices. > Rather than specialize both can_cut_index_handle_restart_index() and > the switch statement in can_cut_index_handle_prims() for Haswell, just > return early if the hardware is Haswell because we know it can handle > everything. > > Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/mesa/drivers/dri/i965/brw_primitive_restart.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_primitive_restart.c > b/src/mesa/drivers/dri/i965/brw_primitive_restart.c > index e6902b4..10581b3 100644 > --- a/src/mesa/drivers/dri/i965/brw_primitive_restart.c > +++ b/src/mesa/drivers/dri/i965/brw_primitive_restart.c > @@ -36,18 +36,12 @@ > > /** > * Check if the hardware's cut index support can handle the primitive > - * restart index value. > + * restart index value (pre-Haswell only). > */ > static bool > can_cut_index_handle_restart_index(struct gl_context *ctx, > const struct _mesa_index_buffer *ib) > { > - struct intel_context *intel = intel_context(ctx); > - > - /* Haswell supports an arbitrary cut index. */ > - if (intel->is_haswell) > - return true; > - > bool cut_index_will_work; > > switch (ib->type) { > @@ -78,6 +72,7 @@ can_cut_index_handle_prims(struct gl_context *ctx, > GLuint nr_prims, > const struct _mesa_index_buffer *ib) > { > + struct intel_context *intel = intel_context(ctx); > struct brw_context *brw = brw_context(ctx); > > if (brw->sol.counting_primitives_generated || > @@ -90,6 +85,10 @@ can_cut_index_handle_prims(struct gl_context *ctx, > return false; > } > > + /* Otherwise Haswell can do it all. */ > + if (intel->is_haswell) > + return true; > + > if (!can_cut_index_handle_restart_index(ctx, ib)) { > /* The primitive restart index can't be handled, so take > * the software path > -- > 1.8.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev