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