On Tue, Jun 13, 2017 at 11:07:52PM -0700, Kenneth Graunke wrote: > On Friday, June 9, 2017 7:04:38 AM PDT Topi Pohjolainen wrote: > > On gen < 6 one doesn't have level or layer specifiers available > > for render and depth targets. In order to support rendering to > > specific level/layer, driver needs to manually offset the surface > > to the desired slice. > > There are, however, alignment restrictions to respect as well and > > in come cases the only option is to use temporary single slice > > surface which driver copies after rendering to the full miptree. > > > > Current alignment workaround introduces new texture images which > > are added to the parent texture object. Texture validation later > > on copies the additional levels back to the surface that contains > > the full mipmap. > > This only works for non-arrayed surfaces and driver currently > > creates new arrayed images in vain - individual layers within the > > newly created are still unaligned the same as before. > > > > This patch drops this mechanism and instead attaches single > > temporary slice into the render buffer. This gets immediately > > copied back to the mipmapped and/or arrayed surface just after > > the render is done. > > > > Sitting on top of earlier series cleaning up the depth buffer > > state, this patch additionally fixes the following piglit tests: > > > > ext_texture_array.copyteximage 2d_array.g45m64 > > ext_texture_array.copyteximage 1d_array.g45m64 > > arb_framebuffer_object.fbo-blit-stretch.g33m64 > > ^^^ I'm guessing this is not true, given that that hardware runs i915 and > you're editing the i965 driver :) Probably failure from bug 101414.
Yeah, I realized that myself but forgot to reply here myself. Sorry about that. > > > ext_framebuffer_object.fbo-cubemap.g965m64 > > arb_framebuffer_object.fbo-generatemipmap-cubemap.g965m64 > > arb_texture_cube_map.copyteximage cube.g965m64 > > ext_texture_array.copyteximage 1d_array.g965m64 > > ext_texture_array.copyteximage 2d_array.g965m64 > > ext_texture_array.fbo-array.g965m64 > > ext_texture_array.gen-mipmap.g965m64 > > ext_texture_array.fbo-generatemipmap-array.g965m64 > > arb_pixel_buffer_object.texsubimage array pbo.g965m64 > > ext_texture_array.copyteximage 2d_array.ilkm64 > > ext_texture_array.copyteximage 1d_array.ilkm64 > > arb_texture_cube_map.copyteximage cube.ilkm64 > > > > CC: Kenneth Graunke <[email protected]> > > CC: Jason Ekstrand <[email protected]> > > CC: Ian Romanick <[email protected]> > > Signed-off-by: Topi Pohjolainen <[email protected]> > > --- > > src/mesa/drivers/dri/i965/brw_draw.c | 51 > > ++++++++++++++++++++++++ > > src/mesa/drivers/dri/i965/brw_misc_state.c | 4 +- > > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 3 +- > > src/mesa/drivers/dri/i965/intel_fbo.c | 19 +++++---- > > src/mesa/drivers/dri/i965/intel_fbo.h | 24 +++++++++++ > > src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 2 +- > > src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 7 ++++ > > 7 files changed, 99 insertions(+), 11 deletions(-) _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
