tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

RenderTargetD3D.h (1368B)


      1 //
      2 // Copyright 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 //
      6 
      7 // RenderTargetD3D.h: Defines an abstract wrapper class to manage IDirect3DSurface9
      8 // and ID3D11View objects belonging to renderbuffers and renderable textures.
      9 
     10 #ifndef LIBANGLE_RENDERER_D3D_RENDERTARGETD3D_H_
     11 #define LIBANGLE_RENDERER_D3D_RENDERTARGETD3D_H_
     12 
     13 #include "common/angleutils.h"
     14 #include "libANGLE/FramebufferAttachment.h"
     15 #include "libANGLE/angletypes.h"
     16 
     17 namespace rx
     18 {
     19 
     20 class RenderTargetD3D : public FramebufferAttachmentRenderTarget
     21 {
     22  public:
     23    RenderTargetD3D();
     24    ~RenderTargetD3D() override;
     25 
     26    virtual GLsizei getWidth() const         = 0;
     27    virtual GLsizei getHeight() const        = 0;
     28    virtual GLsizei getDepth() const         = 0;
     29    virtual GLenum getInternalFormat() const = 0;
     30    virtual GLsizei getSamples() const       = 0;
     31    gl::Extents getExtents() const { return gl::Extents(getWidth(), getHeight(), getDepth()); }
     32    bool isMultisampled() const { return getSamples() > 0; }
     33 
     34    virtual unsigned int getSerial() const;
     35    static unsigned int issueSerials(unsigned int count);
     36 
     37  private:
     38    const unsigned int mSerial;
     39    static unsigned int mCurrentSerial;
     40 };
     41 
     42 }  // namespace rx
     43 
     44 #endif  // LIBANGLE_RENDERER_D3D_RENDERTARGETD3D_H_