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. > 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(-)
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
