blob: 1a27dbc35299d85ae932ab47908376e5141e6478 [file] [log] [blame]
sergeyv8bd5edf2016-05-13 15:03:35 -07001/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#pragma once
18
19#include "FatalBaseDriver.h"
20
21namespace android {
22namespace uirenderer {
23namespace debug {
24
25class NullGlesDriver : public FatalBaseDriver {
26public:
Derek Sollenberger7e044fe2016-11-07 10:57:59 -050027 virtual sk_sp<const GrGLInterface> getSkiaInterface() override;
28
John Reck1bcacfd2017-11-03 10:12:19 -070029 virtual void glGenBuffers_(GLsizei n, GLuint* buffers) override;
30 virtual void glGenFramebuffers_(GLsizei n, GLuint* framebuffers) override;
31 virtual void glGenRenderbuffers_(GLsizei n, GLuint* renderbuffers) override;
32 virtual void glGenTextures_(GLsizei n, GLuint* textures) override;
sergeyv8bd5edf2016-05-13 15:03:35 -070033 virtual GLuint glCreateProgram_(void) override;
34 virtual GLuint glCreateShader_(GLenum type) override;
John Reck1bcacfd2017-11-03 10:12:19 -070035 virtual void glGetProgramiv_(GLuint program, GLenum pname, GLint* params) override;
36 virtual void glGetProgramInfoLog_(GLuint program, GLsizei bufSize, GLsizei* length,
37 GLchar* infoLog) override;
38 virtual void glGetShaderiv_(GLuint shader, GLenum pname, GLint* params) override;
39 virtual void glGetShaderInfoLog_(GLuint shader, GLsizei bufSize, GLsizei* length,
40 GLchar* infoLog) override;
sergeyv8bd5edf2016-05-13 15:03:35 -070041 virtual void glEnable_(GLenum cap) override;
42 virtual void glDisable_(GLenum cap) override;
43 virtual GLboolean glIsEnabled_(GLenum cap) override;
John Reck1bcacfd2017-11-03 10:12:19 -070044 virtual void glGetIntegerv_(GLenum pname, GLint* data) override;
sergeyv8bd5edf2016-05-13 15:03:35 -070045 virtual const GLubyte* glGetString_(GLenum name) override;
46 virtual GLenum glCheckFramebufferStatus_(GLenum target) override;
47
48 virtual void glActiveTexture_(GLenum texture) override {}
49 virtual void glAttachShader_(GLuint program, GLuint shader) override {}
John Reck1bcacfd2017-11-03 10:12:19 -070050 virtual void glBindAttribLocation_(GLuint program, GLuint index, const GLchar* name) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -070051 virtual void glBindBuffer_(GLenum target, GLuint buffer) override {}
52 virtual void glBindFramebuffer_(GLenum target, GLuint framebuffer) override {}
53 virtual void glBindRenderbuffer_(GLenum target, GLuint renderbuffer) override {}
54 virtual void glBindTexture_(GLenum target, GLuint texture) override {}
55 virtual void glBlendColor_(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) override {}
56 virtual void glBlendEquation_(GLenum mode) override {}
57 virtual void glBlendEquationSeparate_(GLenum modeRGB, GLenum modeAlpha) override {}
58 virtual void glBlendFunc_(GLenum sfactor, GLenum dfactor) override {}
John Reck1bcacfd2017-11-03 10:12:19 -070059 virtual void glBlendFuncSeparate_(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha,
60 GLenum dfactorAlpha) override {}
61 virtual void glBufferData_(GLenum target, GLsizeiptr size, const void* data,
62 GLenum usage) override {}
63 virtual void glBufferSubData_(GLenum target, GLintptr offset, GLsizeiptr size,
64 const void* data) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -070065 virtual void glClear_(GLbitfield mask) override {}
66 virtual void glClearColor_(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) override {}
67 virtual void glClearDepthf_(GLfloat d) override {}
68 virtual void glClearStencil_(GLint s) override {}
John Reck1bcacfd2017-11-03 10:12:19 -070069 virtual void glColorMask_(GLboolean red, GLboolean green, GLboolean blue,
70 GLboolean alpha) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -070071 virtual void glCompileShader_(GLuint shader) override {}
John Reck1bcacfd2017-11-03 10:12:19 -070072 virtual void glCompressedTexImage2D_(GLenum target, GLint level, GLenum internalformat,
73 GLsizei width, GLsizei height, GLint border,
74 GLsizei imageSize, const void* data) override {}
75 virtual void glCompressedTexSubImage2D_(GLenum target, GLint level, GLint xoffset,
76 GLint yoffset, GLsizei width, GLsizei height,
77 GLenum format, GLsizei imageSize,
78 const void* data) override {}
79 virtual void glCopyTexImage2D_(GLenum target, GLint level, GLenum internalformat, GLint x,
80 GLint y, GLsizei width, GLsizei height, GLint border) override {}
81 virtual void glCopyTexSubImage2D_(GLenum target, GLint level, GLint xoffset, GLint yoffset,
82 GLint x, GLint y, GLsizei width, GLsizei height) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -070083 virtual void glCullFace_(GLenum mode) override {}
John Reck1bcacfd2017-11-03 10:12:19 -070084 virtual void glDeleteBuffers_(GLsizei n, const GLuint* buffers) override {}
85 virtual void glDeleteFramebuffers_(GLsizei n, const GLuint* framebuffers) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -070086 virtual void glDeleteProgram_(GLuint program) override {}
John Reck1bcacfd2017-11-03 10:12:19 -070087 virtual void glDeleteRenderbuffers_(GLsizei n, const GLuint* renderbuffers) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -070088 virtual void glDeleteShader_(GLuint shader) override {}
John Reck1bcacfd2017-11-03 10:12:19 -070089 virtual void glDeleteTextures_(GLsizei n, const GLuint* textures) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -070090 virtual void glDepthFunc_(GLenum func) override {}
91 virtual void glDepthMask_(GLboolean flag) override {}
92 virtual void glDepthRangef_(GLfloat n, GLfloat f) override {}
93 virtual void glDetachShader_(GLuint program, GLuint shader) override {}
94 virtual void glDisableVertexAttribArray_(GLuint index) override {}
95 virtual void glDrawArrays_(GLenum mode, GLint first, GLsizei count) override {}
John Reck1bcacfd2017-11-03 10:12:19 -070096 virtual void glDrawElements_(GLenum mode, GLsizei count, GLenum type,
97 const void* indices) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -070098 virtual void glEnableVertexAttribArray_(GLuint index) override {}
99 virtual void glFinish_(void) override {}
100 virtual void glFlush_(void) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700101 virtual void glFramebufferRenderbuffer_(GLenum target, GLenum attachment,
102 GLenum renderbuffertarget,
103 GLuint renderbuffer) override {}
104 virtual void glFramebufferTexture2D_(GLenum target, GLenum attachment, GLenum textarget,
105 GLuint texture, GLint level) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700106 virtual void glFrontFace_(GLenum mode) override {}
107 virtual void glGenerateMipmap_(GLenum target) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700108 virtual GLint glGetAttribLocation_(GLuint program, const GLchar* name) override { return 1; }
sergeyv8bd5edf2016-05-13 15:03:35 -0700109 virtual GLenum glGetError_(void) override { return GL_NO_ERROR; }
John Reck1bcacfd2017-11-03 10:12:19 -0700110 virtual GLint glGetUniformLocation_(GLuint program, const GLchar* name) override { return 2; }
sergeyv8bd5edf2016-05-13 15:03:35 -0700111 virtual void glHint_(GLenum target, GLenum mode) override {}
112 virtual void glLineWidth_(GLfloat width) override {}
113 virtual void glLinkProgram_(GLuint program) override {}
114 virtual void glPixelStorei_(GLenum pname, GLint param) override {}
115 virtual void glPolygonOffset_(GLfloat factor, GLfloat units) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700116 virtual void glReadPixels_(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format,
117 GLenum type, void* pixels) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700118 virtual void glReleaseShaderCompiler_(void) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700119 virtual void glRenderbufferStorage_(GLenum target, GLenum internalformat, GLsizei width,
120 GLsizei height) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700121 virtual void glSampleCoverage_(GLfloat value, GLboolean invert) override {}
122 virtual void glScissor_(GLint x, GLint y, GLsizei width, GLsizei height) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700123 virtual void glShaderBinary_(GLsizei count, const GLuint* shaders, GLenum binaryformat,
124 const void* binary, GLsizei length) override {}
125 virtual void glShaderSource_(GLuint shader, GLsizei count, const GLchar* const* string,
126 const GLint* length) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700127 virtual void glStencilFunc_(GLenum func, GLint ref, GLuint mask) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700128 virtual void glStencilFuncSeparate_(GLenum face, GLenum func, GLint ref, GLuint mask) override {
129 }
sergeyv8bd5edf2016-05-13 15:03:35 -0700130 virtual void glStencilMask_(GLuint mask) override {}
131 virtual void glStencilMaskSeparate_(GLenum face, GLuint mask) override {}
132 virtual void glStencilOp_(GLenum fail, GLenum zfail, GLenum zpass) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700133 virtual void glStencilOpSeparate_(GLenum face, GLenum sfail, GLenum dpfail,
134 GLenum dppass) override {}
135 virtual void glTexImage2D_(GLenum target, GLint level, GLint internalformat, GLsizei width,
136 GLsizei height, GLint border, GLenum format, GLenum type,
137 const void* pixels) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700138 virtual void glTexParameterf_(GLenum target, GLenum pname, GLfloat param) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700139 virtual void glTexParameterfv_(GLenum target, GLenum pname, const GLfloat* params) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700140 virtual void glTexParameteri_(GLenum target, GLenum pname, GLint param) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700141 virtual void glTexParameteriv_(GLenum target, GLenum pname, const GLint* params) override {}
142 virtual void glTexSubImage2D_(GLenum target, GLint level, GLint xoffset, GLint yoffset,
143 GLsizei width, GLsizei height, GLenum format, GLenum type,
144 const void* pixels) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700145 virtual void glUniform1f_(GLint location, GLfloat v0) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700146 virtual void glUniform1fv_(GLint location, GLsizei count, const GLfloat* value) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700147 virtual void glUniform1i_(GLint location, GLint v0) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700148 virtual void glUniform1iv_(GLint location, GLsizei count, const GLint* value) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700149 virtual void glUniform2f_(GLint location, GLfloat v0, GLfloat v1) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700150 virtual void glUniform2fv_(GLint location, GLsizei count, const GLfloat* value) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700151 virtual void glUniform2i_(GLint location, GLint v0, GLint v1) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700152 virtual void glUniform2iv_(GLint location, GLsizei count, const GLint* value) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700153 virtual void glUniform3f_(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700154 virtual void glUniform3fv_(GLint location, GLsizei count, const GLfloat* value) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700155 virtual void glUniform3i_(GLint location, GLint v0, GLint v1, GLint v2) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700156 virtual void glUniform3iv_(GLint location, GLsizei count, const GLint* value) override {}
157 virtual void glUniform4f_(GLint location, GLfloat v0, GLfloat v1, GLfloat v2,
158 GLfloat v3) override {}
159 virtual void glUniform4fv_(GLint location, GLsizei count, const GLfloat* value) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700160 virtual void glUniform4i_(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700161 virtual void glUniform4iv_(GLint location, GLsizei count, const GLint* value) override {}
162 virtual void glUniformMatrix2fv_(GLint location, GLsizei count, GLboolean transpose,
163 const GLfloat* value) override {}
164 virtual void glUniformMatrix3fv_(GLint location, GLsizei count, GLboolean transpose,
165 const GLfloat* value) override {}
166 virtual void glUniformMatrix4fv_(GLint location, GLsizei count, GLboolean transpose,
167 const GLfloat* value) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700168 virtual void glUseProgram_(GLuint program) override {}
169 virtual void glValidateProgram_(GLuint program) override {}
170 virtual void glVertexAttrib1f_(GLuint index, GLfloat x) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700171 virtual void glVertexAttrib1fv_(GLuint index, const GLfloat* v) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700172 virtual void glVertexAttrib2f_(GLuint index, GLfloat x, GLfloat y) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700173 virtual void glVertexAttrib2fv_(GLuint index, const GLfloat* v) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700174 virtual void glVertexAttrib3f_(GLuint index, GLfloat x, GLfloat y, GLfloat z) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700175 virtual void glVertexAttrib3fv_(GLuint index, const GLfloat* v) override {}
176 virtual void glVertexAttrib4f_(GLuint index, GLfloat x, GLfloat y, GLfloat z,
177 GLfloat w) override {}
178 virtual void glVertexAttrib4fv_(GLuint index, const GLfloat* v) override {}
179 virtual void glVertexAttribPointer_(GLuint index, GLint size, GLenum type, GLboolean normalized,
180 GLsizei stride, const void* pointer) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700181 virtual void glViewport_(GLint x, GLint y, GLsizei width, GLsizei height) override {}
182
183 // gles2 ext
John Reck1bcacfd2017-11-03 10:12:19 -0700184 virtual void glInsertEventMarkerEXT_(GLsizei length, const GLchar* marker) override {}
185 virtual void glPushGroupMarkerEXT_(GLsizei length, const GLchar* marker) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700186 virtual void glPopGroupMarkerEXT_(void) override {}
John Reck1bcacfd2017-11-03 10:12:19 -0700187 virtual void glDiscardFramebufferEXT_(GLenum target, GLsizei numAttachments,
188 const GLenum* attachments) override {}
sergeyv8bd5edf2016-05-13 15:03:35 -0700189 virtual void glEGLImageTargetTexture2DOES_(GLenum target, GLeglImageOES image) override {}
190
191 // GLES3
John Reck1bcacfd2017-11-03 10:12:19 -0700192 virtual void* glMapBufferRange_(GLenum target, GLintptr offset, GLsizeiptr length,
193 GLbitfield access) override {
sergeyv8bd5edf2016-05-13 15:03:35 -0700194 return 0;
195 }
196
John Reck1bcacfd2017-11-03 10:12:19 -0700197 virtual GLboolean glUnmapBuffer_(GLenum target) override { return GL_FALSE; }
sergeyv8bd5edf2016-05-13 15:03:35 -0700198};
199
John Reck1bcacfd2017-11-03 10:12:19 -0700200} // namespace debug
201} // namespace uirenderer
202} // namespace android