brw, xfb_obj->Buffers[buffer],
&brw->gs.base.surf_offset[surf_index],
linked_xfb_info->Outputs[i].NumComponents,
- linked_xfb_info->BufferStride[buffer], buffer_offset);
+ linked_xfb_info->Buffers[buffer].Stride, buffer_offset);
} else {
brw_update_sol_surface(
brw, xfb_obj->Buffers[buffer],
&brw->ff_gs.surf_offset[surf_index],
linked_xfb_info->Outputs[i].NumComponents,
- linked_xfb_info->BufferStride[buffer], buffer_offset);
+ linked_xfb_info->Buffers[buffer].Stride, buffer_offset);
}
} else {
if (!brw->geometry_program)
.dirty = {
.mesa = 0,
.brw = BRW_NEW_BATCH |
+ BRW_NEW_BLORP |
BRW_NEW_GEOMETRY_PROGRAM |
BRW_NEW_VERTEX_PROGRAM |
BRW_NEW_TRANSFORM_FEEDBACK,
}
if (!need_binding_table) {
if (brw->ff_gs.bind_bo_offset != 0) {
- brw->ctx.NewDriverState |= BRW_NEW_GS_BINDING_TABLE;
+ brw->ctx.NewDriverState |= BRW_NEW_BINDING_TABLE_POINTERS;
brw->ff_gs.bind_bo_offset = 0;
}
return;
if (!need_binding_table) {
if (brw->gs.base.bind_bo_offset != 0) {
brw->gs.base.bind_bo_offset = 0;
- brw->ctx.NewDriverState |= BRW_NEW_GS_BINDING_TABLE;
+ brw->ctx.NewDriverState |= BRW_NEW_BINDING_TABLE_POINTERS;
}
return;
}
BRW_MAX_SURFACES * sizeof(uint32_t));
}
- brw->ctx.NewDriverState |= BRW_NEW_GS_BINDING_TABLE;
+ brw->ctx.NewDriverState |= BRW_NEW_BINDING_TABLE_POINTERS;
}
const struct brw_tracked_state gen6_gs_binding_table = {
.dirty = {
.mesa = 0,
.brw = BRW_NEW_BATCH |
+ BRW_NEW_BLORP |
BRW_NEW_GEOMETRY_PROGRAM |
BRW_NEW_VERTEX_PROGRAM |
BRW_NEW_SURFACES,
* overflowing any of the buffers currently being used for feedback.
*/
unsigned max_index
- = _mesa_compute_max_transform_feedback_vertices(xfb_obj,
+ = _mesa_compute_max_transform_feedback_vertices(ctx, xfb_obj,
linked_xfb_info);
/* Initialize the SVBI 0 register to zero and set the maximum index. */
* simplicity, just do a full flush.
*/
struct brw_context *brw = brw_context(ctx);
- intel_batchbuffer_emit_mi_flush(brw);
+ brw_emit_mi_flush(brw);
}