diff options
author | Jason Ekstrand <[email protected]> | 2017-05-17 20:33:21 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2018-02-08 16:35:31 -0800 |
commit | 857b5b5a7f7741b5433c59814c66d0612c05ae7d (patch) | |
tree | dc0ed0bb80ec0d168cc5ea120df71676e1a93658 /src/intel/blorp/blorp.h | |
parent | 13b621d6fd30b7337844ff53cc8b166d07154a82 (diff) |
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 <[email protected]>
Reviewed-by: Nanley Chery <[email protected]>
Diffstat (limited to 'src/intel/blorp/blorp.h')
-rw-r--r-- | src/intel/blorp/blorp.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/intel/blorp/blorp.h b/src/intel/blorp/blorp.h index a1dd57118bb..478a9af5ed1 100644 --- a/src/intel/blorp/blorp.h +++ b/src/intel/blorp/blorp.h @@ -204,6 +204,11 @@ blorp_ccs_resolve(struct blorp_batch *batch, 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, enum isl_format format, |