xref: /aosp_15_r20/external/angle/src/libANGLE/renderer/null/SurfaceNULL.cpp (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1 //
2 // Copyright 2016 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 // SurfaceNULL.cpp:
7 //    Implements the class methods for SurfaceNULL.
8 //
9 
10 #include "libANGLE/renderer/null/SurfaceNULL.h"
11 
12 #include "common/debug.h"
13 
14 #include "libANGLE/renderer/null/FramebufferNULL.h"
15 
16 namespace rx
17 {
18 
SurfaceNULL(const egl::SurfaceState & surfaceState)19 SurfaceNULL::SurfaceNULL(const egl::SurfaceState &surfaceState) : SurfaceImpl(surfaceState) {}
20 
~SurfaceNULL()21 SurfaceNULL::~SurfaceNULL() {}
22 
initialize(const egl::Display * display)23 egl::Error SurfaceNULL::initialize(const egl::Display *display)
24 {
25     return egl::NoError();
26 }
27 
swap(const gl::Context * context)28 egl::Error SurfaceNULL::swap(const gl::Context *context)
29 {
30     return egl::NoError();
31 }
32 
postSubBuffer(const gl::Context * context,EGLint x,EGLint y,EGLint width,EGLint height)33 egl::Error SurfaceNULL::postSubBuffer(const gl::Context *context,
34                                       EGLint x,
35                                       EGLint y,
36                                       EGLint width,
37                                       EGLint height)
38 {
39     return egl::NoError();
40 }
41 
querySurfacePointerANGLE(EGLint attribute,void ** value)42 egl::Error SurfaceNULL::querySurfacePointerANGLE(EGLint attribute, void **value)
43 {
44     UNREACHABLE();
45     return egl::NoError();
46 }
47 
bindTexImage(const gl::Context * context,gl::Texture * texture,EGLint buffer)48 egl::Error SurfaceNULL::bindTexImage(const gl::Context *context,
49                                      gl::Texture *texture,
50                                      EGLint buffer)
51 {
52     return egl::NoError();
53 }
54 
releaseTexImage(const gl::Context * context,EGLint buffer)55 egl::Error SurfaceNULL::releaseTexImage(const gl::Context *context, EGLint buffer)
56 {
57     return egl::NoError();
58 }
59 
getSyncValues(EGLuint64KHR * ust,EGLuint64KHR * msc,EGLuint64KHR * sbc)60 egl::Error SurfaceNULL::getSyncValues(EGLuint64KHR *ust, EGLuint64KHR *msc, EGLuint64KHR *sbc)
61 {
62     UNIMPLEMENTED();
63     return egl::EglBadAccess();
64 }
65 
getMscRate(EGLint * numerator,EGLint * denominator)66 egl::Error SurfaceNULL::getMscRate(EGLint *numerator, EGLint *denominator)
67 {
68     UNIMPLEMENTED();
69     return egl::EglBadAccess();
70 }
71 
setSwapInterval(const egl::Display * display,EGLint interval)72 void SurfaceNULL::setSwapInterval(const egl::Display *display, EGLint interval) {}
73 
getWidth() const74 EGLint SurfaceNULL::getWidth() const
75 {
76     // TODO(geofflang): Read from an actual window?
77     return 100;
78 }
79 
getHeight() const80 EGLint SurfaceNULL::getHeight() const
81 {
82     // TODO(geofflang): Read from an actual window?
83     return 100;
84 }
85 
isPostSubBufferSupported() const86 EGLint SurfaceNULL::isPostSubBufferSupported() const
87 {
88     return EGL_TRUE;
89 }
90 
getSwapBehavior() const91 EGLint SurfaceNULL::getSwapBehavior() const
92 {
93     return EGL_BUFFER_PRESERVED;
94 }
95 
initializeContents(const gl::Context * context,GLenum binding,const gl::ImageIndex & imageIndex)96 angle::Result SurfaceNULL::initializeContents(const gl::Context *context,
97                                               GLenum binding,
98                                               const gl::ImageIndex &imageIndex)
99 {
100     return angle::Result::Continue;
101 }
102 
attachToFramebuffer(const gl::Context * context,gl::Framebuffer * framebuffer)103 egl::Error SurfaceNULL::attachToFramebuffer(const gl::Context *context,
104                                             gl::Framebuffer *framebuffer)
105 {
106     return egl::NoError();
107 }
108 
detachFromFramebuffer(const gl::Context * context,gl::Framebuffer * framebuffer)109 egl::Error SurfaceNULL::detachFromFramebuffer(const gl::Context *context,
110                                               gl::Framebuffer *framebuffer)
111 {
112     return egl::NoError();
113 }
114 
115 }  // namespace rx
116