diff --git a/dependencies/angle/d3dcompiler_47.dll b/dependencies/angle/d3dcompiler_47.dll new file mode 100644 index 000000000..e5bf5cf5b Binary files /dev/null and b/dependencies/angle/d3dcompiler_47.dll differ diff --git a/dependencies/angle/libegl.dll b/dependencies/angle/libegl.dll new file mode 100644 index 000000000..d4fc28d09 Binary files /dev/null and b/dependencies/angle/libegl.dll differ diff --git a/dependencies/angle/libglesv2.dll b/dependencies/angle/libglesv2.dll new file mode 100644 index 000000000..922a5f6d2 Binary files /dev/null and b/dependencies/angle/libglesv2.dll differ diff --git a/include.xml b/include.xml index 0b55bb24f..29b50c0ae 100644 --- a/include.xml +++ b/include.xml @@ -58,6 +58,9 @@ + + + diff --git a/project/Build.xml b/project/Build.xml index 3928330d0..5ca8a8d22 100644 --- a/project/Build.xml +++ b/project/Build.xml @@ -24,6 +24,7 @@ + diff --git a/project/src/backend/sdl/SDLWindow.cpp b/project/src/backend/sdl/SDLWindow.cpp index 45a8c7e9c..4c252a0ca 100644 --- a/project/src/backend/sdl/SDLWindow.cpp +++ b/project/src/backend/sdl/SDLWindow.cpp @@ -22,6 +22,20 @@ namespace lime { if (flags & WINDOW_FLAG_RESIZABLE) sdlFlags |= SDL_WINDOW_RESIZABLE; if (flags & WINDOW_FLAG_BORDERLESS) sdlFlags |= SDL_WINDOW_BORDERLESS; + #if defined (HX_WINDOWS) && defined (NATIVE_TOOLKIT_SDL_ANGLE) + OSVERSIONINFOEXW osvi = { sizeof (osvi), 0, 0, 0, 0, {0}, 0, 0 }; + DWORDLONG const dwlConditionMask = VerSetConditionMask (VerSetConditionMask (VerSetConditionMask (0, VER_MAJORVERSION, VER_GREATER_EQUAL), VER_MINORVERSION, VER_GREATER_EQUAL), VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL); + osvi.dwMajorVersion = HIBYTE (_WIN32_WINNT_VISTA); + osvi.dwMinorVersion = LOBYTE (_WIN32_WINNT_VISTA); + osvi.wServicePackMajor = 0; + + if (VerifyVersionInfoW (&osvi, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR, dwlConditionMask) == FALSE) { + + flags &= ~WINDOW_FLAG_HARDWARE; + + } + #endif + if (flags & WINDOW_FLAG_HARDWARE) { sdlFlags |= SDL_WINDOW_OPENGL;