xref: /aosp_15_r20/external/angle/src/libANGLE/renderer/null/ContextNULL.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker //
2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2016 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 // ContextNULL.h:
7*8975f5c5SAndroid Build Coastguard Worker //    Defines the class interface for ContextNULL, implementing ContextImpl.
8*8975f5c5SAndroid Build Coastguard Worker //
9*8975f5c5SAndroid Build Coastguard Worker 
10*8975f5c5SAndroid Build Coastguard Worker #ifndef LIBANGLE_RENDERER_NULL_CONTEXTNULL_H_
11*8975f5c5SAndroid Build Coastguard Worker #define LIBANGLE_RENDERER_NULL_CONTEXTNULL_H_
12*8975f5c5SAndroid Build Coastguard Worker 
13*8975f5c5SAndroid Build Coastguard Worker #include "libANGLE/renderer/ContextImpl.h"
14*8975f5c5SAndroid Build Coastguard Worker 
15*8975f5c5SAndroid Build Coastguard Worker namespace rx
16*8975f5c5SAndroid Build Coastguard Worker {
17*8975f5c5SAndroid Build Coastguard Worker 
18*8975f5c5SAndroid Build Coastguard Worker class AllocationTrackerNULL : angle::NonCopyable
19*8975f5c5SAndroid Build Coastguard Worker {
20*8975f5c5SAndroid Build Coastguard Worker   public:
21*8975f5c5SAndroid Build Coastguard Worker     explicit AllocationTrackerNULL(size_t maxTotalAllocationSize);
22*8975f5c5SAndroid Build Coastguard Worker     ~AllocationTrackerNULL();
23*8975f5c5SAndroid Build Coastguard Worker 
24*8975f5c5SAndroid Build Coastguard Worker     // Check if it is possible to change an allocation from oldSize to newSize.  If it is possible,
25*8975f5c5SAndroid Build Coastguard Worker     // the allocation is registered and true is returned else false is returned.
26*8975f5c5SAndroid Build Coastguard Worker     bool updateMemoryAllocation(size_t oldSize, size_t newSize);
27*8975f5c5SAndroid Build Coastguard Worker 
28*8975f5c5SAndroid Build Coastguard Worker   private:
29*8975f5c5SAndroid Build Coastguard Worker     size_t mAllocatedBytes;
30*8975f5c5SAndroid Build Coastguard Worker     const size_t mMaxBytes;
31*8975f5c5SAndroid Build Coastguard Worker };
32*8975f5c5SAndroid Build Coastguard Worker 
33*8975f5c5SAndroid Build Coastguard Worker class ContextNULL : public ContextImpl
34*8975f5c5SAndroid Build Coastguard Worker {
35*8975f5c5SAndroid Build Coastguard Worker   public:
36*8975f5c5SAndroid Build Coastguard Worker     ContextNULL(const gl::State &state,
37*8975f5c5SAndroid Build Coastguard Worker                 gl::ErrorSet *errorSet,
38*8975f5c5SAndroid Build Coastguard Worker                 AllocationTrackerNULL *allocationTracker);
39*8975f5c5SAndroid Build Coastguard Worker     ~ContextNULL() override;
40*8975f5c5SAndroid Build Coastguard Worker 
41*8975f5c5SAndroid Build Coastguard Worker     angle::Result initialize(const angle::ImageLoadContext &imageLoadContext) override;
42*8975f5c5SAndroid Build Coastguard Worker 
43*8975f5c5SAndroid Build Coastguard Worker     // Flush and finish.
44*8975f5c5SAndroid Build Coastguard Worker     angle::Result flush(const gl::Context *context) override;
45*8975f5c5SAndroid Build Coastguard Worker     angle::Result finish(const gl::Context *context) override;
46*8975f5c5SAndroid Build Coastguard Worker 
47*8975f5c5SAndroid Build Coastguard Worker     // Drawing methods.
48*8975f5c5SAndroid Build Coastguard Worker     angle::Result drawArrays(const gl::Context *context,
49*8975f5c5SAndroid Build Coastguard Worker                              gl::PrimitiveMode mode,
50*8975f5c5SAndroid Build Coastguard Worker                              GLint first,
51*8975f5c5SAndroid Build Coastguard Worker                              GLsizei count) override;
52*8975f5c5SAndroid Build Coastguard Worker     angle::Result drawArraysInstanced(const gl::Context *context,
53*8975f5c5SAndroid Build Coastguard Worker                                       gl::PrimitiveMode mode,
54*8975f5c5SAndroid Build Coastguard Worker                                       GLint first,
55*8975f5c5SAndroid Build Coastguard Worker                                       GLsizei count,
56*8975f5c5SAndroid Build Coastguard Worker                                       GLsizei instanceCount) override;
57*8975f5c5SAndroid Build Coastguard Worker     angle::Result drawArraysInstancedBaseInstance(const gl::Context *context,
58*8975f5c5SAndroid Build Coastguard Worker                                                   gl::PrimitiveMode mode,
59*8975f5c5SAndroid Build Coastguard Worker                                                   GLint first,
60*8975f5c5SAndroid Build Coastguard Worker                                                   GLsizei count,
61*8975f5c5SAndroid Build Coastguard Worker                                                   GLsizei instanceCount,
62*8975f5c5SAndroid Build Coastguard Worker                                                   GLuint baseInstance) override;
63*8975f5c5SAndroid Build Coastguard Worker 
64*8975f5c5SAndroid Build Coastguard Worker     angle::Result drawElements(const gl::Context *context,
65*8975f5c5SAndroid Build Coastguard Worker                                gl::PrimitiveMode mode,
66*8975f5c5SAndroid Build Coastguard Worker                                GLsizei count,
67*8975f5c5SAndroid Build Coastguard Worker                                gl::DrawElementsType type,
68*8975f5c5SAndroid Build Coastguard Worker                                const void *indices) override;
69*8975f5c5SAndroid Build Coastguard Worker     angle::Result drawElementsBaseVertex(const gl::Context *context,
70*8975f5c5SAndroid Build Coastguard Worker                                          gl::PrimitiveMode mode,
71*8975f5c5SAndroid Build Coastguard Worker                                          GLsizei count,
72*8975f5c5SAndroid Build Coastguard Worker                                          gl::DrawElementsType type,
73*8975f5c5SAndroid Build Coastguard Worker                                          const void *indices,
74*8975f5c5SAndroid Build Coastguard Worker                                          GLint baseVertex) override;
75*8975f5c5SAndroid Build Coastguard Worker     angle::Result drawElementsInstanced(const gl::Context *context,
76*8975f5c5SAndroid Build Coastguard Worker                                         gl::PrimitiveMode mode,
77*8975f5c5SAndroid Build Coastguard Worker                                         GLsizei count,
78*8975f5c5SAndroid Build Coastguard Worker                                         gl::DrawElementsType type,
79*8975f5c5SAndroid Build Coastguard Worker                                         const void *indices,
80*8975f5c5SAndroid Build Coastguard Worker                                         GLsizei instances) override;
81*8975f5c5SAndroid Build Coastguard Worker     angle::Result drawElementsInstancedBaseVertex(const gl::Context *context,
82*8975f5c5SAndroid Build Coastguard Worker                                                   gl::PrimitiveMode mode,
83*8975f5c5SAndroid Build Coastguard Worker                                                   GLsizei count,
84*8975f5c5SAndroid Build Coastguard Worker                                                   gl::DrawElementsType type,
85*8975f5c5SAndroid Build Coastguard Worker                                                   const void *indices,
86*8975f5c5SAndroid Build Coastguard Worker                                                   GLsizei instances,
87*8975f5c5SAndroid Build Coastguard Worker                                                   GLint baseVertex) override;
88*8975f5c5SAndroid Build Coastguard Worker     angle::Result drawElementsInstancedBaseVertexBaseInstance(const gl::Context *context,
89*8975f5c5SAndroid Build Coastguard Worker                                                               gl::PrimitiveMode mode,
90*8975f5c5SAndroid Build Coastguard Worker                                                               GLsizei count,
91*8975f5c5SAndroid Build Coastguard Worker                                                               gl::DrawElementsType type,
92*8975f5c5SAndroid Build Coastguard Worker                                                               const void *indices,
93*8975f5c5SAndroid Build Coastguard Worker                                                               GLsizei instances,
94*8975f5c5SAndroid Build Coastguard Worker                                                               GLint baseVertex,
95*8975f5c5SAndroid Build Coastguard Worker                                                               GLuint baseInstance) override;
96*8975f5c5SAndroid Build Coastguard Worker     angle::Result drawRangeElements(const gl::Context *context,
97*8975f5c5SAndroid Build Coastguard Worker                                     gl::PrimitiveMode mode,
98*8975f5c5SAndroid Build Coastguard Worker                                     GLuint start,
99*8975f5c5SAndroid Build Coastguard Worker                                     GLuint end,
100*8975f5c5SAndroid Build Coastguard Worker                                     GLsizei count,
101*8975f5c5SAndroid Build Coastguard Worker                                     gl::DrawElementsType type,
102*8975f5c5SAndroid Build Coastguard Worker                                     const void *indices) override;
103*8975f5c5SAndroid Build Coastguard Worker     angle::Result drawRangeElementsBaseVertex(const gl::Context *context,
104*8975f5c5SAndroid Build Coastguard Worker                                               gl::PrimitiveMode mode,
105*8975f5c5SAndroid Build Coastguard Worker                                               GLuint start,
106*8975f5c5SAndroid Build Coastguard Worker                                               GLuint end,
107*8975f5c5SAndroid Build Coastguard Worker                                               GLsizei count,
108*8975f5c5SAndroid Build Coastguard Worker                                               gl::DrawElementsType type,
109*8975f5c5SAndroid Build Coastguard Worker                                               const void *indices,
110*8975f5c5SAndroid Build Coastguard Worker                                               GLint baseVertex) override;
111*8975f5c5SAndroid Build Coastguard Worker     angle::Result drawArraysIndirect(const gl::Context *context,
112*8975f5c5SAndroid Build Coastguard Worker                                      gl::PrimitiveMode mode,
113*8975f5c5SAndroid Build Coastguard Worker                                      const void *indirect) override;
114*8975f5c5SAndroid Build Coastguard Worker     angle::Result drawElementsIndirect(const gl::Context *context,
115*8975f5c5SAndroid Build Coastguard Worker                                        gl::PrimitiveMode mode,
116*8975f5c5SAndroid Build Coastguard Worker                                        gl::DrawElementsType type,
117*8975f5c5SAndroid Build Coastguard Worker                                        const void *indirect) override;
118*8975f5c5SAndroid Build Coastguard Worker 
119*8975f5c5SAndroid Build Coastguard Worker     angle::Result multiDrawArrays(const gl::Context *context,
120*8975f5c5SAndroid Build Coastguard Worker                                   gl::PrimitiveMode mode,
121*8975f5c5SAndroid Build Coastguard Worker                                   const GLint *firsts,
122*8975f5c5SAndroid Build Coastguard Worker                                   const GLsizei *counts,
123*8975f5c5SAndroid Build Coastguard Worker                                   GLsizei drawcount) override;
124*8975f5c5SAndroid Build Coastguard Worker     angle::Result multiDrawArraysInstanced(const gl::Context *context,
125*8975f5c5SAndroid Build Coastguard Worker                                            gl::PrimitiveMode mode,
126*8975f5c5SAndroid Build Coastguard Worker                                            const GLint *firsts,
127*8975f5c5SAndroid Build Coastguard Worker                                            const GLsizei *counts,
128*8975f5c5SAndroid Build Coastguard Worker                                            const GLsizei *instanceCounts,
129*8975f5c5SAndroid Build Coastguard Worker                                            GLsizei drawcount) override;
130*8975f5c5SAndroid Build Coastguard Worker     angle::Result multiDrawArraysIndirect(const gl::Context *context,
131*8975f5c5SAndroid Build Coastguard Worker                                           gl::PrimitiveMode mode,
132*8975f5c5SAndroid Build Coastguard Worker                                           const void *indirect,
133*8975f5c5SAndroid Build Coastguard Worker                                           GLsizei drawcount,
134*8975f5c5SAndroid Build Coastguard Worker                                           GLsizei stride) override;
135*8975f5c5SAndroid Build Coastguard Worker     angle::Result multiDrawElements(const gl::Context *context,
136*8975f5c5SAndroid Build Coastguard Worker                                     gl::PrimitiveMode mode,
137*8975f5c5SAndroid Build Coastguard Worker                                     const GLsizei *counts,
138*8975f5c5SAndroid Build Coastguard Worker                                     gl::DrawElementsType type,
139*8975f5c5SAndroid Build Coastguard Worker                                     const GLvoid *const *indices,
140*8975f5c5SAndroid Build Coastguard Worker                                     GLsizei drawcount) override;
141*8975f5c5SAndroid Build Coastguard Worker     angle::Result multiDrawElementsInstanced(const gl::Context *context,
142*8975f5c5SAndroid Build Coastguard Worker                                              gl::PrimitiveMode mode,
143*8975f5c5SAndroid Build Coastguard Worker                                              const GLsizei *counts,
144*8975f5c5SAndroid Build Coastguard Worker                                              gl::DrawElementsType type,
145*8975f5c5SAndroid Build Coastguard Worker                                              const GLvoid *const *indices,
146*8975f5c5SAndroid Build Coastguard Worker                                              const GLsizei *instanceCounts,
147*8975f5c5SAndroid Build Coastguard Worker                                              GLsizei drawcount) override;
148*8975f5c5SAndroid Build Coastguard Worker     angle::Result multiDrawElementsIndirect(const gl::Context *context,
149*8975f5c5SAndroid Build Coastguard Worker                                             gl::PrimitiveMode mode,
150*8975f5c5SAndroid Build Coastguard Worker                                             gl::DrawElementsType type,
151*8975f5c5SAndroid Build Coastguard Worker                                             const void *indirect,
152*8975f5c5SAndroid Build Coastguard Worker                                             GLsizei drawcount,
153*8975f5c5SAndroid Build Coastguard Worker                                             GLsizei stride) override;
154*8975f5c5SAndroid Build Coastguard Worker     angle::Result multiDrawArraysInstancedBaseInstance(const gl::Context *context,
155*8975f5c5SAndroid Build Coastguard Worker                                                        gl::PrimitiveMode mode,
156*8975f5c5SAndroid Build Coastguard Worker                                                        const GLint *firsts,
157*8975f5c5SAndroid Build Coastguard Worker                                                        const GLsizei *counts,
158*8975f5c5SAndroid Build Coastguard Worker                                                        const GLsizei *instanceCounts,
159*8975f5c5SAndroid Build Coastguard Worker                                                        const GLuint *baseInstances,
160*8975f5c5SAndroid Build Coastguard Worker                                                        GLsizei drawcount) override;
161*8975f5c5SAndroid Build Coastguard Worker     angle::Result multiDrawElementsInstancedBaseVertexBaseInstance(const gl::Context *context,
162*8975f5c5SAndroid Build Coastguard Worker                                                                    gl::PrimitiveMode mode,
163*8975f5c5SAndroid Build Coastguard Worker                                                                    const GLsizei *counts,
164*8975f5c5SAndroid Build Coastguard Worker                                                                    gl::DrawElementsType type,
165*8975f5c5SAndroid Build Coastguard Worker                                                                    const GLvoid *const *indices,
166*8975f5c5SAndroid Build Coastguard Worker                                                                    const GLsizei *instanceCounts,
167*8975f5c5SAndroid Build Coastguard Worker                                                                    const GLint *baseVertices,
168*8975f5c5SAndroid Build Coastguard Worker                                                                    const GLuint *baseInstances,
169*8975f5c5SAndroid Build Coastguard Worker                                                                    GLsizei drawcount) override;
170*8975f5c5SAndroid Build Coastguard Worker 
171*8975f5c5SAndroid Build Coastguard Worker     // Device loss
172*8975f5c5SAndroid Build Coastguard Worker     gl::GraphicsResetStatus getResetStatus() override;
173*8975f5c5SAndroid Build Coastguard Worker 
174*8975f5c5SAndroid Build Coastguard Worker     // EXT_debug_marker
175*8975f5c5SAndroid Build Coastguard Worker     angle::Result insertEventMarker(GLsizei length, const char *marker) override;
176*8975f5c5SAndroid Build Coastguard Worker     angle::Result pushGroupMarker(GLsizei length, const char *marker) override;
177*8975f5c5SAndroid Build Coastguard Worker     angle::Result popGroupMarker() override;
178*8975f5c5SAndroid Build Coastguard Worker 
179*8975f5c5SAndroid Build Coastguard Worker     // KHR_debug
180*8975f5c5SAndroid Build Coastguard Worker     angle::Result pushDebugGroup(const gl::Context *context,
181*8975f5c5SAndroid Build Coastguard Worker                                  GLenum source,
182*8975f5c5SAndroid Build Coastguard Worker                                  GLuint id,
183*8975f5c5SAndroid Build Coastguard Worker                                  const std::string &message) override;
184*8975f5c5SAndroid Build Coastguard Worker     angle::Result popDebugGroup(const gl::Context *context) override;
185*8975f5c5SAndroid Build Coastguard Worker 
186*8975f5c5SAndroid Build Coastguard Worker     // State sync with dirty bits.
187*8975f5c5SAndroid Build Coastguard Worker     angle::Result syncState(const gl::Context *context,
188*8975f5c5SAndroid Build Coastguard Worker                             const gl::state::DirtyBits dirtyBits,
189*8975f5c5SAndroid Build Coastguard Worker                             const gl::state::DirtyBits bitMask,
190*8975f5c5SAndroid Build Coastguard Worker                             const gl::state::ExtendedDirtyBits extendedDirtyBits,
191*8975f5c5SAndroid Build Coastguard Worker                             const gl::state::ExtendedDirtyBits extendedBitMask,
192*8975f5c5SAndroid Build Coastguard Worker                             gl::Command command) override;
193*8975f5c5SAndroid Build Coastguard Worker 
194*8975f5c5SAndroid Build Coastguard Worker     // Disjoint timer queries
195*8975f5c5SAndroid Build Coastguard Worker     GLint getGPUDisjoint() override;
196*8975f5c5SAndroid Build Coastguard Worker     GLint64 getTimestamp() override;
197*8975f5c5SAndroid Build Coastguard Worker 
198*8975f5c5SAndroid Build Coastguard Worker     // Context switching
199*8975f5c5SAndroid Build Coastguard Worker     angle::Result onMakeCurrent(const gl::Context *context) override;
200*8975f5c5SAndroid Build Coastguard Worker 
201*8975f5c5SAndroid Build Coastguard Worker     // Native capabilities, unmodified by gl::Context.
202*8975f5c5SAndroid Build Coastguard Worker     gl::Caps getNativeCaps() const override;
203*8975f5c5SAndroid Build Coastguard Worker     const gl::TextureCapsMap &getNativeTextureCaps() const override;
204*8975f5c5SAndroid Build Coastguard Worker     const gl::Extensions &getNativeExtensions() const override;
205*8975f5c5SAndroid Build Coastguard Worker     const gl::Limitations &getNativeLimitations() const override;
206*8975f5c5SAndroid Build Coastguard Worker     const ShPixelLocalStorageOptions &getNativePixelLocalStorageOptions() const override;
207*8975f5c5SAndroid Build Coastguard Worker 
208*8975f5c5SAndroid Build Coastguard Worker     // Shader creation
209*8975f5c5SAndroid Build Coastguard Worker     CompilerImpl *createCompiler() override;
210*8975f5c5SAndroid Build Coastguard Worker     ShaderImpl *createShader(const gl::ShaderState &data) override;
211*8975f5c5SAndroid Build Coastguard Worker     ProgramImpl *createProgram(const gl::ProgramState &data) override;
212*8975f5c5SAndroid Build Coastguard Worker     ProgramExecutableImpl *createProgramExecutable(
213*8975f5c5SAndroid Build Coastguard Worker         const gl::ProgramExecutable *executable) override;
214*8975f5c5SAndroid Build Coastguard Worker 
215*8975f5c5SAndroid Build Coastguard Worker     // Framebuffer creation
216*8975f5c5SAndroid Build Coastguard Worker     FramebufferImpl *createFramebuffer(const gl::FramebufferState &data) override;
217*8975f5c5SAndroid Build Coastguard Worker 
218*8975f5c5SAndroid Build Coastguard Worker     // Texture creation
219*8975f5c5SAndroid Build Coastguard Worker     TextureImpl *createTexture(const gl::TextureState &state) override;
220*8975f5c5SAndroid Build Coastguard Worker 
221*8975f5c5SAndroid Build Coastguard Worker     // Renderbuffer creation
222*8975f5c5SAndroid Build Coastguard Worker     RenderbufferImpl *createRenderbuffer(const gl::RenderbufferState &state) override;
223*8975f5c5SAndroid Build Coastguard Worker 
224*8975f5c5SAndroid Build Coastguard Worker     // Buffer creation
225*8975f5c5SAndroid Build Coastguard Worker     BufferImpl *createBuffer(const gl::BufferState &state) override;
226*8975f5c5SAndroid Build Coastguard Worker 
227*8975f5c5SAndroid Build Coastguard Worker     // Vertex Array creation
228*8975f5c5SAndroid Build Coastguard Worker     VertexArrayImpl *createVertexArray(const gl::VertexArrayState &data) override;
229*8975f5c5SAndroid Build Coastguard Worker 
230*8975f5c5SAndroid Build Coastguard Worker     // Query and Fence creation
231*8975f5c5SAndroid Build Coastguard Worker     QueryImpl *createQuery(gl::QueryType type) override;
232*8975f5c5SAndroid Build Coastguard Worker     FenceNVImpl *createFenceNV() override;
233*8975f5c5SAndroid Build Coastguard Worker     SyncImpl *createSync() override;
234*8975f5c5SAndroid Build Coastguard Worker 
235*8975f5c5SAndroid Build Coastguard Worker     // Transform Feedback creation
236*8975f5c5SAndroid Build Coastguard Worker     TransformFeedbackImpl *createTransformFeedback(
237*8975f5c5SAndroid Build Coastguard Worker         const gl::TransformFeedbackState &state) override;
238*8975f5c5SAndroid Build Coastguard Worker 
239*8975f5c5SAndroid Build Coastguard Worker     // Sampler object creation
240*8975f5c5SAndroid Build Coastguard Worker     SamplerImpl *createSampler(const gl::SamplerState &state) override;
241*8975f5c5SAndroid Build Coastguard Worker 
242*8975f5c5SAndroid Build Coastguard Worker     // Program Pipeline object creation
243*8975f5c5SAndroid Build Coastguard Worker     ProgramPipelineImpl *createProgramPipeline(const gl::ProgramPipelineState &data) override;
244*8975f5c5SAndroid Build Coastguard Worker 
245*8975f5c5SAndroid Build Coastguard Worker     // Memory object creation.
246*8975f5c5SAndroid Build Coastguard Worker     MemoryObjectImpl *createMemoryObject() override;
247*8975f5c5SAndroid Build Coastguard Worker 
248*8975f5c5SAndroid Build Coastguard Worker     // Semaphore creation.
249*8975f5c5SAndroid Build Coastguard Worker     SemaphoreImpl *createSemaphore() override;
250*8975f5c5SAndroid Build Coastguard Worker 
251*8975f5c5SAndroid Build Coastguard Worker     // Overlay creation.
252*8975f5c5SAndroid Build Coastguard Worker     OverlayImpl *createOverlay(const gl::OverlayState &state) override;
253*8975f5c5SAndroid Build Coastguard Worker 
254*8975f5c5SAndroid Build Coastguard Worker     angle::Result dispatchCompute(const gl::Context *context,
255*8975f5c5SAndroid Build Coastguard Worker                                   GLuint numGroupsX,
256*8975f5c5SAndroid Build Coastguard Worker                                   GLuint numGroupsY,
257*8975f5c5SAndroid Build Coastguard Worker                                   GLuint numGroupsZ) override;
258*8975f5c5SAndroid Build Coastguard Worker     angle::Result dispatchComputeIndirect(const gl::Context *context, GLintptr indirect) override;
259*8975f5c5SAndroid Build Coastguard Worker 
260*8975f5c5SAndroid Build Coastguard Worker     angle::Result memoryBarrier(const gl::Context *context, GLbitfield barriers) override;
261*8975f5c5SAndroid Build Coastguard Worker     angle::Result memoryBarrierByRegion(const gl::Context *context, GLbitfield barriers) override;
262*8975f5c5SAndroid Build Coastguard Worker 
263*8975f5c5SAndroid Build Coastguard Worker     void handleError(GLenum errorCode,
264*8975f5c5SAndroid Build Coastguard Worker                      const char *message,
265*8975f5c5SAndroid Build Coastguard Worker                      const char *file,
266*8975f5c5SAndroid Build Coastguard Worker                      const char *function,
267*8975f5c5SAndroid Build Coastguard Worker                      unsigned int line);
268*8975f5c5SAndroid Build Coastguard Worker 
269*8975f5c5SAndroid Build Coastguard Worker   private:
270*8975f5c5SAndroid Build Coastguard Worker     gl::Caps mCaps;
271*8975f5c5SAndroid Build Coastguard Worker     gl::TextureCapsMap mTextureCaps;
272*8975f5c5SAndroid Build Coastguard Worker     gl::Extensions mExtensions;
273*8975f5c5SAndroid Build Coastguard Worker     gl::Limitations mLimitations;
274*8975f5c5SAndroid Build Coastguard Worker     ShPixelLocalStorageOptions mPLSOptions;
275*8975f5c5SAndroid Build Coastguard Worker 
276*8975f5c5SAndroid Build Coastguard Worker     AllocationTrackerNULL *mAllocationTracker;
277*8975f5c5SAndroid Build Coastguard Worker };
278*8975f5c5SAndroid Build Coastguard Worker 
279*8975f5c5SAndroid Build Coastguard Worker }  // namespace rx
280*8975f5c5SAndroid Build Coastguard Worker 
281*8975f5c5SAndroid Build Coastguard Worker #endif  // LIBANGLE_RENDERER_NULL_CONTEXTNULL_H_
282