Mesa (master): nir: Make nir_deref_instr_build/get_const_offset actually use size_align.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jan 8 23:43:57 UTC 2019


Module: Mesa
Branch: master
Commit: 211b826790c499ba54e4cdf871b42e0b34b8f27d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=211b826790c499ba54e4cdf871b42e0b34b8f27d

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jan  4 16:52:32 2019 -0800

nir: Make nir_deref_instr_build/get_const_offset actually use size_align.

I think this was copy-and-paste mistake -- nir_opt_large_constants was
passing in glsl_get_natural_size_align_bytes() given brw_nir.c's arguments
to the opt pass.

I wanted to reuse this function for handling constant offsets of arrays of
images in V3D.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Rob Clark <robdclark at gmail.com>

---

 src/compiler/nir/nir_deref.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/compiler/nir/nir_deref.c b/src/compiler/nir/nir_deref.c
index a2d46208dd..947888a5e2 100644
--- a/src/compiler/nir/nir_deref.c
+++ b/src/compiler/nir/nir_deref.c
@@ -143,7 +143,7 @@ type_get_array_stride(const struct glsl_type *elem_type,
                       glsl_type_size_align_func size_align)
 {
    unsigned elem_size, elem_align;
-   glsl_get_natural_size_align_bytes(elem_type, &elem_size, &elem_align);
+   size_align(elem_type, &elem_size, &elem_align);
    return ALIGN_POT(elem_size, elem_align);
 }
 
@@ -156,8 +156,7 @@ struct_type_get_field_offset(const struct glsl_type *struct_type,
    unsigned offset = 0;
    for (unsigned i = 0; i <= field_idx; i++) {
       unsigned elem_size, elem_align;
-      glsl_get_natural_size_align_bytes(glsl_get_struct_field(struct_type, i),
-                                        &elem_size, &elem_align);
+      size_align(glsl_get_struct_field(struct_type, i), &elem_size, &elem_align);
       offset = ALIGN_POT(offset, elem_align);
       if (i < field_idx)
          offset += elem_size;




More information about the mesa-commit mailing list