Module: Mesa Branch: master Commit: a18ab92d3c21b47efe376ea1efdbc4128b26316c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a18ab92d3c21b47efe376ea1efdbc4128b26316c
Author: Kenneth Graunke <[email protected]> Date: Tue Nov 29 03:34:01 2016 -0800 i965: Introduce a BRW_NEW_DRAW_CALL dirty bit. This allows us to have atoms which are signalled on every draw call. Reviewed-by: Matt Turner <[email protected]> --- src/mesa/drivers/dri/i965/brw_context.h | 2 ++ src/mesa/drivers/dri/i965/brw_draw.c | 5 +++++ src/mesa/drivers/dri/i965/brw_state_upload.c | 1 + 3 files changed, 8 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index d7ea7fae31..c36797f880 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -214,6 +214,7 @@ enum brw_state_id { BRW_STATE_BLORP, BRW_STATE_VIEWPORT_COUNT, BRW_STATE_CONSERVATIVE_RASTERIZATION, + BRW_STATE_DRAW_CALL, BRW_NUM_STATE_BITS }; @@ -304,6 +305,7 @@ enum brw_state_id { #define BRW_NEW_CC_STATE (1ull << BRW_STATE_CC_STATE) #define BRW_NEW_BLORP (1ull << BRW_STATE_BLORP) #define BRW_NEW_CONSERVATIVE_RASTERIZATION (1ull << BRW_STATE_CONSERVATIVE_RASTERIZATION) +#define BRW_NEW_DRAW_CALL (1ull << BRW_STATE_DRAW_CALL) struct brw_state_flags { /** State update flags signalled by mesa internals */ diff --git a/src/mesa/drivers/dri/i965/brw_draw.c b/src/mesa/drivers/dri/i965/brw_draw.c index 182a140339..e648993ef2 100644 --- a/src/mesa/drivers/dri/i965/brw_draw.c +++ b/src/mesa/drivers/dri/i965/brw_draw.c @@ -675,6 +675,11 @@ brw_try_draw_prims(struct gl_context *ctx, estimated_max_prim_size += 1024; /* gen6 WM push constants */ estimated_max_prim_size += 512; /* misc. pad */ + /* Flag BRW_NEW_DRAW_CALL on every draw. This allows us to have + * atoms that happen on every draw call. + */ + brw->ctx.NewDriverState |= BRW_NEW_DRAW_CALL; + /* Flush the batch if it's approaching full, so that we don't wrap while * we've got validated state that needs to be in the same batch as the * primitives. diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c index e14ed02e2e..8ee2dff072 100644 --- a/src/mesa/drivers/dri/i965/brw_state_upload.c +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c @@ -340,6 +340,7 @@ static struct dirty_bit_map brw_bits[] = { DEFINE_BIT(BRW_NEW_BLORP), DEFINE_BIT(BRW_NEW_VIEWPORT_COUNT), DEFINE_BIT(BRW_NEW_CONSERVATIVE_RASTERIZATION), + DEFINE_BIT(BRW_NEW_DRAW_CALL), {0, 0, 0} }; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
