xref: /aosp_15_r20/external/angle/src/libANGLE/renderer/SurfaceImpl.cpp (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker //
2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2002 The ANGLE Project Authors. All rights reserved.
3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file.
5*8975f5c5SAndroid Build Coastguard Worker //
6*8975f5c5SAndroid Build Coastguard Worker 
7*8975f5c5SAndroid Build Coastguard Worker // SurfaceImpl.cpp: Implementation of Surface stub method class
8*8975f5c5SAndroid Build Coastguard Worker 
9*8975f5c5SAndroid Build Coastguard Worker #include "libANGLE/renderer/SurfaceImpl.h"
10*8975f5c5SAndroid Build Coastguard Worker 
11*8975f5c5SAndroid Build Coastguard Worker namespace rx
12*8975f5c5SAndroid Build Coastguard Worker {
13*8975f5c5SAndroid Build Coastguard Worker 
SurfaceImpl(const egl::SurfaceState & state)14*8975f5c5SAndroid Build Coastguard Worker SurfaceImpl::SurfaceImpl(const egl::SurfaceState &state) : mState(state) {}
15*8975f5c5SAndroid Build Coastguard Worker 
~SurfaceImpl()16*8975f5c5SAndroid Build Coastguard Worker SurfaceImpl::~SurfaceImpl() {}
17*8975f5c5SAndroid Build Coastguard Worker 
makeCurrent(const gl::Context * context)18*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::makeCurrent(const gl::Context *context)
19*8975f5c5SAndroid Build Coastguard Worker {
20*8975f5c5SAndroid Build Coastguard Worker     return egl::NoError();
21*8975f5c5SAndroid Build Coastguard Worker }
22*8975f5c5SAndroid Build Coastguard Worker 
unMakeCurrent(const gl::Context * context)23*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::unMakeCurrent(const gl::Context *context)
24*8975f5c5SAndroid Build Coastguard Worker {
25*8975f5c5SAndroid Build Coastguard Worker     return egl::NoError();
26*8975f5c5SAndroid Build Coastguard Worker }
27*8975f5c5SAndroid Build Coastguard Worker 
prepareSwap(const gl::Context *)28*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::prepareSwap(const gl::Context *)
29*8975f5c5SAndroid Build Coastguard Worker {
30*8975f5c5SAndroid Build Coastguard Worker     return angle::ResultToEGL(angle::Result::Continue);
31*8975f5c5SAndroid Build Coastguard Worker }
32*8975f5c5SAndroid Build Coastguard Worker 
swapWithDamage(const gl::Context * context,const EGLint * rects,EGLint n_rects)33*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::swapWithDamage(const gl::Context *context,
34*8975f5c5SAndroid Build Coastguard Worker                                        const EGLint *rects,
35*8975f5c5SAndroid Build Coastguard Worker                                        EGLint n_rects)
36*8975f5c5SAndroid Build Coastguard Worker {
37*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
38*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadSurface() << "swapWithDamage implementation missing.";
39*8975f5c5SAndroid Build Coastguard Worker }
40*8975f5c5SAndroid Build Coastguard Worker 
swapWithFrameToken(const gl::Context * context,EGLFrameTokenANGLE frameToken)41*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::swapWithFrameToken(const gl::Context *context,
42*8975f5c5SAndroid Build Coastguard Worker                                            EGLFrameTokenANGLE frameToken)
43*8975f5c5SAndroid Build Coastguard Worker {
44*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
45*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadDisplay();
46*8975f5c5SAndroid Build Coastguard Worker }
47*8975f5c5SAndroid Build Coastguard Worker 
postSubBuffer(const gl::Context * context,EGLint x,EGLint y,EGLint width,EGLint height)48*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::postSubBuffer(const gl::Context *context,
49*8975f5c5SAndroid Build Coastguard Worker                                       EGLint x,
50*8975f5c5SAndroid Build Coastguard Worker                                       EGLint y,
51*8975f5c5SAndroid Build Coastguard Worker                                       EGLint width,
52*8975f5c5SAndroid Build Coastguard Worker                                       EGLint height)
53*8975f5c5SAndroid Build Coastguard Worker {
54*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
55*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadSurface() << "getMscRate implementation missing.";
56*8975f5c5SAndroid Build Coastguard Worker }
57*8975f5c5SAndroid Build Coastguard Worker 
setPresentationTime(EGLnsecsANDROID time)58*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::setPresentationTime(EGLnsecsANDROID time)
59*8975f5c5SAndroid Build Coastguard Worker {
60*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
61*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadSurface() << "setPresentationTime implementation missing.";
62*8975f5c5SAndroid Build Coastguard Worker }
63*8975f5c5SAndroid Build Coastguard Worker 
querySurfacePointerANGLE(EGLint attribute,void ** value)64*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::querySurfacePointerANGLE(EGLint attribute, void **value)
65*8975f5c5SAndroid Build Coastguard Worker {
66*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
67*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadSurface() << "querySurfacePointerANGLE implementation missing.";
68*8975f5c5SAndroid Build Coastguard Worker }
69*8975f5c5SAndroid Build Coastguard Worker 
getSyncValues(EGLuint64KHR * ust,EGLuint64KHR * msc,EGLuint64KHR * sbc)70*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::getSyncValues(EGLuint64KHR *ust, EGLuint64KHR *msc, EGLuint64KHR *sbc)
71*8975f5c5SAndroid Build Coastguard Worker {
72*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
73*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadSurface() << "getSyncValues implementation missing.";
74*8975f5c5SAndroid Build Coastguard Worker }
75*8975f5c5SAndroid Build Coastguard Worker 
getMscRate(EGLint * numerator,EGLint * denominator)76*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::getMscRate(EGLint *numerator, EGLint *denominator)
77*8975f5c5SAndroid Build Coastguard Worker {
78*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
79*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadSurface() << "getMscRate implementation missing.";
80*8975f5c5SAndroid Build Coastguard Worker }
81*8975f5c5SAndroid Build Coastguard Worker 
setFixedWidth(EGLint width)82*8975f5c5SAndroid Build Coastguard Worker void SurfaceImpl::setFixedWidth(EGLint width)
83*8975f5c5SAndroid Build Coastguard Worker {
84*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
85*8975f5c5SAndroid Build Coastguard Worker }
86*8975f5c5SAndroid Build Coastguard Worker 
setFixedHeight(EGLint height)87*8975f5c5SAndroid Build Coastguard Worker void SurfaceImpl::setFixedHeight(EGLint height)
88*8975f5c5SAndroid Build Coastguard Worker {
89*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
90*8975f5c5SAndroid Build Coastguard Worker }
91*8975f5c5SAndroid Build Coastguard Worker 
setTimestampsEnabled(bool enabled)92*8975f5c5SAndroid Build Coastguard Worker void SurfaceImpl::setTimestampsEnabled(bool enabled)
93*8975f5c5SAndroid Build Coastguard Worker {
94*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
95*8975f5c5SAndroid Build Coastguard Worker }
96*8975f5c5SAndroid Build Coastguard Worker 
getD3DTextureColorFormat() const97*8975f5c5SAndroid Build Coastguard Worker const angle::Format *SurfaceImpl::getD3DTextureColorFormat() const
98*8975f5c5SAndroid Build Coastguard Worker {
99*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
100*8975f5c5SAndroid Build Coastguard Worker     return nullptr;
101*8975f5c5SAndroid Build Coastguard Worker }
102*8975f5c5SAndroid Build Coastguard Worker 
getSupportedCompositorTimings() const103*8975f5c5SAndroid Build Coastguard Worker egl::SupportedCompositorTimings SurfaceImpl::getSupportedCompositorTimings() const
104*8975f5c5SAndroid Build Coastguard Worker {
105*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
106*8975f5c5SAndroid Build Coastguard Worker     return egl::SupportedCompositorTimings();
107*8975f5c5SAndroid Build Coastguard Worker }
108*8975f5c5SAndroid Build Coastguard Worker 
getCompositorTiming(EGLint numTimestamps,const EGLint * names,EGLnsecsANDROID * values) const109*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::getCompositorTiming(EGLint numTimestamps,
110*8975f5c5SAndroid Build Coastguard Worker                                             const EGLint *names,
111*8975f5c5SAndroid Build Coastguard Worker                                             EGLnsecsANDROID *values) const
112*8975f5c5SAndroid Build Coastguard Worker {
113*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
114*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadDisplay();
115*8975f5c5SAndroid Build Coastguard Worker }
116*8975f5c5SAndroid Build Coastguard Worker 
getNextFrameId(EGLuint64KHR * frameId) const117*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::getNextFrameId(EGLuint64KHR *frameId) const
118*8975f5c5SAndroid Build Coastguard Worker {
119*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
120*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadDisplay();
121*8975f5c5SAndroid Build Coastguard Worker }
122*8975f5c5SAndroid Build Coastguard Worker 
getSupportedTimestamps() const123*8975f5c5SAndroid Build Coastguard Worker egl::SupportedTimestamps SurfaceImpl::getSupportedTimestamps() const
124*8975f5c5SAndroid Build Coastguard Worker {
125*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
126*8975f5c5SAndroid Build Coastguard Worker     return egl::SupportedTimestamps();
127*8975f5c5SAndroid Build Coastguard Worker }
128*8975f5c5SAndroid Build Coastguard Worker 
getFrameTimestamps(EGLuint64KHR frameId,EGLint numTimestamps,const EGLint * timestamps,EGLnsecsANDROID * values) const129*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::getFrameTimestamps(EGLuint64KHR frameId,
130*8975f5c5SAndroid Build Coastguard Worker                                            EGLint numTimestamps,
131*8975f5c5SAndroid Build Coastguard Worker                                            const EGLint *timestamps,
132*8975f5c5SAndroid Build Coastguard Worker                                            EGLnsecsANDROID *values) const
133*8975f5c5SAndroid Build Coastguard Worker {
134*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
135*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadDisplay();
136*8975f5c5SAndroid Build Coastguard Worker }
getUserWidth(const egl::Display * display,EGLint * value) const137*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::getUserWidth(const egl::Display *display, EGLint *value) const
138*8975f5c5SAndroid Build Coastguard Worker {
139*8975f5c5SAndroid Build Coastguard Worker     *value = getWidth();
140*8975f5c5SAndroid Build Coastguard Worker     return egl::NoError();
141*8975f5c5SAndroid Build Coastguard Worker }
142*8975f5c5SAndroid Build Coastguard Worker 
getUserHeight(const egl::Display * display,EGLint * value) const143*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::getUserHeight(const egl::Display *display, EGLint *value) const
144*8975f5c5SAndroid Build Coastguard Worker {
145*8975f5c5SAndroid Build Coastguard Worker     *value = getHeight();
146*8975f5c5SAndroid Build Coastguard Worker     return egl::NoError();
147*8975f5c5SAndroid Build Coastguard Worker }
148*8975f5c5SAndroid Build Coastguard Worker 
isPostSubBufferSupported() const149*8975f5c5SAndroid Build Coastguard Worker EGLint SurfaceImpl::isPostSubBufferSupported() const
150*8975f5c5SAndroid Build Coastguard Worker {
151*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
152*8975f5c5SAndroid Build Coastguard Worker     return EGL_FALSE;
153*8975f5c5SAndroid Build Coastguard Worker }
154*8975f5c5SAndroid Build Coastguard Worker 
getBufferAge(const gl::Context * context,EGLint * age)155*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::getBufferAge(const gl::Context *context, EGLint *age)
156*8975f5c5SAndroid Build Coastguard Worker {
157*8975f5c5SAndroid Build Coastguard Worker     *age = 0;
158*8975f5c5SAndroid Build Coastguard Worker     return egl::NoError();
159*8975f5c5SAndroid Build Coastguard Worker }
160*8975f5c5SAndroid Build Coastguard Worker 
setAutoRefreshEnabled(bool enabled)161*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::setAutoRefreshEnabled(bool enabled)
162*8975f5c5SAndroid Build Coastguard Worker {
163*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadMatch();
164*8975f5c5SAndroid Build Coastguard Worker }
165*8975f5c5SAndroid Build Coastguard Worker 
lockSurface(const egl::Display * display,EGLint usageHint,bool preservePixels,uint8_t ** bufferPtrOut,EGLint * bufferPitchOut)166*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::lockSurface(const egl::Display *display,
167*8975f5c5SAndroid Build Coastguard Worker                                     EGLint usageHint,
168*8975f5c5SAndroid Build Coastguard Worker                                     bool preservePixels,
169*8975f5c5SAndroid Build Coastguard Worker                                     uint8_t **bufferPtrOut,
170*8975f5c5SAndroid Build Coastguard Worker                                     EGLint *bufferPitchOut)
171*8975f5c5SAndroid Build Coastguard Worker {
172*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
173*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadMatch();
174*8975f5c5SAndroid Build Coastguard Worker }
175*8975f5c5SAndroid Build Coastguard Worker 
unlockSurface(const egl::Display * display,bool preservePixels)176*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::unlockSurface(const egl::Display *display, bool preservePixels)
177*8975f5c5SAndroid Build Coastguard Worker {
178*8975f5c5SAndroid Build Coastguard Worker     UNREACHABLE();
179*8975f5c5SAndroid Build Coastguard Worker     return egl::EglBadMatch();
180*8975f5c5SAndroid Build Coastguard Worker }
181*8975f5c5SAndroid Build Coastguard Worker 
origin() const182*8975f5c5SAndroid Build Coastguard Worker EGLint SurfaceImpl::origin() const
183*8975f5c5SAndroid Build Coastguard Worker {
184*8975f5c5SAndroid Build Coastguard Worker     return EGL_LOWER_LEFT_KHR;
185*8975f5c5SAndroid Build Coastguard Worker }
186*8975f5c5SAndroid Build Coastguard Worker 
setRenderBuffer(EGLint renderBuffer)187*8975f5c5SAndroid Build Coastguard Worker egl::Error SurfaceImpl::setRenderBuffer(EGLint renderBuffer)
188*8975f5c5SAndroid Build Coastguard Worker {
189*8975f5c5SAndroid Build Coastguard Worker     return egl::NoError();
190*8975f5c5SAndroid Build Coastguard Worker }
191*8975f5c5SAndroid Build Coastguard Worker }  // namespace rx
192