diff --git a/src/broadcom/vulkan/v3dvx_image.c b/src/broadcom/vulkan/v3dvx_image.c index d92272578ca..fe4084631f8 100644 --- a/src/broadcom/vulkan/v3dvx_image.c +++ b/src/broadcom/vulkan/v3dvx_image.c @@ -54,16 +54,12 @@ pack_texture_shader_state_helper(struct v3dv_device *device, tex.level_0_xor_enable = (image->planes[iplane].slices[0].tiling == V3D_TILING_UIF_XOR); - if (tex.level_0_is_strictly_uif) - tex.level_0_ub_pad = image->planes[iplane].slices[0].ub_pad; - - /* FIXME: v3d never sets uif_xor_disable, but uses it on the following - * check so let's set the default value + /* If we ever set tex.uif_xor_disable we also need to flag + * tex.extended here. */ - tex.uif_xor_disable = false; - if (tex.uif_xor_disable || - tex.level_0_is_strictly_uif) { - tex.extended = true; + if (tex.level_0_is_strictly_uif) { + tex.level_0_ub_pad = image->planes[iplane].slices[0].ub_pad; + tex.extended = true; } tex.base_level = image_view->vk.base_mip_level; diff --git a/src/gallium/drivers/v3d/v3dx_state.c b/src/gallium/drivers/v3d/v3dx_state.c index 3d547a401f7..b9b75a5ed22 100644 --- a/src/gallium/drivers/v3d/v3dx_state.c +++ b/src/gallium/drivers/v3d/v3dx_state.c @@ -971,11 +971,11 @@ v3d_setup_texture_shader_state(const struct v3d_device_info *devinfo, rsc->slices[0].tiling == V3D_TILING_UIF_NO_XOR); tex->level_0_xor_enable = (rsc->slices[0].tiling == V3D_TILING_UIF_XOR); - if (tex->level_0_is_strictly_uif) + /* If we ever set tex.uif_xor_disable we also need to flag + * tex.extended here. + */ + if (tex->level_0_is_strictly_uif) { tex->level_0_ub_pad = rsc->slices[0].ub_pad; - - if (tex->uif_xor_disable || - tex->level_0_is_strictly_uif) { tex->extended = true; } }