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

Emil Velikov emil.l.velikov at gmail.com
Thu Apr 23 10:14:10 PDT 2015


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 \


Thanks
Emil


More information about the mesa-dev mailing list