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

2016-04-28 Thread Samuel Iglesias Gonsálvez


On 28/04/16 19:40, Mark Janes wrote:
> Hi Samuel,
> 
> When this patch was pushed, it broke the vulkan build.  Can you please
> add "--with-vulkan-drivers=intel" to the build-test that you run before
> pushing?
> 

I'm sorry for the inconveniences caused. I didn't notice this change
would break vulkan build.

I have just added that argument to my build.

Thanks,

Sam

> thanks,
> 
> Mark
> 
> Samuel Iglesias Gonsálvez  writes:
> 
>> Signed-off-by: Samuel Iglesias Gonsálvez 
>> ---
>>  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)
>>  {
>> 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(, 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(, 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@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2016-04-28 Thread Mark Janes
Hi Samuel,

When this patch was pushed, it broke the vulkan build.  Can you please
add "--with-vulkan-drivers=intel" to the build-test that you run before
pushing?

thanks,

Mark

Samuel Iglesias Gonsálvez  writes:

> Signed-off-by: Samuel Iglesias Gonsálvez 
> ---
>  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)
>  {
> 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(, 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(, 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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2016-04-25 Thread Jason Ekstrand
On Apr 25, 2016 1:36 AM, "Samuel Iglesias Gonsálvez" 
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" <
sigles...@igalia.com>
> >> wrote:
> >>>
> >>> Signed-off-by: Samuel Iglesias Gonsálvez 
> >>> ---
> >>>  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(, 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(, 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@lists.freedesktop.org
> >>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >>
> > ___
> > mesa-dev mailing list
> > mesa-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >

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

2016-04-25 Thread Samuel Iglesias Gonsálvez


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" 
>> wrote:
>>>
>>> Signed-off-by: Samuel Iglesias Gonsálvez 
>>> ---
>>>  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(, 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(, 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@lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2016-04-12 Thread Samuel Iglesias Gonsálvez


On 12/04/16 17:24, Jason Ekstrand wrote:
> On Apr 12, 2016 1:06 AM, "Samuel Iglesias Gonsálvez" 
> wrote:
>>
>> Signed-off-by: Samuel Iglesias Gonsálvez 
>> ---
>>  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!

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(, 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(, 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@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2016-04-12 Thread Jason Ekstrand
On Apr 12, 2016 1:06 AM, "Samuel Iglesias Gonsálvez" 
wrote:
>
> Signed-off-by: Samuel Iglesias Gonsálvez 
> ---
>  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.

>  {
> 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(, 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(, 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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2016-04-12 Thread Samuel Iglesias Gonsálvez
Signed-off-by: Samuel Iglesias Gonsálvez 
---
 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)
 {
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(, 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(, 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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev