summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Widawsky <ben@bwidawsk.net>2016-11-16 11:23:42 -0800
committerBen Widawsky <ben@bwidawsk.net>2017-03-13 10:37:38 -0700
commit89c397604403df90c19e86aaaec74e707bc92f74 (patch)
treecfc1551c01ec3c70080b1db87a82b754ab0ad63c
parenta0ba04ce015fa0464e82ce36440c8f2001801d77 (diff)
i965: Add new resolve hints full and partial
Upper layers of the code will have the need to specify full or partial resolves (more on this in the next patch). This code simply adds the new enums and plumbs it in as minimally as necessary. Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Acked-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
-rw-r--r--src/mesa/drivers/dri/i965/brw_blorp.c3
-rw-r--r--src/mesa/drivers/dri/i965/intel_mipmap_tree.h4
2 files changed, 5 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c
index 7888831219..05f3735a76 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp.c
+++ b/src/mesa/drivers/dri/i965/brw_blorp.c
@@ -971,7 +971,8 @@ brw_blorp_resolve_color(struct brw_context *brw, struct intel_mipmap_tree *mt,
enum blorp_fast_clear_op resolve_op;
if (brw->gen >= 9) {
- if (surf.aux_usage == ISL_AUX_USAGE_CCS_E)
+ if (surf.aux_usage == ISL_AUX_USAGE_CCS_E &&
+ hint != INTEL_RESOLVE_HINT_CLEAR_COLOR)
resolve_op = BLORP_FAST_CLEAR_OP_RESOLVE_FULL;
else
resolve_op = BLORP_FAST_CLEAR_OP_RESOLVE_PARTIAL;
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
index fd6294d751..a953d0bbc1 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
@@ -951,7 +951,9 @@ intel_miptree_used_for_rendering(const struct brw_context *brw,
*/
enum intel_resolve_hint {
INTEL_RESOLVE_HINT_NO_HINT = 0,
- INTEL_RESOLVE_HINT_IGNORE_CCS_E
+ INTEL_RESOLVE_HINT_IGNORE_CCS_E,
+ INTEL_RESOLVE_HINT_CLEAR_COLOR,
+ INTEL_RESOLVE_HINT_FULL,
};
bool