[Mesa-dev] [PATCH 13/30] i965: Combine render target resolve code
Chad Versace
chadversary at chromium.org
Tue Jun 6 19:54:00 UTC 2017
There's a patch on your branch I didn't see on mesa-dev.
Subject: i965: Be a bit more conservative about certain resolves
It has my r-b.
I have comments on this patch...
On Fri 26 May 2017, Jason Ekstrand wrote:
> We have two different bits of resolve code for render targets: one in
> brw_draw where it's always been and one in brw_context to deal with sRGB
> on gen9. Let's pull them together.
> ---
> src/mesa/drivers/dri/i965/brw_context.c | 47 ++++++++++++++++++++-------------
> src/mesa/drivers/dri/i965/brw_draw.c | 34 ------------------------
> 2 files changed, 29 insertions(+), 52 deletions(-)
> + /* For layered rendering non-compressed fast cleared buffers need to be
> + * resolved. Surface state can carry only one fast color clear value
> + * while each layer may have its own fast clear color value. For
> + * compressed buffers color value is available in the color buffer.
> + */
> + if (irb->layer_count > 1 &&
> + !(irb->mt->aux_disable & INTEL_AUX_DISABLE_CCS) &&
> + !intel_miptree_is_lossless_compressed(brw, mt)) {
This condition smells bad. It smells like a shot in the dark. It smells
like a haphazard guess. "We haven't permanently disabled CCS for this
miptree. And it lacks CCS_E. So, well, it probably has CCS_D, I guess.".
I would much rather see the condition with something more certain.
Something like:
if (irb->layer_count > 1 &&
intel_miptree_has_css_d_in_layer_range(brw, mt, irb->mt_level, irb->mt_layer, irb->layer_count))
Anway, this patch is a good cleanup, and functional changes like I'm
requesting don't belong in a refactoring patch like this one.
Reviewed-by: Chad Versace <chadversary at chromium.org>
> + assert(brw->gen >= 8);
> +
> + intel_miptree_resolve_color(brw, mt, irb->mt_level, 1,
> + irb->mt_layer, irb->layer_count, 0);
> + }
> }
More information about the mesa-dev
mailing list