diff --git a/src/asahi/vulkan/hk_cmd_meta.c b/src/asahi/vulkan/hk_cmd_meta.c index b4d77401607..b8b2d5e9c88 100644 --- a/src/asahi/vulkan/hk_cmd_meta.c +++ b/src/asahi/vulkan/hk_cmd_meta.c @@ -587,8 +587,11 @@ build_image_copy_shader(const struct vk_meta_image_copy_key *key) nir_pop_if(b, NULL); if (key->block_based) { - nir_store_local_pixel_agx(b, nir_if_phi(b, value1, value2), - nir_imm_int(b, 1 << s), lid, .base = 0, + /* Must define the phi first so we validate. */ + nir_def *phi = nir_if_phi(b, value1, value2); + nir_def *mask = nir_imm_int(b, 1 << s); + + nir_store_local_pixel_agx(b, phi, mask, lid, .base = 0, .write_mask = 0xf, .format = isa_format, .explicit_coord = true); }