gfx/angle/angle-d3dcc47.patch

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

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;

mercurial