[Mesa-dev] [PATCH 02/13] nir/builder: Add bit_size info to nir_build_imm()
Samuel Iglesias Gonsálvez
siglesias at igalia.com
Mon Apr 25 08:36:13 UTC 2016
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?
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
>
More information about the mesa-dev
mailing list