These are supported in hardware; no need for software fallbacks. Not actually hit in any of our test cases, since they appear to count primitives generated which currently causes software fallbacks anyway.
Signed-off-by: Kenneth Graunke <[email protected]> --- src/mesa/drivers/dri/i965/brw_primitive_restart.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_primitive_restart.c b/src/mesa/drivers/dri/i965/brw_primitive_restart.c index 38b5243..fc36897 100644 --- a/src/mesa/drivers/dri/i965/brw_primitive_restart.c +++ b/src/mesa/drivers/dri/i965/brw_primitive_restart.c @@ -79,6 +79,7 @@ can_cut_index_handle_prims(struct gl_context *ctx, const struct _mesa_index_buffer *ib) { struct brw_context *brw = brw_context(ctx); + struct intel_context *intel = intel_context(ctx); if (brw->sol.counting_primitives_generated || brw->sol.counting_primitives_written) { @@ -105,19 +106,18 @@ can_cut_index_handle_prims(struct gl_context *ctx, case GL_TRIANGLES: case GL_TRIANGLE_STRIP: /* Cut index supports these primitive types */ - break; - default: - /* Cut index does not support these primitive types */ - //case GL_LINE_LOOP: - //case GL_TRIANGLE_FAN: - //case GL_QUADS: - //case GL_QUAD_STRIP: - //case GL_POLYGON: - return false; + return true; + case GL_LINE_LOOP: + case GL_TRIANGLE_FAN: + case GL_QUADS: + case GL_QUAD_STRIP: + case GL_POLYGON: + /* Haswell supports cut index on additional primitive types */ + return intel->is_haswell; } } - return true; + return false; } /** -- 1.7.11.4 _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
