On 25/11/14 00:39, Matt Turner wrote:
I've got some thread-safety fixes queued up after this and thought I'd
be a good Mesa citizen and pull some code into src/util.
Thanks for going the extra mile!
I did some clean ups like replacing INLINE (MSVC knows about "inline"
these days, right?) and used stdbool.h instead of the "boolean" type.
No, at least MSVC 2012 doesn't have `inline` keyword when compiling C
files, and requires a
#if !defined(__cplusplus) && !defined(inline)
#define inline __inline
#endif
somewhere. Anyway, there are no `INLINES` nor `inlines` left after your
series, so we're good.
stdbool.h is fine -- we include our own when MSVC doesn't
I also removed the inline assembly implementations because they were
either dead code, or only allowed *ancient* gcc to build Mesa and
because I didn't want to update them for the next patch, which makes
the API consist of some macros that internally do the right operation
based on the type.
The last patch looks funky, but I think it's actually a reasonable
solution. I don't have MSVC or Sun Studio, so please give this a
test.
I had to do a few tweaks to get things building on MSVC properly.
I pushed my changes to
http://cgit.freedesktop.org/~jrfonseca/mesa/log/?h=u_atomic
I need to do a few more tests, but all looks feasible so far -- I don't
get any warnings with MSVC and I believe that the generated code quality
should be exactly the same.
And it is indeed a nice cleanup.
BTW, we could rename the macros to something not allusive to gallium
(ie, remove "pipe"). (We could even match the C11 stdatomic.h until the
C runtime provide them, like we're doing with "thread.h".) Anyway, this
is a just cosmetic, so it can wait.
Jose
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev