static void galahad_context_set_sampler_views(struct pipe_context *_pipe, unsigned shader, unsigned start, unsigned num, struct pipe_sampler_view **_views) { struct galahad_context *glhd_pipe = galahad_context(_pipe); struct pipe_context *pipe = glhd_pipe->pipe; struct pipe_sampler_view *unwrapped_views[PIPE_MAX_SAMPLERS]; struct pipe_sampler_view **views = NULL; unsigned i; if (_views) { for (i = 0; i < num; i++) unwrapped_views[i] = galahad_sampler_view_unwrap(_views[i]); for (; i < PIPE_MAX_SAMPLERS; i++) unwrapped_views[i] = NULL; views = unwrapped_views; } switch (shader) { case PIPE_SHADER_VERTEX: pipe->set_vertex_sampler_views(pipe, num, views); break; case PIPE_SHADER_FRAGMENT: pipe->set_fragment_sampler_views(pipe, num, views); break; default: assert(0); } }
static void galahad_set_vertex_sampler_views(struct pipe_context *_pipe, unsigned num, struct pipe_sampler_view **_views) { struct galahad_context *glhd_pipe = galahad_context(_pipe); struct pipe_context *pipe = glhd_pipe->pipe; struct pipe_sampler_view *unwrapped_views[PIPE_MAX_VERTEX_SAMPLERS]; struct pipe_sampler_view **views = NULL; unsigned i; if (_views) { for (i = 0; i < num; i++) unwrapped_views[i] = galahad_sampler_view_unwrap(_views[i]); for (; i < PIPE_MAX_VERTEX_SAMPLERS; i++) unwrapped_views[i] = NULL; views = unwrapped_views; } pipe->set_vertex_sampler_views(pipe, num, views); }