intel/blorp: Add a CCS ambiguation pass
This pass performs an "ambiguate" operation on a CCS-compressed surface by manually writing zeros into the CCS. On gen8+, ISL gives us a fairly detailed notion of how the CCS is laid out so this is fairly simple to do. On gen7, the CCS tiling is quite crazy but that isn't an issue because we can only do CCS on single-slice images so we can just blast over the entire CCS buffer if we want to. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
This commit is contained in:
@@ -203,6 +203,11 @@ blorp_ccs_resolve(struct blorp_batch *batch,
|
||||
enum isl_format format,
|
||||
enum blorp_fast_clear_op resolve_op);
|
||||
|
||||
void
|
||||
blorp_ccs_ambiguate(struct blorp_batch *batch,
|
||||
struct blorp_surf *surf,
|
||||
uint32_t level, uint32_t layer);
|
||||
|
||||
void
|
||||
blorp_mcs_partial_resolve(struct blorp_batch *batch,
|
||||
struct blorp_surf *surf,
|
||||
|
Reference in New Issue
Block a user