Bug 982973 - Add angle-d3dcc47.patch to our ANGLE patch list. - r=vlad

This commit is contained in:
Jeff Gilbert 2014-03-12 19:47:08 -07:00
parent 7a6362407e
commit 011c09d195
2 changed files with 72 additions and 0 deletions

View File

@ -57,6 +57,9 @@ In this order:
angle-fix-vc12.patch:
Fixes angle to build on Visual Studio 2013
angle-d3dcc47.patch:
Tell ANGLE about d3dcompiler_47.dll from WinSDK 8.1.
In addition to these patches, the Makefile.in and moz.build build files are ours,
they're not present in upsteam ANGLE. Therefore, changes made to the build files
should not be stored in the local .patch files.

View File

@ -0,0 +1,69 @@
From: Jeff Gilbert <jgilbert@mozilla.com>
Bug 982973 - Tell ANGLE about d3dcompiler_47.dll. - r=vlad
diff --git a/gfx/angle/src/libGLESv2/renderer/Renderer.cpp b/gfx/angle/src/libGLESv2/renderer/Renderer.cpp
--- a/gfx/angle/src/libGLESv2/renderer/Renderer.cpp
+++ b/gfx/angle/src/libGLESv2/renderer/Renderer.cpp
@@ -17,16 +17,17 @@
#if !defined(ANGLE_ENABLE_D3D11)
// Enables use of the Direct3D 11 API for a default display, when available
#define ANGLE_ENABLE_D3D11 0
#endif
#define ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES \
{ \
+ TEXT("d3dcompiler_47.dll"), \
TEXT("d3dcompiler_46.dll"), \
TEXT("d3dcompiler_43.dll") \
}
namespace rx
{
@@ -173,23 +174,23 @@ ShaderBlob *Renderer::compileToBinary(gl
extern "C"
{
rx::Renderer *glCreateRenderer(egl::Display *display, HDC hDc, EGLNativeDisplayType displayId)
{
rx::Renderer *renderer = NULL;
EGLint status = EGL_BAD_ALLOC;
-
+
if (ANGLE_ENABLE_D3D11 ||
displayId == EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE ||
displayId == EGL_D3D11_ONLY_DISPLAY_ANGLE)
{
renderer = new rx::Renderer11(display, hDc);
-
+
if (renderer)
{
status = renderer->initialize();
}
if (status == EGL_SUCCESS)
{
return renderer;
@@ -200,17 +201,17 @@ rx::Renderer *glCreateRenderer(egl::Disp
}
// Failed to create a D3D11 renderer, try creating a D3D9 renderer
delete renderer;
}
bool softwareDevice = (displayId == EGL_SOFTWARE_DISPLAY_ANGLE);
renderer = new rx::Renderer9(display, hDc, softwareDevice);
-
+
if (renderer)
{
status = renderer->initialize();
}
if (status == EGL_SUCCESS)
{
return renderer;