forked from bartvdbraak/blender
-- Change to make blender with game engine disabled build without errors
on 64-bit machines. This code only seems to be used by the game engine anyway; maybe it's only linux which always compiles it regardless of whether game engine is enabled?
This commit is contained in:
parent
bc293ba7e1
commit
f08200baa9
@ -36,9 +36,19 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
unsigned int GEN_Hash(unsigned int inDWord)
|
||||
//
|
||||
// Build hash index from pointer. Even though the final result
|
||||
// is a 32-bit integer, use all the bits of the pointer as long
|
||||
// as possible.
|
||||
//
|
||||
|
||||
unsigned int GEN_Hash(void * inDWord)
|
||||
{
|
||||
unsigned int key = inDWord;
|
||||
#if defined(_WIN64)
|
||||
unsigned __int64 key = (unsigned __int64)inDWord;
|
||||
#else
|
||||
unsigned long key = (unsigned long)inDWord;
|
||||
#endif
|
||||
|
||||
key += ~(key << 16);
|
||||
key ^= (key >> 5);
|
||||
@ -47,5 +57,5 @@ unsigned int GEN_Hash(unsigned int inDWord)
|
||||
key += ~(key << 9);
|
||||
key ^= (key >> 17);
|
||||
|
||||
return key;
|
||||
return (unsigned int)(key & 0xffffffff);
|
||||
}
|
||||
|
@ -33,14 +33,14 @@
|
||||
#ifndef __GEN_HASHEDPTR
|
||||
#define __GEN_HASHEDPTR
|
||||
|
||||
unsigned int GEN_Hash(unsigned int inDWord);
|
||||
unsigned int GEN_Hash(void * inDWord);
|
||||
|
||||
class GEN_HashedPtr
|
||||
{
|
||||
void* m_valptr;
|
||||
public:
|
||||
GEN_HashedPtr(void* val) : m_valptr(val) {};
|
||||
unsigned int hash() const { return GEN_Hash((unsigned int) m_valptr);};
|
||||
unsigned int hash() const { return GEN_Hash(m_valptr);};
|
||||
inline friend bool operator ==(const GEN_HashedPtr & rhs, const GEN_HashedPtr & lhs) { return rhs.m_valptr == lhs.m_valptr;};
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user