[Mesa-dev] [PATCH 09/12] nir: Add a simple growing array data structure

Jason Ekstrand jason at jlekstrand.net
Thu Apr 23 22:23:56 PDT 2015


On Thu, Apr 23, 2015 at 10:14 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> On 13/04/15 01:51, Matt Turner wrote:
>> On Sun, Apr 12, 2015 at 6:38 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
>>>
>>> On Apr 12, 2015 3:24 PM, "Thomas Helland" <thomashelland90 at gmail.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> This looks correct as far as I can tell.
>>>> I have some comments inline, but I don't feel strongly about
>>>> either of them, so do as you please.
>>>>
>>>> Also, maybe this is a candidate for /src/util ?
>>>
>>> Maybe. If so I'm OK leaving it here until there are other users.
>>>
>>>> 2015-04-11 2:48 GMT+02:00 Jason Ekstrand <jason at jlekstrand.net>:
>>>>> ---
>>>>>  src/glsl/nir/nir_array.h | 96
>>>>> ++++++++++++++++++++++++++++++++++++++++++++++++
>>>>>  1 file changed, 96 insertions(+)
>>>>>  create mode 100644 src/glsl/nir/nir_array.h
>>>>>
>>>>> diff --git a/src/glsl/nir/nir_array.h b/src/glsl/nir/nir_array.h
>>>>> new file mode 100644
>>>>> index 0000000..1db4e8c
>>>>> --- /dev/null
>>>>> +++ b/src/glsl/nir/nir_array.h
>>>>> @@ -0,0 +1,96 @@
>>>>> +/*
>>>>> + * Copyright © 2015 Intel Corporation
>>>>> + *
>>>>> + * Permission is hereby granted, free of charge, to any person
>>>>> obtaining a
>>>>> + * copy of this software and associated documentation files (the
>>>>> "Software"),
>>>>> + * to deal in the Software without restriction, including without
>>>>> limitation
>>>>> + * the rights to use, copy, modify, merge, publish, distribute,
>>>>> sublicense,
>>>>> + * and/or sell copies of the Software, and to permit persons to whom
>>>>> the
>>>>> + * Software is furnished to do so, subject to the following conditions:
>>>>> + *
>>>>> + * The above copyright notice and this permission notice (including the
>>>>> next
>>>>> + * paragraph) shall be included in all copies or substantial portions
>>>>> of the
>>>>> + * Software.
>>>>> + *
>>>>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>>>>> EXPRESS OR
>>>>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>>>>> MERCHANTABILITY,
>>>>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
>>>>> SHALL
>>>>> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
>>>>> OTHER
>>>>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
>>>>> ARISING
>>>>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>>>> DEALINGS
>>>>> + * IN THE SOFTWARE.
>>>>> + *
>>>>> + * Authors:
>>>>> + *    Jason Ekstrand (jason at jlekstrand.net)
>>>>> + *
>>>>> + */
>>>>> +
>>>>> +#pragma once
>>>>> +
>>>>> +#ifdef __cplusplus
>>>>> +extern "C" {
>>>>> +#endif
>>>>> +
>>>>> +typedef struct {
>>>>> +   void *mem_ctx;
>>>>> +   size_t size;
>>>>> +   size_t alloc;
>>>>
>>>> Maybe "alloced" or "alloced_mem" instead?
>>>> I was a bit puzzled initially about its purpose.
>>>
>>> Sure
>>
>> FWIW, I use "length" and "size" for these two things.
> There are also the std::vector names - "capacity" and "size", if anyone
> is keen on them :-)
>
>
> Jason,
>
> Can you squash the following hunk before pushing.
>
> diff --git a/src/glsl/Makefile.sources b/src/glsl/Makefile.sources
> index c471eca..d784a81 100644
> --- a/src/glsl/Makefile.sources
> +++ b/src/glsl/Makefile.sources
> @@ -22,6 +22,7 @@ NIR_FILES = \
>         nir/glsl_to_nir.h \
>         nir/nir.c \
>         nir/nir.h \
> +       nir/nir_array.h \
>         nir/nir_builder.h \
>         nir/nir_constant_expressions.h \
>         nir/nir_dominance.c \

Sorry, it already got pushed.  However, if you put that hunk into a
patch, consider it R-B me.
--Jason

> Thanks
> Emil


More information about the mesa-dev mailing list