blorp: Allow reading with HiZ

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Jason Ekstrand
2019-12-03 20:29:15 -06:00
committed by Kenneth Graunke
parent 4a1093005c
commit 95cc5438eb
2 changed files with 12 additions and 2 deletions

View File

@@ -1356,8 +1356,12 @@ blorp_emit_surface_state(struct blorp_batch *batch,
surf.dim = ISL_SURF_DIM_2D;
}
/* Blorp doesn't support HiZ in any of the blit or slow-clear paths */
assert(!isl_aux_usage_has_hiz(surface->aux_usage));
if (isl_aux_usage_has_hiz(surface->aux_usage)) {
/* BLORP doesn't render with depth so we can't use HiZ */
assert(!is_render_target);
/* We can't reinterpret HiZ */
assert(surface->surf.format == surface->view.format);
}
enum isl_aux_usage aux_usage = surface->aux_usage;
isl_channel_mask_t write_disable_mask = 0;

View File

@@ -299,6 +299,12 @@ brw_blorp_blit_miptrees(struct brw_context *brw,
dst_level, dst_layer, dst_x0, dst_y0, dst_x1, dst_y1,
mirror_x, mirror_y);
if (src_format == MESA_FORMAT_NONE)
src_format = src_mt->format;
if (dst_format == MESA_FORMAT_NONE)
dst_format = dst_mt->format;
if (!decode_srgb)
src_format = _mesa_get_srgb_format_linear(src_format);