On Friday, October 6, 2017 10:25:50 PM PDT Kenneth Graunke wrote: > On Friday, October 6, 2017 8:09:33 PM PDT Jason Ekstrand wrote: > > On October 6, 2017 8:00:04 PM Kenneth Graunke <kenn...@whitecape.org> wrote: [snip] > > > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > > > b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > > > index 670a92c1168..48392e7494a 100644 > > > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > > > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > > > @@ -2678,7 +2676,7 @@ intel_miptree_prepare_fb_fetch(struct brw_context > > > *brw, > > > uint32_t start_layer, uint32_t num_layers) > > > { > > > intel_miptree_prepare_texture_slices(brw, mt, mt->surf.format, level, > > > 1, > > > - start_layer, num_layers, NULL); > > > + start_layer, num_layers, false); > > > > I think we probably want true here. It is for fb_fetch after all. :-) > > Also, we probably want to do disable_rb_aux_buffer for framebuffer fetch as > > well. > > Sure, I can do that. It won't actually do anything, however, as this is > the code for non-coherent framebuffer fetch...and on Gen9+, we always do > a coherent fetch using the Render Target Read messages (even if the app > says that a non-coherent fetch would be fine). And, Gen9+ is the only > platform where CCS_E exists. So, the only platforms where this matters > don't use this code :) > > Still, I think your suggestion would make the code clearer, and would > future-proof it in case we ever decide that non-coherent fetches are > useful on modern hardware (say, if they're cheaper someday).
Actually, now that I've tried it, this doesn't work. It causes assertion failures in tests such as: ES31-CTS.functional.blend_equation_advanced.msaa.lighten on Broadwell and older. These try to do non-coherent framebuffer fetch from a multisampled surface. Making intel_miptree_prepare_fb_access pass true for "disable_aux" causes us to pass ISL_AUX_USAGE_NONE into intel_miptree_prepare_mcs_access(). That function asserts aux_usage is ISL_AUX_USAGE_MCS, because, as you said, there's no code for doing full MCS resolves. Because of that, and this probably not doing anything useful anyway, I think I'd rather leave v2 as it is. What do you think, Jason?
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev