compiler/types: Assert non-zero alignments in get_explicit_type_for_size_align
authorJason Ekstrand <jason@jlekstrand.net>
Thu, 8 Oct 2020 07:14:47 +0000 (02:14 -0500)
committerKarol Herbst <kherbst@redhat.com>
Tue, 20 Oct 2020 21:46:42 +0000 (23:46 +0200)
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7069>

src/compiler/glsl_types.cpp

index ff3ed67..b0c99e8 100644 (file)
@@ -2479,6 +2479,7 @@ glsl_type::get_explicit_type_for_size_align(glsl_type_size_align_func type_info,
       return this;
    } else if (this->is_vector()) {
       type_info(this, size, alignment);
+      assert(*alignment > 0);
       assert(*alignment % explicit_type_scalar_byte_size(this) == 0);
       return glsl_type::get_instance(this->base_type, this->vector_elements,
                                      1, 0, false, *alignment);
@@ -2532,6 +2533,7 @@ glsl_type::get_explicit_type_for_size_align(glsl_type_size_align_func type_info,
 
       *size = this->matrix_columns * stride;
       /* Matrix and column alignments match. See glsl_type::column_type() */
+      assert(col_align > 0);
       *alignment = col_align;
       return glsl_type::get_instance(this->base_type, this->vector_elements,
                                      this->matrix_columns, stride, false, *alignment);