[Mesa-dev] [PATCH 02/13] nir/builder: Add bit_size info to nir_build_imm()

Jason Ekstrand jason at jlekstrand.net
Mon Apr 25 10:40:56 UTC 2016


On Apr 25, 2016 1:36 AM, "Samuel Iglesias Gonsálvez" <siglesias at igalia.com>
wrote:
>
>
>
> On 13/04/16 07:23, Samuel Iglesias Gonsálvez wrote:
> >
> >
> > On 12/04/16 17:24, Jason Ekstrand wrote:
> >> On Apr 12, 2016 1:06 AM, "Samuel Iglesias Gonsálvez" <
siglesias at igalia.com>
> >> wrote:
> >>>
> >>> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
> >>> ---
> >>>  src/compiler/nir/nir_builder.h             | 15 ++++++++-------
> >>>  src/compiler/nir/nir_lower_system_values.c |  2 +-
> >>>  src/compiler/nir/nir_lower_tex.c           |  2 +-
> >>>  3 files changed, 10 insertions(+), 9 deletions(-)
> >>>
> >>> diff --git a/src/compiler/nir/nir_builder.h
> >> b/src/compiler/nir/nir_builder.h
> >>> index 38a1cf7..84fc9bf 100644
> >>> --- a/src/compiler/nir/nir_builder.h
> >>> +++ b/src/compiler/nir/nir_builder.h
> >>> @@ -89,10 +89,11 @@ nir_ssa_undef(nir_builder *build, unsigned
> >> num_components, unsigned bit_size)
> >>>  }
> >>>
> >>>  static inline nir_ssa_def *
> >>> -nir_build_imm(nir_builder *build, unsigned num_components,
> >> nir_const_value value)
> >>> +nir_build_imm(nir_builder *build, unsigned num_components,
> >>> +              nir_const_value value, unsigned bit_size)
> >>
> >> Quick fly-by comment: can we keep num_components and bit_size together
and
> >> leave value as the last argument. The two sizes are kind of a logical
pair
> >> and them being separated be the value parameter seems wrong.
> >>
> >
> > Agreed. I will do the change locally.
> >
> > Thanks!
> >
>
> BTW, Do you give your R-b to the patch with this change?

Yup

> Sam
>
> > Sam
> >
> >>>  {
> >>>     nir_load_const_instr *load_const =
> >>> -      nir_load_const_instr_create(build->shader, num_components, 32);
> >>> +      nir_load_const_instr_create(build->shader, num_components,
> >> bit_size);
> >>>     if (!load_const)
> >>>        return NULL;
> >>>
> >>> @@ -111,7 +112,7 @@ nir_imm_float(nir_builder *build, float x)
> >>>     memset(&v, 0, sizeof(v));
> >>>     v.f32[0] = x;
> >>>
> >>> -   return nir_build_imm(build, 1, v);
> >>> +   return nir_build_imm(build, 1, v, 32);
> >>>  }
> >>>
> >>>  static inline nir_ssa_def *
> >>> @@ -125,7 +126,7 @@ nir_imm_vec4(nir_builder *build, float x, float y,
> >> float z, float w)
> >>>     v.f32[2] = z;
> >>>     v.f32[3] = w;
> >>>
> >>> -   return nir_build_imm(build, 4, v);
> >>> +   return nir_build_imm(build, 4, v, 32);
> >>>  }
> >>>
> >>>  static inline nir_ssa_def *
> >>> @@ -136,7 +137,7 @@ nir_imm_int(nir_builder *build, int x)
> >>>     memset(&v, 0, sizeof(v));
> >>>     v.i32[0] = x;
> >>>
> >>> -   return nir_build_imm(build, 1, v);
> >>> +   return nir_build_imm(build, 1, v, 32);
> >>>  }
> >>>
> >>>  static inline nir_ssa_def *
> >>> @@ -150,14 +151,14 @@ nir_imm_ivec4(nir_builder *build, int x, int y,
int
> >> z, int w)
> >>>     v.i32[2] = z;
> >>>     v.i32[3] = w;
> >>>
> >>> -   return nir_build_imm(build, 4, v);
> >>> +   return nir_build_imm(build, 4, v, 32);
> >>>  }
> >>>
> >>>  static inline nir_ssa_def *
> >>>  nir_imm_uint(nir_builder *build, unsigned x)
> >>>  {
> >>>     nir_const_value v = { { .u32 = {x, 0, 0, 0} } };
> >>> -   return nir_build_imm(build, 1, v);
> >>> +   return nir_build_imm(build, 1, v, 32);
> >>>  }
> >>>
> >>>  static inline nir_ssa_def *
> >>> diff --git a/src/compiler/nir/nir_lower_system_values.c
> >> b/src/compiler/nir/nir_lower_system_values.c
> >>> index 2d3ccd7..8362619 100644
> >>> --- a/src/compiler/nir/nir_lower_system_values.c
> >>> +++ b/src/compiler/nir/nir_lower_system_values.c
> >>> @@ -75,7 +75,7 @@ convert_block(nir_block *block, void *void_state)
> >>>              nir_load_system_value(b,
> >> nir_intrinsic_load_local_invocation_id, 0);
> >>>
> >>>           sysval = nir_iadd(b, nir_imul(b, group_id,
> >>> -                                          nir_build_imm(b, 3,
> >> local_size)),
> >>> +                                          nir_build_imm(b, 3,
> >> local_size, 32)),
> >>>                                local_id);
> >>>           break;
> >>>        }
> >>> diff --git a/src/compiler/nir/nir_lower_tex.c
> >> b/src/compiler/nir/nir_lower_tex.c
> >>> index 4999603..47a3786 100644
> >>> --- a/src/compiler/nir/nir_lower_tex.c
> >>> +++ b/src/compiler/nir/nir_lower_tex.c
> >>> @@ -232,7 +232,7 @@ get_zero_or_one(nir_builder *b, nir_alu_type type,
> >> uint8_t swizzle_val)
> >>>           v.u32[0] = v.u32[1] = v.u32[2] = v.u32[3] = 1;
> >>>     }
> >>>
> >>> -   return nir_build_imm(b, 4, v);
> >>> +   return nir_build_imm(b, 4, v, 32);
> >>>  }
> >>>
> >>>  static void
> >>> --
> >>> 2.5.0
> >>>
> >>> _______________________________________________
> >>> mesa-dev mailing list
> >>> mesa-dev at lists.freedesktop.org
> >>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >>
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160425/4ef9bfb1/attachment-0001.html>


More information about the mesa-dev mailing list