diff --git a/src/mesa/program/prog_to_nir.c b/src/mesa/program/prog_to_nir.c index 5289f0cb4f2..95bcde2937e 100644 --- a/src/mesa/program/prog_to_nir.c +++ b/src/mesa/program/prog_to_nir.c @@ -534,25 +534,8 @@ ptn_tex(struct ptn_compile *c, nir_alu_dest dest, nir_ssa_def **src, abort(); } - switch (instr->sampler_dim) { - case GLSL_SAMPLER_DIM_1D: - case GLSL_SAMPLER_DIM_BUF: - instr->coord_components = 1; - break; - case GLSL_SAMPLER_DIM_2D: - case GLSL_SAMPLER_DIM_RECT: - case GLSL_SAMPLER_DIM_EXTERNAL: - case GLSL_SAMPLER_DIM_MS: - instr->coord_components = 2; - break; - case GLSL_SAMPLER_DIM_3D: - case GLSL_SAMPLER_DIM_CUBE: - instr->coord_components = 3; - break; - case GLSL_SAMPLER_DIM_SUBPASS: - case GLSL_SAMPLER_DIM_SUBPASS_MS: - unreachable("can't reach"); - } + instr->coord_components = + glsl_get_sampler_dim_coordinate_components(instr->sampler_dim); nir_variable *var = c->sampler_vars[prog_inst->TexSrcUnit]; if (!var) {