glsl: teach std140_base_alignment about samplers
[mesa.git] / src / glsl / glsl_types.cpp
index be87b0a2d24140d57110433a0beb091fe9e7f3d7..38b37a6a94bddd9620c210d002b84945151c056f 100644 (file)
@@ -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;
 }