|
1 From: Jeff Gilbert <jgilbert@mozilla.com> |
|
2 Bug 982973 - Tell ANGLE about d3dcompiler_47.dll. - r=vlad |
|
3 |
|
4 diff --git a/gfx/angle/src/libGLESv2/renderer/Renderer.cpp b/gfx/angle/src/libGLESv2/renderer/Renderer.cpp |
|
5 --- a/gfx/angle/src/libGLESv2/renderer/Renderer.cpp |
|
6 +++ b/gfx/angle/src/libGLESv2/renderer/Renderer.cpp |
|
7 @@ -17,16 +17,17 @@ |
|
8 |
|
9 #if !defined(ANGLE_ENABLE_D3D11) |
|
10 // Enables use of the Direct3D 11 API for a default display, when available |
|
11 #define ANGLE_ENABLE_D3D11 0 |
|
12 #endif |
|
13 |
|
14 #define ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES \ |
|
15 { \ |
|
16 + TEXT("d3dcompiler_47.dll"), \ |
|
17 TEXT("d3dcompiler_46.dll"), \ |
|
18 TEXT("d3dcompiler_43.dll") \ |
|
19 } |
|
20 |
|
21 |
|
22 namespace rx |
|
23 { |
|
24 |
|
25 @@ -173,23 +174,23 @@ ShaderBlob *Renderer::compileToBinary(gl |
|
26 |
|
27 extern "C" |
|
28 { |
|
29 |
|
30 rx::Renderer *glCreateRenderer(egl::Display *display, HDC hDc, EGLNativeDisplayType displayId) |
|
31 { |
|
32 rx::Renderer *renderer = NULL; |
|
33 EGLint status = EGL_BAD_ALLOC; |
|
34 - |
|
35 + |
|
36 if (ANGLE_ENABLE_D3D11 || |
|
37 displayId == EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE || |
|
38 displayId == EGL_D3D11_ONLY_DISPLAY_ANGLE) |
|
39 { |
|
40 renderer = new rx::Renderer11(display, hDc); |
|
41 - |
|
42 + |
|
43 if (renderer) |
|
44 { |
|
45 status = renderer->initialize(); |
|
46 } |
|
47 |
|
48 if (status == EGL_SUCCESS) |
|
49 { |
|
50 return renderer; |
|
51 @@ -200,17 +201,17 @@ rx::Renderer *glCreateRenderer(egl::Disp |
|
52 } |
|
53 |
|
54 // Failed to create a D3D11 renderer, try creating a D3D9 renderer |
|
55 delete renderer; |
|
56 } |
|
57 |
|
58 bool softwareDevice = (displayId == EGL_SOFTWARE_DISPLAY_ANGLE); |
|
59 renderer = new rx::Renderer9(display, hDc, softwareDevice); |
|
60 - |
|
61 + |
|
62 if (renderer) |
|
63 { |
|
64 status = renderer->initialize(); |
|
65 } |
|
66 |
|
67 if (status == EGL_SUCCESS) |
|
68 { |
|
69 return renderer; |