Module: Mesa Branch: master Commit: b712aa2614447985cacabdd375ab99ff18bd1e71 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b712aa2614447985cacabdd375ab99ff18bd1e71
Author: Topi Pohjolainen <topi.pohjolai...@intel.com> Date: Mon Aug 29 10:16:40 2016 +0300 i965/blorp: Sanity check all layers before actual clear Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com> Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> --- src/mesa/drivers/dri/i965/brw_blorp.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c index dc2be1e..703e547 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp.c +++ b/src/mesa/drivers/dri/i965/brw_blorp.c @@ -720,7 +720,6 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb, } } - intel_miptree_check_level_layer(irb->mt, irb->mt_level, layer); intel_miptree_used_for_rendering(irb->mt); /* We can't setup the blorp_surf until we've allocated the MCS above */ @@ -790,12 +789,16 @@ brw_blorp_clear_color(struct brw_context *brw, struct gl_framebuffer *fb, if (rb == NULL) continue; + const unsigned num_layers = fb->MaxNumLayers ? irb->layer_count : 1; + for (unsigned layer = 0; layer < num_layers; layer++) { + intel_miptree_check_level_layer(irb->mt, irb->mt_level, layer); + } + if (fb->MaxNumLayers > 0) { unsigned layer_multiplier = (irb->mt->msaa_layout == INTEL_MSAA_LAYOUT_UMS || irb->mt->msaa_layout == INTEL_MSAA_LAYOUT_CMS) ? irb->mt->num_samples : 1; - unsigned num_layers = irb->layer_count; for (unsigned layer = 0; layer < num_layers; layer++) { if (!do_single_blorp_clear( brw, fb, rb, buf, partial_clear, encode_srgb, _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit