Add new parameters `depth_level` and `depth_layer`, which specify depth miptree's slice of interest. A following patch will pass the new parameters through to intel_miptree_slice_has_hiz(). Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>tags/mesa-9.2-rc1
@@ -1127,6 +1127,8 @@ bool brwCreateContext(int api, | |||
* brw_misc_state.c | |||
*/ | |||
void brw_get_depthstencil_tile_masks(struct intel_mipmap_tree *depth_mt, | |||
uint32_t depth_level, | |||
uint32_t depth_layer, | |||
struct intel_mipmap_tree *stencil_mt, | |||
uint32_t *out_tile_mask_x, | |||
uint32_t *out_tile_mask_y); |
@@ -271,6 +271,8 @@ brw_depthbuffer_format(struct brw_context *brw) | |||
*/ | |||
void | |||
brw_get_depthstencil_tile_masks(struct intel_mipmap_tree *depth_mt, | |||
uint32_t depth_level, | |||
uint32_t depth_layer, | |||
struct intel_mipmap_tree *stencil_mt, | |||
uint32_t *out_tile_mask_x, | |||
uint32_t *out_tile_mask_y) | |||
@@ -367,7 +369,10 @@ brw_workaround_depthstencil_alignment(struct brw_context *brw, | |||
} | |||
uint32_t tile_mask_x, tile_mask_y; | |||
brw_get_depthstencil_tile_masks(depth_mt, stencil_mt, | |||
brw_get_depthstencil_tile_masks(depth_mt, | |||
depth_mt ? depth_irb->mt_level : 0, | |||
depth_mt ? depth_irb->mt_layer : 0, | |||
stencil_mt, | |||
&tile_mask_x, &tile_mask_y); | |||
if (depth_irb) { |
@@ -829,7 +829,10 @@ gen6_blorp_emit_depth_stencil_config(struct brw_context *brw, | |||
uint32_t draw_y = params->depth.y_offset; | |||
uint32_t tile_mask_x, tile_mask_y; | |||
brw_get_depthstencil_tile_masks(params->depth.mt, NULL, | |||
brw_get_depthstencil_tile_masks(params->depth.mt, | |||
params->depth.level, | |||
params->depth.layer, | |||
NULL, | |||
&tile_mask_x, &tile_mask_y); | |||
/* 3DSTATE_DEPTH_BUFFER */ |
@@ -585,7 +585,10 @@ gen7_blorp_emit_depth_stencil_config(struct brw_context *brw, | |||
uint32_t tile_mask_x, tile_mask_y; | |||
if (params->depth.mt) { | |||
brw_get_depthstencil_tile_masks(params->depth.mt, NULL, | |||
brw_get_depthstencil_tile_masks(params->depth.mt, | |||
params->depth.level, | |||
params->depth.layer, | |||
NULL, | |||
&tile_mask_x, &tile_mask_y); | |||
} | |||