[Mesa-dev] [PATCH 05/13] nir: expose 'C' wrappers for std430 size/alignment

Rob Clark robdclark at gmail.com
Wed Feb 28 21:45:02 UTC 2018


I needed it in ir3, since nir->ir3 is .c code, and I need it to map
load_param offset to offset in constant registers.  Sorry, I didn't
think the ir3 patches were interesting to others so I didn't include
them in the patchset.

Tbh if we used uniforms to pass params, I might not need these in ir3
(but otoh if I were writing the pass to lower load_param to
load_uniform I'd prefer to write it in .c ;-))

BR,
-R

On Wed, Feb 28, 2018 at 4:39 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> Looking through commit titles, I don't see any obvious place where this
> would get used.
>
> On Wed, Feb 28, 2018 at 11:51 AM, Rob Clark <robdclark at gmail.com> wrote:
>>
>> Signed-off-by: Rob Clark <robdclark at gmail.com>
>> ---
>>  src/compiler/nir_types.cpp | 12 ++++++++++++
>>  src/compiler/nir_types.h   |  4 ++++
>>  2 files changed, 16 insertions(+)
>>
>> diff --git a/src/compiler/nir_types.cpp b/src/compiler/nir_types.cpp
>> index cbdd452dc81..0085a19248a 100644
>> --- a/src/compiler/nir_types.cpp
>> +++ b/src/compiler/nir_types.cpp
>> @@ -117,6 +117,18 @@ glsl_get_aoa_size(const struct glsl_type *type)
>>     return type->arrays_of_arrays_size();
>>  }
>>
>> +unsigned
>> +glsl_std430_size(const struct glsl_type *type, bool row_major)
>> +{
>> +   return type->std430_size(row_major);
>> +}
>> +
>> +unsigned
>> +glsl_std430_base_alignment(const struct glsl_type *type, bool row_major)
>> +{
>> +   return type->std430_base_alignment(row_major);
>> +}
>> +
>>  unsigned
>>  glsl_count_attribute_slots(const struct glsl_type *type,
>>                             bool is_vertex_input)
>> diff --git a/src/compiler/nir_types.h b/src/compiler/nir_types.h
>> index e2dfd1ef5b7..5b5e09d137f 100644
>> --- a/src/compiler/nir_types.h
>> +++ b/src/compiler/nir_types.h
>> @@ -71,6 +71,10 @@ unsigned glsl_get_length(const struct glsl_type *type);
>>
>>  unsigned glsl_get_aoa_size(const struct glsl_type *type);
>>
>> +unsigned glsl_std430_size(const struct glsl_type *type, bool row_major);
>> +
>> +unsigned glsl_std430_base_alignment(const struct glsl_type *type, bool
>> row_major);
>> +
>>  unsigned glsl_count_attribute_slots(const struct glsl_type *type,
>>                                      bool is_vertex_input);
>>
>> --
>> 2.14.3
>>
>> _______________________________________________
>> 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