Thanks Paul, that makes a lot of sense. -- Chris
On Tue, Dec 10, 2013 at 8:34 AM, Paul Berry <stereotype...@gmail.com> wrote: > On 9 December 2013 11:06, Chris Forbes <chr...@ijw.co.nz> wrote: >> >> Jordan, Abdiel: >> >> Could you provide some context -- the impression I get is that using >> the tile offsets is undesirable for reasons other than sharing code >> with Gen8, but not familiar enough with the details to know why. >> >> Just curious :) >> >> -- Chris > > > Here are the disadvantages I'm aware of for using the tile offsets: > > - 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). > > - 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. > > - 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. > > Switching to the LOD and layer fields of SURFACE_STATE addresses all of > these issues. > >> >> >> On Tue, Dec 10, 2013 at 7:21 AM, Jordan Justen <jljus...@gmail.com> wrote: >> > On Mon, Dec 9, 2013 at 8:18 AM, Abdiel Janulgue >> > <abdiel.janul...@linux.intel.com> wrote: >> >> (cover letter seems to be lost in the way for the patch series but here >> >> it is) >> >> >> >> Gen 6/7 hardware support for tile_x and tile_y offset fields in >> >> SURFACE_STATE >> >> has been removed in Gen8. All code dependencies must be removed. This >> >> patch >> >> series completely eliminates the tile_x and y fields in the normal >> >> render >> >> paths and BLORP. The LOD fields should be used instead. >> > >> > What about brw_update_renderbuffer_surface? >> > >> > I think we should be able to enable AMD_vertex_shader_layer for gen6 >> > once the offsets are gone. >> > >> > Did you get a chance to test piglit on gen6 too? >> > >> > -Jordan >> > >> >> This fixes https://bugs.freedesktop.org/show_bug.cgi?id=72068. >> >> >> >> CC: kenn...@whitecape.org >> >> _______________________________________________ >> >> mesa-dev mailing list >> >> mesa-dev@lists.freedesktop.org >> >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev >> > _______________________________________________ >> > mesa-dev mailing list >> > mesa-dev@lists.freedesktop.org >> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev