From b95cbe5e800e95d888d148e20e6a4e34c8857a9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 15 Apr 2013 00:50:20 +0200 Subject: mesa,i965: use NewDriverState to communicate TFB state changes with the driver _NEW_TRANSFORM_FEEDBACK is not used by core Mesa, so it can be removed. Instead, an new private flag is added to i965 to serve the same purpose. If you're new to this: * When creating a context. you can set private dirty flags in gl_context::DriverFlags, eg.: ctx->DriverFlags.NewStateX = BRW_NEW_STATE_X; * When StateX is changed, core Mesa does: ctx->NewDriverState |= ctx->DriverFlags.NewStateX; * When you have to draw, read and clear ctx->NewDriverState. * Pros: not touching NewState, the driver decides the mapping between GL states and hw state groups, unlimited number of flags in core Mesa (still limited number of flags in the driver though) Reviewed-by: Brian Paul Reviewed-by: Eric Anholt --- src/mesa/drivers/dri/i965/gen7_sol_state.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/mesa/drivers/dri/i965/gen7_sol_state.c') diff --git a/src/mesa/drivers/dri/i965/gen7_sol_state.c b/src/mesa/drivers/dri/i965/gen7_sol_state.c index 03709ea..a404e2b 100644 --- a/src/mesa/drivers/dri/i965/gen7_sol_state.c +++ b/src/mesa/drivers/dri/i965/gen7_sol_state.c @@ -45,7 +45,7 @@ upload_3dstate_so_buffers(struct brw_context *brw) ctx->Shader.CurrentVertexProgram; const struct gl_transform_feedback_info *linked_xfb_info = &vs_prog->LinkedTransformFeedback; - /* _NEW_TRANSFORM_FEEDBACK */ + /* BRW_NEW_TRANSFORM_FEEDBACK */ struct gl_transform_feedback_object *xfb_obj = ctx->TransformFeedback.CurrentObject; int i; @@ -116,7 +116,7 @@ upload_3dstate_so_decl_list(struct brw_context *brw, /* BRW_NEW_VERTEX_PROGRAM */ const struct gl_shader_program *vs_prog = ctx->Shader.CurrentVertexProgram; - /* _NEW_TRANSFORM_FEEDBACK */ + /* BRW_NEW_TRANSFORM_FEEDBACK */ const struct gl_transform_feedback_info *linked_xfb_info = &vs_prog->LinkedTransformFeedback; int i; @@ -189,7 +189,7 @@ upload_3dstate_streamout(struct brw_context *brw, bool active, { struct intel_context *intel = &brw->intel; struct gl_context *ctx = &intel->ctx; - /* _NEW_TRANSFORM_FEEDBACK */ + /* BRW_NEW_TRANSFORM_FEEDBACK */ struct gl_transform_feedback_object *xfb_obj = ctx->TransformFeedback.CurrentObject; uint32_t dw1 = 0, dw2 = 0; @@ -238,7 +238,7 @@ upload_sol_state(struct brw_context *brw) { struct intel_context *intel = &brw->intel; struct gl_context *ctx = &intel->ctx; - /* _NEW_TRANSFORM_FEEDBACK */ + /* BRW_NEW_TRANSFORM_FEEDBACK */ bool active = _mesa_is_xfb_active_and_unpaused(ctx); if (active) { @@ -264,11 +264,11 @@ upload_sol_state(struct brw_context *brw) const struct brw_tracked_state gen7_sol_state = { .dirty = { .mesa = (_NEW_RASTERIZER_DISCARD | - _NEW_LIGHT | - _NEW_TRANSFORM_FEEDBACK), + _NEW_LIGHT), .brw = (BRW_NEW_BATCH | BRW_NEW_VERTEX_PROGRAM | - BRW_NEW_VUE_MAP_GEOM_OUT) + BRW_NEW_VUE_MAP_GEOM_OUT | + BRW_NEW_TRANSFORM_FEEDBACK) }, .emit = upload_sol_state, }; -- cgit v1.1