• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright 2015 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 // SurfaceGL.h: Defines the class interface for SurfaceGL.
8 
9 #ifndef LIBANGLE_RENDERER_GL_SURFACEGL_H_
10 #define LIBANGLE_RENDERER_GL_SURFACEGL_H_
11 
12 #include "libANGLE/renderer/SurfaceImpl.h"
13 
14 namespace rx
15 {
16 
17 class SurfaceGL : public SurfaceImpl
18 {
19   public:
20     SurfaceGL(const egl::SurfaceState &state);
21     ~SurfaceGL() override;
22 
23     FramebufferImpl *createDefaultFramebuffer(const gl::Context *context,
24                                               const gl::FramebufferState &data) override;
25     egl::Error getSyncValues(EGLuint64KHR *ust, EGLuint64KHR *msc, EGLuint64KHR *sbc) override;
26     egl::Error getMscRate(EGLint *numerator, EGLint *denominator) override;
27 
28     angle::Result initializeContents(const gl::Context *context,
29                                      const gl::ImageIndex &imageIndex) override;
30 
31     virtual bool hasEmulatedAlphaChannel() const;
32 };
33 
34 }  // namespace rx
35 
36 #endif  // LIBANGLE_RENDERER_GL_SURFACEGL_H_
37