<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Jun 6, 2017 at 6:00 PM, Chad Versace <span dir="ltr"><<a href="mailto:chad@kiwitree.net" target="_blank">chad@kiwitree.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue 06 Jun 2017, Jason Ekstrand wrote:<br>
> On Tue, Jun 6, 2017 at 1:32 PM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br>
><br>
> > On Tue, Jun 6, 2017 at 1:22 PM, Chad Versace <<a href="mailto:chadversary@chromium.org">chadversary@chromium.org</a>><br>
> > wrote:<br>
> ><br>
> >> On Fri 26 May 2017, Jason Ekstrand wrote:<br>
<br>
</span><span class="">> > How about a section after the auxiliary compression ops section which goes<br>
> > into detail on each of the compression types and discusses which states are<br>
> > valid etc.<br>
> ><br>
><br>
> How does this look:<br>
><br>
> <a href="https://cgit.freedesktop.org/~jekstrand/mesa/commit/?h=wip/i965-resolve-rework-v3&id=8478b102c99e3ec43ec687b3f4e52acb9acbd5ba" rel="noreferrer" target="_blank">https://cgit.freedesktop.org/~<wbr>jekstrand/mesa/commit/?h=wip/<wbr>i965-resolve-rework-v3&id=<wbr>8478b102c99e3ec43ec687b3f4e52a<wbr>cb9acbd5ba</a><br>
><br>
> I'll squash it in if you like it.<br>
<br>
</span>Please squash that in, with fixes :)<br>
<br>
I don't believe the pass-through state is impossible with MCS, because<br>
there is no single surface for write to "pass through" to. The aux<br>
surface can never be ignored with MCS. Another bit of evidence for this<br>
is that there exists no MCS ambiguate op, and therefore no arrow can<br>
exist in the diagram that carries the "resolved" box to the<br>
pass-through" box.<br>
</blockquote></div><br></div><div class="gmail_extra">Too many negatives going on...  I think you meant "I belive the pass-through state is impossible" :-)<br><br></div><div class="gmail_extra">I do not agree.  While no resolve has been written, one could easily do so.  It would be implemented most likely as a blit from the surface to itself with MCS enabled on the source and disabled for the destination followed by blasting the appropriate value into the MCS.  Modulo issues with the order in which pixels are dispatched (which I don't think is an actual issue so long as SIMD > num_samples), the result should be a surface in the pass-through state which can safely be rendered to with MCS disabled.  Now, why anyone would ever want to do that is beyond me.  The state which doesn't exist is the regular resolved state because, as with CCS and MCS, the aux surface stores so little data, that there isn't really any room for compression when the main surface contains valid data.<br><br></div><div class="gmail_extra">--Jason<br></div></div>