[Mesa-dev] [PATCH] st/glsl_to_tgsi: use glsl_type::sampler_index()

Marek Olšák maraeo at gmail.com
Thu Mar 30 20:26:57 UTC 2017


Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Thu, Mar 30, 2017 at 12:28 AM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>  src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 68 +-----------------------------
>  1 file changed, 2 insertions(+), 66 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
> index 46c97783d8..d70018c8a8 100644
> --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
> +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
> @@ -3883,39 +3883,7 @@ glsl_to_tgsi_visitor::visit_image_intrinsic(ir_call *ir)
>     inst->sampler_array_size = sampler_array_size;
>     inst->sampler_base = sampler_base;
>
> -   switch (type->sampler_dimensionality) {
> -   case GLSL_SAMPLER_DIM_1D:
> -      inst->tex_target = (type->sampler_array)
> -         ? TEXTURE_1D_ARRAY_INDEX : TEXTURE_1D_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_2D:
> -      inst->tex_target = (type->sampler_array)
> -         ? TEXTURE_2D_ARRAY_INDEX : TEXTURE_2D_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_3D:
> -      inst->tex_target = TEXTURE_3D_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_CUBE:
> -      inst->tex_target = (type->sampler_array)
> -         ? TEXTURE_CUBE_ARRAY_INDEX : TEXTURE_CUBE_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_RECT:
> -      inst->tex_target = TEXTURE_RECT_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_BUF:
> -      inst->tex_target = TEXTURE_BUFFER_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_EXTERNAL:
> -      inst->tex_target = TEXTURE_EXTERNAL_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_MS:
> -      inst->tex_target = (type->sampler_array)
> -         ? TEXTURE_2D_MULTISAMPLE_ARRAY_INDEX : TEXTURE_2D_MULTISAMPLE_INDEX;
> -      break;
> -   default:
> -      assert(!"Should not get here.");
> -   }
> -
> +   inst->tex_target = type->sampler_index();
>     inst->image_format = st_mesa_format_to_pipe_format(st_context(ctx),
>           _mesa_get_shader_image_format(imgvar->data.image_format));
>
> @@ -4425,39 +4393,7 @@ glsl_to_tgsi_visitor::visit(ir_texture *ir)
>        inst->tex_offset_num_offset = i;
>     }
>
> -   switch (sampler_type->sampler_dimensionality) {
> -   case GLSL_SAMPLER_DIM_1D:
> -      inst->tex_target = (sampler_type->sampler_array)
> -         ? TEXTURE_1D_ARRAY_INDEX : TEXTURE_1D_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_2D:
> -      inst->tex_target = (sampler_type->sampler_array)
> -         ? TEXTURE_2D_ARRAY_INDEX : TEXTURE_2D_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_3D:
> -      inst->tex_target = TEXTURE_3D_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_CUBE:
> -      inst->tex_target = (sampler_type->sampler_array)
> -         ? TEXTURE_CUBE_ARRAY_INDEX : TEXTURE_CUBE_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_RECT:
> -      inst->tex_target = TEXTURE_RECT_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_BUF:
> -      inst->tex_target = TEXTURE_BUFFER_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_EXTERNAL:
> -      inst->tex_target = TEXTURE_EXTERNAL_INDEX;
> -      break;
> -   case GLSL_SAMPLER_DIM_MS:
> -      inst->tex_target = (sampler_type->sampler_array)
> -         ? TEXTURE_2D_MULTISAMPLE_ARRAY_INDEX : TEXTURE_2D_MULTISAMPLE_INDEX;
> -      break;
> -   default:
> -      assert(!"Should not get here.");
> -   }
> -
> +   inst->tex_target = sampler_type->sampler_index();
>     inst->tex_type = ir->type->base_type;
>
>     this->result = result_src;
> --
> 2.12.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list