From: Ilia Mirkin Date: Sat, 14 Feb 2015 03:03:47 +0000 (-0500) Subject: glsl: teach std140_base_alignment about samplers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1ec715ce8b126da3cfe3b383054f9a176960c218;p=mesa.git glsl: teach std140_base_alignment about samplers These functions are about to be used more aggressively for determining uniform layout. Samplers may be inside of structs, and it's easier to reuse the existing base alignment logic. Signed-off-by: Ilia Mirkin Reviewed-by: Dave Airlie --- diff --git a/src/glsl/glsl_types.cpp b/src/glsl/glsl_types.cpp index be87b0a2d24..38b37a6a94b 100644 --- a/src/glsl/glsl_types.cpp +++ b/src/glsl/glsl_types.cpp @@ -1077,6 +1077,15 @@ glsl_type::std140_base_alignment(bool row_major) const return base_alignment; } + /* A sampler may never occur in a UBO (without bindless of some sort), + * however it is convenient to use this alignment function even with + * regular uniforms. This allows use of this function on uniform structs + * that contain samplers. + */ + if (this->is_sampler()) { + return 0; + } + assert(!"not reached"); return -1; }