iris: Update aux state for color fast clears (xe2)
The texturing and rendering preparation functions restrict fast clear support in some cases to account for limitations on prior platforms. Instead of updating those checks to avoid resolves on Xe2, we can bypass them by representing the aux state of a fast-cleared surface as compressed-no-clear. This is valid because there is no longer a bit pattern which references a clear value stored outside of the aux surface. Suggested by Nanley Chery <nanley.g.chery@intel.com> Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com> Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29906>
This commit is contained in:
@@ -370,7 +370,9 @@ fast_clear_color(struct iris_context *ice,
|
||||
iris_batch_sync_region_end(batch);
|
||||
|
||||
iris_resource_set_aux_state(ice, res, level, box->z,
|
||||
box->depth, ISL_AUX_STATE_CLEAR);
|
||||
box->depth, devinfo->ver < 20 ?
|
||||
ISL_AUX_STATE_CLEAR :
|
||||
ISL_AUX_STATE_COMPRESSED_NO_CLEAR);
|
||||
ice->state.dirty |= IRIS_DIRTY_RENDER_BUFFER;
|
||||
ice->state.stage_dirty |= IRIS_ALL_STAGE_DIRTY_BINDINGS;
|
||||
return;
|
||||
|
Reference in New Issue
Block a user