<div dir="ltr">On 9 January 2014 18:19, Chris Forbes <span dir="ltr"><<a href="mailto:chrisf@ijw.co.nz" target="_blank">chrisf@ijw.co.nz</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I'm not convinced this is correct/safe, at least for the meta clear.<br>
<br>
The GL 3.2 spec says, on page 221 (page 235 of the PDF):<br>
<br>
  * If the number of layers of each attachment are not all identical, rendering<br>
    will be limited to the smallest number of layers of any attachment.<br>
<br>
And then in the description of layered framebuffers on page 240 (page<br>
254 of the PDF):<br>
<br>
   If the fragment’s layer number is negative, or greater than the<br>
minimum number of layers of any attachment,<br>
   the effects of the fragment on the framebuffer contents are undefined.<br>
<br>
Blorp clears can obviously do whatever they like, since they don't<br>
directly use the user's framebuffer configuration.<br>
</blockquote></div><br></div><div class="gmail_extra">Yeah, there was some discussion about that here: <a href="http://lists.freedesktop.org/archives/mesa-dev/2013-December/049492.html">http://lists.freedesktop.org/archives/mesa-dev/2013-December/049492.html</a><br>
<br></div><div class="gmail_extra">Basically, my justification for doing it this way is that even though it's undefined by GL what happens when you write to a layer that doesn't exist in all attachments, we know that it works in i965, and i965 is the only user of this code (it's the only back-end that supports layered framebuffers and uses Meta).<br>
<br></div><div class="gmail_extra">In fact, I would venture to say that i965 is likely to be the only user of this code for the forseeable future, since the only other back-end that uses Meta is the i915 driver, and it's never going to be capable of supporting layered framebuffers.<br>
</div></div>