blorp: Use FullSurfaceDepthandStencilClear for blorp_hiz_op
The blorp_hiz_op entrypoint always acts on a full subresource of a HiZ buffer so we can just set the flag unconditionally. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
This commit is contained in:
@@ -294,6 +294,7 @@ blorp_hiz_op(struct blorp_batch *batch, struct blorp_surf *surf,
|
||||
blorp_params_init(¶ms);
|
||||
|
||||
params.hiz_op = op;
|
||||
params.full_surface_hiz_op = true;
|
||||
|
||||
for (uint32_t a = 0; a < num_layers; a++) {
|
||||
const uint32_t layer = start_layer + a;
|
||||
|
@@ -1470,11 +1470,14 @@ blorp_emit_gen8_hiz_op(struct blorp_batch *batch,
|
||||
hzp.StencilBufferClearEnable = params->stencil.enabled;
|
||||
hzp.DepthBufferClearEnable = params->depth.enabled;
|
||||
hzp.StencilClearValue = params->stencil_ref;
|
||||
hzp.FullSurfaceDepthandStencilClear = params->full_surface_hiz_op;
|
||||
break;
|
||||
case BLORP_HIZ_OP_DEPTH_RESOLVE:
|
||||
assert(params->full_surface_hiz_op);
|
||||
hzp.DepthBufferResolveEnable = true;
|
||||
break;
|
||||
case BLORP_HIZ_OP_HIZ_RESOLVE:
|
||||
assert(params->full_surface_hiz_op);
|
||||
hzp.HierarchicalDepthBufferResolveEnable = true;
|
||||
break;
|
||||
case BLORP_HIZ_OP_NONE:
|
||||
|
@@ -185,6 +185,7 @@ struct blorp_params
|
||||
struct brw_blorp_surface_info src;
|
||||
struct brw_blorp_surface_info dst;
|
||||
enum blorp_hiz_op hiz_op;
|
||||
bool full_surface_hiz_op;
|
||||
enum blorp_fast_clear_op fast_clear_op;
|
||||
bool color_write_disable[4];
|
||||
struct brw_blorp_wm_inputs wm_inputs;
|
||||
|
Reference in New Issue
Block a user