mirror of
https://github.com/SFML/SFML.git
synced 2025-01-19 07:45:13 +08:00
Fixed broken rendering
git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1223 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
parent
a5e20f23ca
commit
282dfe6b6f
@ -39,12 +39,21 @@ namespace
|
||||
// Fast float to int conversion
|
||||
inline sf::Int32 Round(double value)
|
||||
{
|
||||
value += 6755399441055744.0;
|
||||
// Use a union rather than reinterpret_cast, because it doesn't break strict-aliasing
|
||||
// rules and results in a correct behaviour when compiling in optimized mode
|
||||
union DoubleToInt
|
||||
{
|
||||
double d;
|
||||
sf::Int32 i[2];
|
||||
};
|
||||
|
||||
DoubleToInt u;
|
||||
u.d = value + 6755399441055744.0;
|
||||
|
||||
#if defined(SFML_ENDIAN_LITTLE)
|
||||
return (reinterpret_cast<sf::Int32*>(&value))[0];
|
||||
return u.i[0];
|
||||
#else
|
||||
return (reinterpret_cast<sf::Int32*>(&value))[1];
|
||||
return u.i[1];
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -275,7 +275,7 @@ void ContextGLX::CreateContext(ContextGLX* shared, unsigned int bitsPerPixel, co
|
||||
GLXContext toShare = shared ? shared->myContext : NULL;
|
||||
|
||||
// Create the context -- first try an OpenGL 3.0 context if it is supported
|
||||
const GLubyte* name = reinterpret_cast<const GLubyte*>("glXCreateContextAttribsARB");
|
||||
/*const GLubyte* name = reinterpret_cast<const GLubyte*>("glXCreateContextAttribsARB");
|
||||
PFNGLXCREATECONTEXTATTRIBSARBPROC glXCreateContextAttribsARB = reinterpret_cast<PFNGLXCREATECONTEXTATTRIBSARBPROC>(glXGetProcAddress(name));
|
||||
if (glXCreateContextAttribsARB)
|
||||
{
|
||||
@ -295,7 +295,7 @@ void ContextGLX::CreateContext(ContextGLX* shared, unsigned int bitsPerPixel, co
|
||||
0, 0
|
||||
};
|
||||
myContext = glXCreateContextAttribsARB(myDisplay, configs[0], toShare, true, attributes);
|
||||
}
|
||||
}*/
|
||||
|
||||
// If the OpenGL 3.0 context failed, create a regular OpenGL 1.x context
|
||||
if (!myContext)
|
||||
|
Loading…
Reference in New Issue
Block a user