[Mesa-dev] [PATCH 12/18] swr: [rasterizer common] OSX cleanups

Emil Velikov emil.l.velikov at gmail.com
Tue May 17 10:56:57 UTC 2016


Hi Tim,

Afaics, things were designed around the premise that one should be
Windows/MSVC (?) compatible, correct ?

In many places you're using the native types and hopefully soon you
can 'flip' the compat. to be used for windows (non-posix) systems.


On 17 May 2016 at 02:10, Tim Rowley <timothy.o.rowley at intel.com> wrote:
> ---
>  src/gallium/drivers/swr/rasterizer/common/os.h              | 9 ++++++++-
>  src/gallium/drivers/swr/rasterizer/common/rdtsc_buckets.cpp | 2 +-
>  2 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/drivers/swr/rasterizer/common/os.h b/src/gallium/drivers/swr/rasterizer/common/os.h
> index 94bb567..51e6c5a 100644
> --- a/src/gallium/drivers/swr/rasterizer/common/os.h
> +++ b/src/gallium/drivers/swr/rasterizer/common/os.h
> @@ -68,7 +68,7 @@ static inline void AlignedFree(void* p)
>  #define _mm_popcount_sizeT _mm_popcnt_u32
>  #endif
>
> -#elif defined(FORCE_LINUX) || defined(__linux__) || defined(__gnu_linux__)
> +#elif defined(__APPLE__) || defined(FORCE_LINUX) || defined(__linux__) || defined(__gnu_linux__)
>
>  #define SWR_API
>
> @@ -80,6 +80,7 @@ static inline void AlignedFree(void* p)
>  #include <unistd.h>
>  #include <sys/stat.h>
>  #include <stdio.h>
> +#include <limits.h>
>
>  typedef void            VOID;
>  typedef void*           LPVOID;
> @@ -95,6 +96,8 @@ typedef unsigned int    DWORD;
>  #undef TRUE
>  #define TRUE 1
>
> +#define MAX_PATH PATH_MAX
> +
>  #define OSALIGN(RWORD, WIDTH) RWORD __attribute__((aligned(WIDTH)))
>  #define THREAD __thread
>  #ifndef INLINE
> @@ -194,6 +197,10 @@ void AlignedFree(void* p)
>      free(p);
>  }
>
> +#define _countof(a) (sizeof(a)/sizeof(*(a)))
> +
Looks unused ?

> +#define sprintf_s sprintf
> +#define strcpy_s(dst,size,src) strncpy(dst,src,size)
As/if you go with my suggestion above, you can reuse the str functions
in auxiliary/util/u_string.h, which should handle windows nicely.
Although honestly I hope they fixed their api to be threadsafe, as
defined by ISO C.


-Emil


More information about the mesa-dev mailing list