Fixed bug 4533 - Update ANGLE to load d3dcompiler_47.dll instead of d3dcompiler_46.dll

msmshazan

Update ANGLE Libraries to support d3dcompiler_47.dll since chrome does not ship with d3dcompiler_46.dll and d3dcompiler_43.dll
This commit is contained in:
Sam Lantinga 2019-06-08 15:10:20 -07:00
parent 0442d19fc8
commit 2b6473dc05

View File

@ -279,18 +279,32 @@ SDL_EGL_LoadLibrary(_THIS, const char *egl_path, NativeDisplayType native_displa
#if SDL_VIDEO_DRIVER_WINDOWS || SDL_VIDEO_DRIVER_WINRT #if SDL_VIDEO_DRIVER_WINDOWS || SDL_VIDEO_DRIVER_WINRT
d3dcompiler = SDL_GetHint(SDL_HINT_VIDEO_WIN_D3DCOMPILER); d3dcompiler = SDL_GetHint(SDL_HINT_VIDEO_WIN_D3DCOMPILER);
if (!d3dcompiler) { if (d3dcompiler) {
if (WIN_IsWindowsVistaOrGreater()) {
d3dcompiler = "d3dcompiler_46.dll";
} else {
d3dcompiler = "d3dcompiler_43.dll";
}
}
if (SDL_strcasecmp(d3dcompiler, "none") != 0) { if (SDL_strcasecmp(d3dcompiler, "none") != 0) {
if (SDL_LoadObject(d3dcompiler) == NULL) { if (SDL_LoadObject(d3dcompiler) == NULL) {
SDL_ClearError(); SDL_ClearError();
} }
} }
} else {
if (WIN_IsWindowsVistaOrGreater()) {
/* Try the newer d3d compilers first */
const char *d3dcompiler_list[] = {
"d3dcompiler_47.dll", "d3dcompiler_46.dll",
};
int i;
for (i = 0; i < SDL_arraysize(d3dcompiler_list); ++i) {
if (SDL_LoadObject(d3dcompiler_list[i]) != NULL) {
break;
}
SDL_ClearError();
}
} else {
if (SDL_LoadObject("d3dcompiler_43.dll") == NULL) {
SDL_ClearError();
}
}
}
#endif #endif
#ifndef SDL_VIDEO_STATIC_ANGLE #ifndef SDL_VIDEO_STATIC_ANGLE