예제 #1
0
파일: nvc0_state.c 프로젝트: Unr34ler/mesa
static void
nvc0_set_sampler_views(struct pipe_context *pipe, unsigned shader,
                       unsigned start, unsigned nr,
                       struct pipe_sampler_view **views)
{
   assert(start == 0);
   switch (shader) {
   case PIPE_SHADER_VERTEX:
      nvc0_stage_set_sampler_views(nvc0_context(pipe), 0, nr, views);
      break;
   case PIPE_SHADER_TESS_CTRL:
      nvc0_stage_set_sampler_views(nvc0_context(pipe), 1, nr, views);
      break;
   case PIPE_SHADER_TESS_EVAL:
      nvc0_stage_set_sampler_views(nvc0_context(pipe), 2, nr, views);
      break;
   case PIPE_SHADER_GEOMETRY:
      nvc0_stage_set_sampler_views(nvc0_context(pipe), 3, nr, views);
      break;
   case PIPE_SHADER_FRAGMENT:
      nvc0_stage_set_sampler_views(nvc0_context(pipe), 4, nr, views);
      break;
   case PIPE_SHADER_COMPUTE:
      nvc0_stage_set_sampler_views_range(nvc0_context(pipe), 5,
                                         start, nr, views);
      nvc0_context(pipe)->dirty_cp |= NVC0_NEW_CP_TEXTURES;
      break;
   default:
      ;
   }
}
예제 #2
0
static void
nvc0_cp_set_sampler_views(struct pipe_context *pipe,
                          unsigned start, unsigned nr,
                          struct pipe_sampler_view **views)
{
   nvc0_stage_set_sampler_views_range(nvc0_context(pipe), 5, start, nr, views);

   nvc0_context(pipe)->dirty_cp |= NVC0_NEW_CP_TEXTURES;
}