freedreno/a3xx/compiler: refactor trans_samp()
[mesa.git] / src / gallium / drivers / freedreno / freedreno_texture.c
index fc0c8aa334640751ab7d4301e94edf22dfde32f3..8fb9419dd2ae3c13722db9423f294882e0197dde 100644 (file)
@@ -144,6 +144,24 @@ fd_verttex_set_sampler_views(struct pipe_context *pctx, unsigned nr,
        ctx->dirty |= FD_DIRTY_VERTTEX;
 }
 
+static void
+fd_set_sampler_views(struct pipe_context *pctx, unsigned shader,
+                     unsigned start, unsigned nr,
+                     struct pipe_sampler_view **views)
+{
+   assert(start == 0);
+   switch (shader) {
+   case PIPE_SHADER_FRAGMENT:
+      fd_fragtex_set_sampler_views(pctx, nr, views);
+      break;
+   case PIPE_SHADER_VERTEX:
+      fd_verttex_set_sampler_views(pctx, nr, views);
+      break;
+   default:
+      ;
+   }
+}
+
 void
 fd_texture_init(struct pipe_context *pctx)
 {
@@ -152,7 +170,5 @@ fd_texture_init(struct pipe_context *pctx)
        pctx->sampler_view_destroy = fd_sampler_view_destroy;
 
        pctx->bind_sampler_states = fd_sampler_states_bind;
-       pctx->set_fragment_sampler_views = fd_fragtex_set_sampler_views;
-
-       pctx->set_vertex_sampler_views = fd_verttex_set_sampler_views;
+       pctx->set_sampler_views = fd_set_sampler_views;
 }