diff --git a/src/mesa/state_tracker/st_pbo_compute.c b/src/mesa/state_tracker/st_pbo_compute.c index a52233f911d..ade01432f36 100644 --- a/src/mesa/state_tracker/st_pbo_compute.c +++ b/src/mesa/state_tracker/st_pbo_compute.c @@ -620,10 +620,19 @@ create_conversion_shader(struct st_context *st, enum pipe_texture_target target, nir_ssa_def *iid = nir_load_local_invocation_id(&b); nir_ssa_def *tile = nir_imul(&b, wid, bsize); nir_ssa_def *global_id = nir_iadd(&b, tile, iid); - nir_ssa_def *start = nir_iadd(&b, global_id, sd.offset); + nir_ssa_def *start = nir_iadd(&b, nir_trim_vector(&b, global_id, 2), sd.offset); - nir_ssa_def *coord = nir_channels(&b, start, (1<is_array = glsl_sampler_type_is_array(sampler->type);