[Mesa-dev] [PATCH 1/6] util: add vector util code.
Dave Airlie
airlied at gmail.com
Tue Oct 18 22:14:29 UTC 2016
On 17 October 2016 at 18:09, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
> On 14.10.2016 05:16, Dave Airlie wrote:
>>
>> From: Dave Airlie <airlied at redhat.com>
>>
>> This is ported from anv, both anv and radv can share this.
>>
>> Signed-off-by: Dave Airlie <airlied at redhat.com>
>> ---
>> src/util/Makefile.sources | 4 +-
>> src/util/u_vector.c | 98
>> +++++++++++++++++++++++++++++++++++++++++++++++
>> src/util/u_vector.h | 85 ++++++++++++++++++++++++++++++++++++++++
>> 3 files changed, 186 insertions(+), 1 deletion(-)
>> create mode 100644 src/util/u_vector.c
>> create mode 100644 src/util/u_vector.h
>>
>> diff --git a/src/util/Makefile.sources b/src/util/Makefile.sources
>> index 8b17bcf..b7b1e91 100644
>> --- a/src/util/Makefile.sources
>> +++ b/src/util/Makefile.sources
>> @@ -35,7 +35,9 @@ MESA_UTIL_FILES := \
>> strtod.h \
>> texcompress_rgtc_tmp.h \
>> u_atomic.h \
>> - u_endian.h
>> + u_endian.h \
>> + u_vector.c \
>> + u_vector.h
>>
>> MESA_UTIL_GENERATED_FILES = \
>> format_srgb.c
>
> [snip]
>
>> diff --git a/src/util/u_vector.h b/src/util/u_vector.h
>> new file mode 100644
>> index 0000000..ea52837
>> --- /dev/null
>> +++ b/src/util/u_vector.h
>> @@ -0,0 +1,85 @@
>> +/*
>> + * 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.
>> + */
>> +#ifndef U_VECTOR_H
>> +#define U_VECTOR_H
>> +
>> +#include <stdint.h>
>> +#include <stdlib.h>
>> +#include "util/u_math.h"
>> +#include "util/macros.h"
>> +
>> +static inline uint32_t
>> +u_align_u32(uint32_t v, uint32_t a)
>> +{
>> + assert(a != 0 && a == (a & -a));
>> + return (v + a - 1) & ~(a - 1);
>> +}
>
>
> This fits better in u_math.h
>
Yes I realise this, and I'll probably move it there separately, but
I'd like to start bringing
u_math.h into src/util instead of pulling it from gallium in the future.
I'll add a todo beside this function for now.
Dave.
More information about the mesa-dev
mailing list