Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 From: Jeff Gilbert <jgilbert@mozilla.com>
2 Bug 982973 - Tell ANGLE about d3dcompiler_47.dll. - r=vlad
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 @@
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
14 #define ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES \
15 { \
16 + TEXT("d3dcompiler_47.dll"), \
17 TEXT("d3dcompiler_46.dll"), \
18 TEXT("d3dcompiler_43.dll") \
19 }
22 namespace rx
23 {
25 @@ -173,23 +174,23 @@ ShaderBlob *Renderer::compileToBinary(gl
27 extern "C"
28 {
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 }
48 if (status == EGL_SUCCESS)
49 {
50 return renderer;
51 @@ -200,17 +201,17 @@ rx::Renderer *glCreateRenderer(egl::Disp
52 }
54 // Failed to create a D3D11 renderer, try creating a D3D9 renderer
55 delete renderer;
56 }
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 }
67 if (status == EGL_SUCCESS)
68 {
69 return renderer;