gfx/angle/src/libGLESv2/renderer/SwapChain11.h

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 //
     2 // Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
     3 // Use of this source code is governed by a BSD-style license that can be
     4 // found in the LICENSE file.
     5 //
     7 // SwapChain11.h: Defines a back-end specific class for the D3D11 swap chain.
     9 #ifndef LIBGLESV2_RENDERER_SWAPCHAIN11_H_
    10 #define LIBGLESV2_RENDERER_SWAPCHAIN11_H_
    12 #include "common/angleutils.h"
    13 #include "libGLESv2/renderer/SwapChain.h"
    15 namespace rx
    16 {
    17 class Renderer11;
    19 class SwapChain11 : public SwapChain
    20 {
    21   public:
    22     SwapChain11(Renderer11 *renderer, HWND window, HANDLE shareHandle,
    23                 GLenum backBufferFormat, GLenum depthBufferFormat);
    24     virtual ~SwapChain11();
    26     EGLint resize(EGLint backbufferWidth, EGLint backbufferHeight);
    27     virtual EGLint reset(EGLint backbufferWidth, EGLint backbufferHeight, EGLint swapInterval);
    28     virtual EGLint swapRect(EGLint x, EGLint y, EGLint width, EGLint height);
    29     virtual void recreate();
    31     virtual ID3D11Texture2D *getOffscreenTexture();
    32     virtual ID3D11RenderTargetView *getRenderTarget();
    33     virtual ID3D11ShaderResourceView *getRenderTargetShaderResource();
    35     virtual ID3D11Texture2D *getDepthStencilTexture();
    36     virtual ID3D11DepthStencilView *getDepthStencil();
    38     EGLint getWidth() const { return mWidth; }
    39     EGLint getHeight() const { return mHeight; }
    41     static SwapChain11 *makeSwapChain11(SwapChain *swapChain);
    43   private:
    44     DISALLOW_COPY_AND_ASSIGN(SwapChain11);
    46     void release();
    47     void initPassThroughResources();
    48     void releaseOffscreenTexture();
    49     EGLint resetOffscreenTexture(int backbufferWidth, int backbufferHeight);
    51     Renderer11 *mRenderer;
    52     EGLint mHeight;
    53     EGLint mWidth;
    54     bool mAppCreatedShareHandle;
    55     unsigned int mSwapInterval;
    56     bool mPassThroughResourcesInit;
    58     IDXGISwapChain *mSwapChain;
    60     ID3D11Texture2D *mBackBufferTexture;
    61     ID3D11RenderTargetView *mBackBufferRTView;
    63     ID3D11Texture2D *mOffscreenTexture;
    64     ID3D11RenderTargetView *mOffscreenRTView;
    65     ID3D11ShaderResourceView *mOffscreenSRView;
    67     ID3D11Texture2D *mDepthStencilTexture;
    68     ID3D11DepthStencilView *mDepthStencilDSView;
    70     ID3D11Buffer *mQuadVB;
    71     ID3D11SamplerState *mPassThroughSampler;
    72     ID3D11InputLayout *mPassThroughIL;
    73     ID3D11VertexShader *mPassThroughVS;
    74     ID3D11PixelShader *mPassThroughPS;
    75 };
    77 }
    78 #endif // LIBGLESV2_RENDERER_SWAPCHAIN11_H_

mercurial