[Mesa-dev] [PATCH 2/9] ff_fragment_shader: Use binding to set the sampler unit

Matt Turner mattst88 at gmail.com
Fri Oct 9 19:03:14 PDT 2015


On Fri, Oct 9, 2015 at 6:52 PM, Ian Romanick <idr at freedesktop.org> wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
>
> This is the way layout(binding=xxx) works from GLSL.  The old method
> just happened to work (and significantly predated support for
> layout(binding=xxx)), but future changes will break this.
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> Cc: "10.6 11.0" <mesa-stable at lists.freedesktop.org>
> ---
>  src/mesa/main/ff_fragment_shader.cpp | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/main/ff_fragment_shader.cpp b/src/mesa/main/ff_fragment_shader.cpp
> index e4e2a18..f5a4fa5 100644
> --- a/src/mesa/main/ff_fragment_shader.cpp
> +++ b/src/mesa/main/ff_fragment_shader.cpp
> @@ -981,7 +981,8 @@ static void load_texture( texenv_fragment_program *p, GLuint unit )
>      * NOTE: The cast to int is important.  Without it, the constant will have
>      * type uint, and things later on may get confused.
>      */
> -   sampler->constant_value = new(p->mem_ctx) ir_constant(int(unit));
> +   sampler->data.explicit_binding = true;
> +   sampler->data.binding = unit;

With the comment immediately above removed,

Reviewed-by: Matt Turner <mattst88 at gmail.com>


More information about the mesa-dev mailing list