From: Topi Pohjolainen Date: Sun, 17 Apr 2016 15:33:55 +0000 (+0300) Subject: i965/blorp: Set full resolve for lossless compressed X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ba9f954e603a1976125e9fdccc35e32ac947c8fd;p=mesa.git i965/blorp: Set full resolve for lossless compressed v2 (Ben): Introduce union for fast clear and resolve ops Signed-off-by: Topi Pohjolainen Reviewed-by: Ben Widawsky --- diff --git a/src/mesa/drivers/dri/i965/brw_blorp.h b/src/mesa/drivers/dri/i965/brw_blorp.h index c5c2c4e328d..d61e9d5a0f3 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp.h +++ b/src/mesa/drivers/dri/i965/brw_blorp.h @@ -225,7 +225,10 @@ struct brw_blorp_params struct brw_blorp_surface_info src; struct brw_blorp_surface_info dst; enum gen6_hiz_op hiz_op; - unsigned fast_clear_op; + union { + unsigned fast_clear_op; + unsigned resolve_type; + }; bool color_write_disable[4]; struct brw_blorp_wm_push_constants wm_push_consts; unsigned num_varyings; diff --git a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp index 2cde347728c..d6c846a57ce 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp +++ b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp @@ -412,7 +412,10 @@ brw_blorp_resolve_color(struct brw_context *brw, struct intel_mipmap_tree *mt) brw_get_resolve_rect(brw, mt, ¶ms.x0, ¶ms.y0, ¶ms.x1, ¶ms.y1); - params.fast_clear_op = GEN7_PS_RENDER_TARGET_RESOLVE_ENABLE; + if (intel_miptree_is_lossless_compressed(brw, mt)) + params.resolve_type = GEN9_PS_RENDER_TARGET_RESOLVE_FULL; + else + params.resolve_type = GEN7_PS_RENDER_TARGET_RESOLVE_ENABLE; /* Note: there is no need to initialize push constants because it doesn't * matter what data gets dispatched to the render target. However, we must