i965/blorp: Set full resolve for lossless compressed

v2 (Ben): Introduce union for fast clear and resolve ops

Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
This commit is contained in:
Topi Pohjolainen 2016-04-17 18:33:55 +03:00
parent 58e7392e12
commit ba9f954e60
2 changed files with 8 additions and 2 deletions

View file

@ -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;

View file

@ -412,7 +412,10 @@ brw_blorp_resolve_color(struct brw_context *brw, struct intel_mipmap_tree *mt)
brw_get_resolve_rect(brw, mt, &params.x0, &params.y0,
&params.x1, &params.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