On Sun, Sep 15, 2013 at 12:24 AM, Brian Paul <bri...@vmware.com> wrote: > On 09/12/2013 09:06 PM, Chia-I Wu wrote: >> >> Hi Brian, >> >> On Fri, Sep 13, 2013 at 8:46 AM, Brian Paul <bri...@vmware.com> wrote: >>> >>> >>> I just pushed a gallium-bind-sampler-states branch to my git repo at >>> git://people.freedesktop.org/~brianp/mesa >>> >>> It replaces the four >>> pipe_context::bind_fragment/vertex/geometry/compute_sampler_states() >>> functions with a single bind_sampler_states() function: >>> >>> void (*bind_sampler_states)(struct pipe_context *, >>> unsigned shader, unsigned start_slot, >>> unsigned num_samplers, void **samplers); >>> >>> At this point start_slot is always zero (at least for non-compute >>> shaders). >>> And as the updated gallium docs explain, at some point calls to >>> bind_sampler_states() will be used to updated sub-ranges, but that never >>> happens currently. >>> >>> I've updated all the drivers, state trackers, utils, etc. >>> >>> I've tested the svga, llvmpipe and softpipe drivers. 'make check' and a >>> texture subset of piglit pass w/out regressions. I'd appreciate it if >>> other >>> driver developers would test their favorite driver. >> >> For ilo, the new code does not follow the doc and unbinds samplers not in >> range. > > > I think that's OK. The CSO module (used by the state tracker) currently > always calls pipe_context::bind_sampler_states() with start=0 and count such > that it sets/replaces all samplers, never a sub-range. That could/should > change in the future. > > See single_sampler_done() in cso_context.c. > > > >> Is it fine if I implement the new bind_sampler_states as a helper >> function on master branch, so that you hook it up to >> pipe_context::bind_sampler_states in your branch and remove the old >> ones? > > > I'm not quite sure that I understand what you mean. Can you elaborate? There is already ilo_bind_sampler_states that does what pipe_context::bind_sampler_states expects, except that the function returns a bool. I can make it return void so that, in your branch, you can initialize pipe_context::bind_sampler_states to it instead of adding ilo_bind_sampler_states2.
> > -Brian > -- o...@lunarg.com _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev