We want to use this flag to signal changes to the aux surfaces, so let's not make it about fast clearing only. Suggested by Jason. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>tags/17.3-branchpoint
| @@ -868,7 +868,7 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb, | |||
| * on the next draw call. | |||
| */ | |||
| if (!same_clear_color) | |||
| ctx->NewDriverState |= BRW_NEW_FAST_CLEAR_COLOR; | |||
| ctx->NewDriverState |= BRW_NEW_AUX_STATE; | |||
| DBG("%s (fast) to mt %p level %d layers %d+%d\n", __FUNCTION__, | |||
| irb->mt, irb->mt_level, irb->mt_layer, num_layers); | |||
| @@ -215,7 +215,7 @@ enum brw_state_id { | |||
| BRW_STATE_VIEWPORT_COUNT, | |||
| BRW_STATE_CONSERVATIVE_RASTERIZATION, | |||
| BRW_STATE_DRAW_CALL, | |||
| BRW_STATE_FAST_CLEAR_COLOR, | |||
| BRW_STATE_AUX, | |||
| BRW_NUM_STATE_BITS | |||
| }; | |||
| @@ -307,7 +307,7 @@ enum brw_state_id { | |||
| #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) | |||
| #define BRW_NEW_FAST_CLEAR_COLOR (1ull << BRW_STATE_FAST_CLEAR_COLOR) | |||
| #define BRW_NEW_AUX_STATE (1ull << BRW_STATE_AUX) | |||
| struct brw_state_flags { | |||
| /** State update flags signalled by mesa internals */ | |||
| @@ -129,7 +129,7 @@ const struct brw_tracked_state brw_gs_image_surfaces = { | |||
| .dirty = { | |||
| .mesa = _NEW_TEXTURE, | |||
| .brw = BRW_NEW_BATCH | | |||
| BRW_NEW_FAST_CLEAR_COLOR | | |||
| BRW_NEW_AUX_STATE | | |||
| BRW_NEW_GEOMETRY_PROGRAM | | |||
| BRW_NEW_GS_PROG_DATA | | |||
| BRW_NEW_IMAGE_UNITS, | |||
| @@ -353,7 +353,7 @@ static struct dirty_bit_map brw_bits[] = { | |||
| DEFINE_BIT(BRW_NEW_VIEWPORT_COUNT), | |||
| DEFINE_BIT(BRW_NEW_CONSERVATIVE_RASTERIZATION), | |||
| DEFINE_BIT(BRW_NEW_DRAW_CALL), | |||
| DEFINE_BIT(BRW_NEW_FAST_CLEAR_COLOR), | |||
| DEFINE_BIT(BRW_NEW_AUX_STATE), | |||
| {0, 0, 0} | |||
| }; | |||
| @@ -129,7 +129,7 @@ brw_upload_tcs_image_surfaces(struct brw_context *brw) | |||
| const struct brw_tracked_state brw_tcs_image_surfaces = { | |||
| .dirty = { | |||
| .brw = BRW_NEW_BATCH | | |||
| BRW_NEW_FAST_CLEAR_COLOR | | |||
| BRW_NEW_AUX_STATE | | |||
| BRW_NEW_IMAGE_UNITS | | |||
| BRW_NEW_TCS_PROG_DATA | | |||
| BRW_NEW_TESS_PROGRAMS, | |||
| @@ -129,7 +129,7 @@ brw_upload_tes_image_surfaces(struct brw_context *brw) | |||
| const struct brw_tracked_state brw_tes_image_surfaces = { | |||
| .dirty = { | |||
| .brw = BRW_NEW_BATCH | | |||
| BRW_NEW_FAST_CLEAR_COLOR | | |||
| BRW_NEW_AUX_STATE | | |||
| BRW_NEW_IMAGE_UNITS | | |||
| BRW_NEW_TESS_PROGRAMS | | |||
| BRW_NEW_TES_PROG_DATA, | |||
| @@ -194,7 +194,7 @@ const struct brw_tracked_state brw_vs_image_surfaces = { | |||
| .dirty = { | |||
| .mesa = _NEW_TEXTURE, | |||
| .brw = BRW_NEW_BATCH | | |||
| BRW_NEW_FAST_CLEAR_COLOR | | |||
| BRW_NEW_AUX_STATE | | |||
| BRW_NEW_IMAGE_UNITS | | |||
| BRW_NEW_VERTEX_PROGRAM | | |||
| BRW_NEW_VS_PROG_DATA, | |||
| @@ -1038,7 +1038,7 @@ const struct brw_tracked_state gen6_renderbuffer_surfaces = { | |||
| .dirty = { | |||
| .mesa = _NEW_BUFFERS, | |||
| .brw = BRW_NEW_BATCH | | |||
| BRW_NEW_FAST_CLEAR_COLOR, | |||
| BRW_NEW_AUX_STATE, | |||
| }, | |||
| .emit = update_renderbuffer_surfaces, | |||
| }; | |||
| @@ -1119,7 +1119,7 @@ const struct brw_tracked_state brw_renderbuffer_read_surfaces = { | |||
| .dirty = { | |||
| .mesa = _NEW_BUFFERS, | |||
| .brw = BRW_NEW_BATCH | | |||
| BRW_NEW_FAST_CLEAR_COLOR | | |||
| BRW_NEW_AUX_STATE | | |||
| BRW_NEW_FS_PROG_DATA, | |||
| }, | |||
| .emit = update_renderbuffer_read_surfaces, | |||
| @@ -1216,7 +1216,7 @@ const struct brw_tracked_state brw_texture_surfaces = { | |||
| .dirty = { | |||
| .mesa = _NEW_TEXTURE, | |||
| .brw = BRW_NEW_BATCH | | |||
| BRW_NEW_FAST_CLEAR_COLOR | | |||
| BRW_NEW_AUX_STATE | | |||
| BRW_NEW_FRAGMENT_PROGRAM | | |||
| BRW_NEW_FS_PROG_DATA | | |||
| BRW_NEW_GEOMETRY_PROGRAM | | |||
| @@ -1259,7 +1259,7 @@ const struct brw_tracked_state brw_cs_texture_surfaces = { | |||
| .mesa = _NEW_TEXTURE, | |||
| .brw = BRW_NEW_BATCH | | |||
| BRW_NEW_COMPUTE_PROGRAM | | |||
| BRW_NEW_FAST_CLEAR_COLOR, | |||
| BRW_NEW_AUX_STATE, | |||
| }, | |||
| .emit = brw_update_cs_texture_surfaces, | |||
| }; | |||
| @@ -1467,7 +1467,7 @@ const struct brw_tracked_state brw_cs_image_surfaces = { | |||
| .mesa = _NEW_TEXTURE | _NEW_PROGRAM, | |||
| .brw = BRW_NEW_BATCH | | |||
| BRW_NEW_CS_PROG_DATA | | |||
| BRW_NEW_FAST_CLEAR_COLOR | | |||
| BRW_NEW_AUX_STATE | | |||
| BRW_NEW_IMAGE_UNITS | |||
| }, | |||
| .emit = brw_upload_cs_image_surfaces, | |||
| @@ -1653,7 +1653,7 @@ const struct brw_tracked_state brw_wm_image_surfaces = { | |||
| .dirty = { | |||
| .mesa = _NEW_TEXTURE, | |||
| .brw = BRW_NEW_BATCH | | |||
| BRW_NEW_FAST_CLEAR_COLOR | | |||
| BRW_NEW_AUX_STATE | | |||
| BRW_NEW_FRAGMENT_PROGRAM | | |||
| BRW_NEW_FS_PROG_DATA | | |||
| BRW_NEW_IMAGE_UNITS | |||