const struct brw_tracked_state gen6_sol_surface = {
.dirty = {
.mesa = 0,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_VERTEX_PROGRAM |
- BRW_NEW_GEOMETRY_PROGRAM |
- BRW_NEW_TRANSFORM_FEEDBACK),
- .cache = 0
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_GEOMETRY_PROGRAM |
+ BRW_NEW_VERTEX_PROGRAM |
+ BRW_NEW_TRANSFORM_FEEDBACK,
},
.emit = gen6_update_sol_surfaces,
};
const struct brw_tracked_state gen6_gs_binding_table = {
.dirty = {
.mesa = 0,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_VERTEX_PROGRAM |
- BRW_NEW_GEOMETRY_PROGRAM |
- BRW_NEW_SURFACES),
- .cache = 0
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_GEOMETRY_PROGRAM |
+ BRW_NEW_VERTEX_PROGRAM |
+ BRW_NEW_SURFACES,
},
.emit = brw_gs_upload_binding_table,
};
struct brw_transform_feedback_object *brw_obj =
(struct brw_transform_feedback_object *) obj;
- for (unsigned i = 0; i < Elements(obj->Buffers); i++) {
+ for (unsigned i = 0; i < ARRAY_SIZE(obj->Buffers); i++) {
_mesa_reference_buffer_object(ctx, &obj->Buffers[i], NULL);
}
assert(brw->gen == 6);
- if (brw->geometry_program) {
+ if (ctx->_Shader->CurrentProgram[MESA_SHADER_GEOMETRY]) {
/* BRW_NEW_GEOMETRY_PROGRAM */
shaderprog =
ctx->_Shader->CurrentProgram[MESA_SHADER_GEOMETRY];
= _mesa_compute_max_transform_feedback_vertices(xfb_obj,
linked_xfb_info);
- /* 3DSTATE_GS_SVB_INDEX is non-pipelined. */
- intel_emit_post_sync_nonzero_flush(brw);
-
/* Initialize the SVBI 0 register to zero and set the maximum index. */
BEGIN_BATCH(4);
OUT_BATCH(_3DSTATE_GS_SVB_INDEX << 16 | (4 - 2));