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: ; } }
static void nvc0_gp_set_sampler_views(struct pipe_context *pipe, unsigned nr, struct pipe_sampler_view **views) { nvc0_stage_set_sampler_views(nvc0_context(pipe), 3, nr, views); }
static void nvc0_set_sampler_views(struct pipe_context *pipe, enum pipe_shader_type shader, unsigned start, unsigned nr, struct pipe_sampler_view **views) { const unsigned s = nvc0_shader_stage(shader); assert(start == 0); nvc0_stage_set_sampler_views(nvc0_context(pipe), s, nr, views); if (s == 5) nvc0_context(pipe)->dirty_cp |= NVC0_NEW_CP_TEXTURES; else nvc0_context(pipe)->dirty_3d |= NVC0_NEW_3D_TEXTURES; }