<div dir="ltr">On 9 December 2013 11:06, 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Jordan, Abdiel:<br>
<br>
Could you provide some context -- the impression I get is that using<br>
the tile offsets is undesirable for reasons other than sharing code<br>
with Gen8, but not familiar enough with the details to know why.<br>
<br>
Just curious :)<br>
<span class="HOEnZb"><font color="#888888"><br>
-- Chris<br></font></span></blockquote><div><br></div><div>Here are the disadvantages I'm aware of for using the tile offsets:<br><br></div><div>- There is just one tile offset control that applies to depth, stencil, and HiZ buffers.  Sometimes different tile offsets are necessary for these different buffers, which means that we must do a time-wasting copy of the image data.  (I also suspect that some of our HiZ bugs on Sandy Bridge may be related to this, but that's pure speculation).<br>
<br></div><div>- Using the tile offsets is incompatible with the gl_Layer feature (which was introduced with geometry shaders) because it involves telling the hardware that we've pointed it to miplevel 0 of a surface when we're actually pointing to some other level; as a result, the hardware computes incorrect offsets when trying to access other layers of the surface.<br>
<br></div><div>- For depth and stencil buffers, the tile offsets must be multiples of 8.  But some layers of array and 3D textures aren't guaranteed to be located at multiple-of-8 boundaries.  For legacy reasons, we can't fix these cases using the time-wasting copy I mentioned above, so the user just gets incorrect rendering.<br>
<br></div><div>Switching to the LOD and layer fields of SURFACE_STATE addresses all of these issues.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888">
</font></span><div class="HOEnZb"><div class="h5"><br>
On Tue, Dec 10, 2013 at 7:21 AM, Jordan Justen <<a href="mailto:jljusten@gmail.com">jljusten@gmail.com</a>> wrote:<br>
> On Mon, Dec 9, 2013 at 8:18 AM, Abdiel Janulgue<br>
> <<a href="mailto:abdiel.janulgue@linux.intel.com">abdiel.janulgue@linux.intel.com</a>> wrote:<br>
>> (cover letter seems to be lost in the way for the patch series but here it is)<br>
>><br>
>> Gen 6/7 hardware support for tile_x and tile_y offset fields in SURFACE_STATE<br>
>> has been removed in Gen8. All code dependencies must be removed. This patch<br>
>> series completely eliminates the tile_x and y fields in the normal render<br>
>> paths and BLORP. The LOD fields should be used instead.<br>
><br>
> What about brw_update_renderbuffer_surface?<br>
><br>
> I think we should be able to enable AMD_vertex_shader_layer for gen6<br>
> once the offsets are gone.<br>
><br>
> Did you get a chance to test piglit on gen6 too?<br>
><br>
> -Jordan<br>
><br>
>> This fixes <a href="https://bugs.freedesktop.org/show_bug.cgi?id=72068" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=72068</a>.<br>
>><br>
>> CC: <a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a><br>
>> _______________________________________________<br>
>> mesa-dev mailing list<br>
>> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
>> <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</div></div></blockquote></div><br></div></div>