r600: fix regression introduced with ring emit changes.
authorDave Airlie <airlied@redhat.com>
Mon, 7 Dec 2015 05:44:02 +0000 (05:44 +0000)
committerDave Airlie <airlied@redhat.com>
Mon, 7 Dec 2015 05:44:55 +0000 (05:44 +0000)
This was adding one after a CUT which broke end primitive

src/gallium/drivers/r600/r600_shader.c

index 00fbef649099c062247f126f4499f520d789c7c9..fd3cb3edd21a79fc1a674a752e52980eb3b5c2e9 100644 (file)
@@ -8839,7 +8839,8 @@ static int tgsi_gs_emit(struct r600_shader_ctx *ctx)
        r = r600_bytecode_add_cfinst(ctx->bc, ctx->inst_info->op);
        if (!r) {
                ctx->bc->cf_last->count = stream; // Count field for CUT/EMIT_VERTEX indicates which stream
-               return emit_inc_ring_offset(ctx, stream, TRUE);
+               if (ctx->inst_info->op == CF_OP_EMIT_VERTEX)
+                       return emit_inc_ring_offset(ctx, stream, TRUE);
        }
        return r;
 }