emit.ctx = ctx;
emit.info = info;
emit.indirect = indirect;
- emit.draw = draw;
+ emit.draw = NULL;
emit.rasterflat = ctx->rasterizer->flatshade;
emit.sprite_coord_enable = ctx->rasterizer->sprite_coord_enable;
emit.sprite_coord_mode = ctx->rasterizer->sprite_coord_mode;
emit.gs = fd6_emit_get_prog(&emit)->gs;
emit.fs = fd6_emit_get_prog(&emit)->fs;
- if (emit.prog->num_driver_params || fd6_ctx->has_dp_state)
+ if (emit.prog->num_driver_params || fd6_ctx->has_dp_state) {
+ emit.draw = draw;
emit.dirty_groups |= BIT(FD6_GROUP_DRIVER_PARAMS);
+ }
/* If we are doing xfb, we need to emit the xfb state on every draw: */
if (emit.prog->stream_output)
for (unsigned i = 0; i < num_draws; i++) {
ctx->draw_vbo(ctx, info, drawid_offset, indirect, &draws[i], index_offset);
-
- batch->num_vertices += draws[i].count * info->instance_count;
}
if (unlikely(ctx->stats_users > 0))