radeonsi: add PKT3_CONTEXT_REG_RMW
[mesa.git] / src / gallium / drivers / softpipe / sp_state_sampler.c
index 6454f6bcd1b0dcb9efcb55366ec409336ded2d5b..fda638dcea1ce1aa4e38b54446e37acdd14bb10f 100644 (file)
@@ -97,7 +97,7 @@ softpipe_sampler_view_destroy(struct pipe_context *pipe,
 
 void
 softpipe_set_sampler_views(struct pipe_context *pipe,
-                           unsigned shader,
+                           enum pipe_shader_type shader,
                            unsigned start,
                            unsigned num,
                            struct pipe_sampler_view **views)
@@ -127,6 +127,7 @@ softpipe_set_sampler_views(struct pipe_context *pipe,
       if (sp_sviewsrc) {
          memcpy(sp_sviewdst, sp_sviewsrc, sizeof(*sp_sviewsrc));
          sp_sviewdst->compute_lambda = softpipe_get_lambda_func(&sp_sviewdst->base, shader);
+         sp_sviewdst->compute_lambda_from_grad = softpipe_get_lambda_from_grad_func(&sp_sviewdst->base, shader);
          sp_sviewdst->cache = softpipe->tex_cache[shader][start + i];
       }
       else {
@@ -167,7 +168,7 @@ prepare_shader_sampling(
    struct softpipe_context *sp,
    unsigned num,
    struct pipe_sampler_view **views,
-   unsigned shader_type,
+   enum pipe_shader_type shader_type,
    struct pipe_resource *mapped_tex[PIPE_MAX_SHADER_SAMPLER_VIEWS])
 {
 
@@ -181,8 +182,8 @@ prepare_shader_sampling(
    if (!num)
       return;
 
-   for (i = 0; i < PIPE_MAX_SHADER_SAMPLER_VIEWS; i++) {
-      struct pipe_sampler_view *view = i < num ? views[i] : NULL;
+   for (i = 0; i < num; i++) {
+      struct pipe_sampler_view *view = views[i];
 
       if (view) {
          struct pipe_resource *tex = view->texture;
@@ -199,7 +200,7 @@ prepare_shader_sampling(
 
          if (!sp_tex->dt) {
             /* regular texture - setup array of mipmap level offsets */
-            MAYBE_UNUSED struct pipe_resource *res = view->texture;
+            ASSERTED struct pipe_resource *res = view->texture;
             int j;
 
             if (view->target != PIPE_BUFFER) {