xref: /aosp_15_r20/external/angle/src/libANGLE/renderer/gl/egl/ExternalImageSiblingEGL.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1 //
2 // Copyright 2018 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 // ExternalImageSiblingEGL.h: Defines the ExternalImageSiblingEGL interface to abstract all external
8 // image siblings in the EGL backend
9 
10 #ifndef LIBANGLE_RENDERER_GL_EGL_EXTERNALIMAGESIBLINGEGL_H_
11 #define LIBANGLE_RENDERER_GL_EGL_EXTERNALIMAGESIBLINGEGL_H_
12 
13 #include "libANGLE/renderer/ImageImpl.h"
14 
15 namespace rx
16 {
17 
18 class ExternalImageSiblingEGL : public ExternalImageSiblingImpl
19 {
20   public:
ExternalImageSiblingEGL()21     ExternalImageSiblingEGL() {}
~ExternalImageSiblingEGL()22     ~ExternalImageSiblingEGL() override {}
23 
24     virtual EGLClientBuffer getBuffer() const = 0;
getImageCreationAttributes(std::vector<EGLint> * outAttributes)25     virtual void getImageCreationAttributes(std::vector<EGLint> *outAttributes) const {}
26 };
27 
28 }  // namespace rx
29 
30 #endif  // LIBANGLE_RENDERER_GL_EGL_EXTERNALIMAGESIBLINGEGL_H_
31