summaryrefslogtreecommitdiffstats
path: root/src/intel/blorp/blorp.h
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-05-17 20:33:21 -0700
committerJason Ekstrand <[email protected]>2018-02-08 16:35:31 -0800
commit857b5b5a7f7741b5433c59814c66d0612c05ae7d (patch)
treedc0ed0bb80ec0d168cc5ea120df71676e1a93658 /src/intel/blorp/blorp.h
parent13b621d6fd30b7337844ff53cc8b166d07154a82 (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.h5
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,