Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> And pushed
On Wed, Aug 24, 2016 at 9:52 AM, Lionel Landwerlin <llandwer...@gmail.com> wrote: > We need to compute detiling coordinates using the physical size of W tiling > (128x32) rather than the logical size (64x64). > > v2: Correct comment (Jason) > > Fixes dEQP-VK.api.copy_and_blit.image_to_image_stencil > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97448 > Signed-off-by: Lionel Landwerlin <lionel.g.landwer...@intel.com> > Cc: Jason Ekstrand <ja...@jlekstrand.net> > --- > src/intel/vulkan/anv_meta_blit2d.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/src/intel/vulkan/anv_meta_blit2d.c > b/src/intel/vulkan/anv_meta_blit2d.c > index 7085f2d..6b2222c 100644 > --- a/src/intel/vulkan/anv_meta_blit2d.c > +++ b/src/intel/vulkan/anv_meta_blit2d.c > @@ -914,9 +914,11 @@ build_nir_w_tiled_fetch(struct nir_builder *b, struct > anv_device *device, > /* First, compute the block-aligned offset */ > nir_ssa_def *x_major = nir_ushr(b, x, nir_imm_int(b, 6)); > nir_ssa_def *y_major = nir_ushr(b, y, nir_imm_int(b, 6)); > + /* W tiles have physical size of 128x32 and logical size of 64x64, > hence > + * the multiplication by 32 (instead of 64). */ > nir_ssa_def *offset = > nir_iadd(b, nir_imul(b, y_major, > - nir_imul(b, tex_pitch, nir_imm_int(b, 64))), > + nir_imul(b, tex_pitch, nir_imm_int(b, 32))), > nir_imul(b, x_major, nir_imm_int(b, 4096))); > > /* Compute the bottom 12 bits of the offset */ > -- > 2.9.3 > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev