mesa: Use standard integer types.
Especially get rid of the non-portable long long.
This commit is contained in:
@@ -69,16 +69,33 @@
|
||||
#include <stdarg.h>
|
||||
|
||||
|
||||
/* Get typedefs for uintptr_t and friends */
|
||||
#if defined(__MINGW32__) || defined(__NetBSD__)
|
||||
# include <stdint.h>
|
||||
#elif defined(_WIN32)
|
||||
# include <BaseTsd.h>
|
||||
# if _MSC_VER == 1200
|
||||
typedef UINT_PTR uintptr_t;
|
||||
# endif
|
||||
/* Get standard integer types */
|
||||
#if defined(_MSC_VER)
|
||||
|
||||
typedef __int8 int8_t;
|
||||
typedef unsigned __int8 uint8_t;
|
||||
typedef __int16 int16_t;
|
||||
typedef unsigned __int16 uint16_t;
|
||||
# ifndef __eglplatform_h_
|
||||
typedef __int32 int32_t;
|
||||
# endif
|
||||
typedef unsigned __int32 uint32_t;
|
||||
typedef __int64 int64_t;
|
||||
typedef unsigned __int64 uint64_t;
|
||||
|
||||
# if defined(_WIN64)
|
||||
typedef __int64 intptr_t;
|
||||
typedef unsigned __int64 uintptr_t;
|
||||
# else
|
||||
typedef __int32 intptr_t;
|
||||
typedef unsigned __int32 uintptr_t;
|
||||
# endif
|
||||
|
||||
# define INT64_C(__val) __val##i64
|
||||
# define UINT64_C(__val) __val##ui64
|
||||
|
||||
#else
|
||||
# include <inttypes.h>
|
||||
# include <stdint.h>
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__) && !defined(BUILD_FOR_SNAP)
|
||||
|
||||
@@ -539,10 +539,10 @@ _mesa_pow(double x, double y)
|
||||
* Find the first bit set in a word.
|
||||
*/
|
||||
int
|
||||
_mesa_ffs(int i)
|
||||
_mesa_ffs(int32_t i)
|
||||
{
|
||||
#if (defined(_WIN32) && !defined(__MINGW32__) ) || defined(__IBMC__) || defined(__IBMCPP__)
|
||||
register int bit = 1;
|
||||
register int32_t bit = 1;
|
||||
if ((i & 0xffff) == 0) {
|
||||
bit += 16;
|
||||
i >>= 16;
|
||||
@@ -573,11 +573,7 @@ _mesa_ffs(int i)
|
||||
* if no bits set.
|
||||
*/
|
||||
int
|
||||
#ifdef __MINGW32__
|
||||
_mesa_ffsll(long val)
|
||||
#else
|
||||
_mesa_ffsll(long long val)
|
||||
#endif
|
||||
_mesa_ffsll(int64_t val)
|
||||
{
|
||||
#ifdef ffsll
|
||||
return ffsll(val);
|
||||
@@ -586,11 +582,11 @@ _mesa_ffsll(long long val)
|
||||
|
||||
assert(sizeof(val) == 8);
|
||||
|
||||
bit = _mesa_ffs(val);
|
||||
bit = _mesa_ffs((int32_t)val);
|
||||
if (bit != 0)
|
||||
return bit;
|
||||
|
||||
bit = _mesa_ffs(val >> 32);
|
||||
bit = _mesa_ffs((int32_t)(val >> 32));
|
||||
if (bit != 0)
|
||||
return 32 + bit;
|
||||
|
||||
|
||||
@@ -697,14 +697,10 @@ extern double
|
||||
_mesa_pow(double x, double y);
|
||||
|
||||
extern int
|
||||
_mesa_ffs(int i);
|
||||
_mesa_ffs(int32_t i);
|
||||
|
||||
extern int
|
||||
#ifdef __MINGW32__
|
||||
_mesa_ffsll(long i);
|
||||
#else
|
||||
_mesa_ffsll(long long i);
|
||||
#endif
|
||||
_mesa_ffsll(int64_t i);
|
||||
|
||||
extern unsigned int
|
||||
_mesa_bitcount(unsigned int n);
|
||||
|
||||
@@ -298,22 +298,17 @@ const struct gl_texture_format _mesa_texformat_rgba_fxt1 = {
|
||||
/*
|
||||
* Define a 64-bit unsigned integer type and macros
|
||||
*/
|
||||
#if defined(__GNUC__) && !defined(__cplusplus)
|
||||
#if 1
|
||||
|
||||
#define FX64_NATIVE 1
|
||||
|
||||
#ifdef __MINGW32__
|
||||
typedef unsigned long Fx64;
|
||||
#else
|
||||
typedef unsigned long long Fx64;
|
||||
#endif
|
||||
|
||||
typedef uint64_t Fx64;
|
||||
|
||||
#define FX64_MOV32(a, b) a = b
|
||||
#define FX64_OR32(a, b) a |= b
|
||||
#define FX64_SHL(a, c) a <<= c
|
||||
|
||||
#else /* !__GNUC__ */
|
||||
#else
|
||||
|
||||
#define FX64_NATIVE 0
|
||||
|
||||
@@ -335,7 +330,7 @@ typedef struct {
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#endif /* !__GNUC__ */
|
||||
#endif
|
||||
|
||||
|
||||
#define F(i) (GLfloat)1 /* can be used to obtain an oblong metric: 0.30 / 0.59 / 0.11 */
|
||||
|
||||
Reference in New Issue
Block a user