[Mesa-dev] [PATCH 1/2] util: use memset() to initialize surface, sampler_view templates

Marek Olšák maraeo at gmail.com
Tue Jan 10 11:27:33 PST 2012


On Tue, Jan 10, 2012 at 7:48 PM, Jakob Bornecrantz <jakob at vmware.com> wrote:
> ----- Original Message -----
>> These initialization functions weren't initializing all the fields so
>> some had undefined values.  The callers of these functions sometimes
>> use a structure assignment to initialize new objects from these
>> templates so we'd just propagate the undefined values.  That made for
>> some confusing info when debugging, plus it could lead to bugs.
>
> Hmm, in theory doing "struct my_struct strct = { 0 };" should work but
> as I noticed earlier at least gcc doesn't seem to do what we want in
> this case.

Long ago I noticed that scons was throwing a warning that a variable
may have been uninitialized when using the empty initializer {}, but
it worked fine with make. It seems to be an issue with scons. I am not
a fan of memset. I prefer {} more, even though it may not be
C89-friendly.

Marek

>
> Maybe we should try and standardize on one way to do struct
> initialization in Gallium/Mesa?
>
> struct my_struct strct = MY_STRUCT_STATIC_INIT;
>
> Seems to be used by both pthreads and the kernel.
>
> The change in of itself is good and have my RB, just wanted to take up
> the discussion.
>
> Cheers, Jakob.
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list