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
17namespace rx
18{
19
20class 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_
45

Provided by KDAB

Privacy Policy
Learn more about Flutter for embedded and desktop on industrialflutter.com

source code of flutter_engine/third_party/angle/src/libANGLE/renderer/d3d/RenderTargetD3D.h