Commit 91987c51 authored by Lionel Landwerlin's avatar Lionel Landwerlin Committed by Jason Ekstrand

anv: meta_blit2d: adapt texel fetch pitch for fake w-tiled

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: Lionel Landwerlin's avatarLionel Landwerlin <>
Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <>
parent 87a88f2d
......@@ -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 */
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment