sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 1 | /* |
| 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 | |
| 21 | namespace android { |
| 22 | namespace uirenderer { |
| 23 | namespace debug { |
| 24 | |
| 25 | class NullGlesDriver : public FatalBaseDriver { |
| 26 | public: |
Derek Sollenberger | 7e044fe | 2016-11-07 10:57:59 -0500 | [diff] [blame] | 27 | virtual sk_sp<const GrGLInterface> getSkiaInterface() override; |
| 28 | |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 29 | 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; |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 33 | virtual GLuint glCreateProgram_(void) override; |
| 34 | virtual GLuint glCreateShader_(GLenum type) override; |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 35 | 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; |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 41 | virtual void glEnable_(GLenum cap) override; |
| 42 | virtual void glDisable_(GLenum cap) override; |
| 43 | virtual GLboolean glIsEnabled_(GLenum cap) override; |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 44 | virtual void glGetIntegerv_(GLenum pname, GLint* data) override; |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 45 | 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 Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 50 | virtual void glBindAttribLocation_(GLuint program, GLuint index, const GLchar* name) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 51 | 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 Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 59 | 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 {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 65 | 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 Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 69 | virtual void glColorMask_(GLboolean red, GLboolean green, GLboolean blue, |
| 70 | GLboolean alpha) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 71 | virtual void glCompileShader_(GLuint shader) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 72 | 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 {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 83 | virtual void glCullFace_(GLenum mode) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 84 | virtual void glDeleteBuffers_(GLsizei n, const GLuint* buffers) override {} |
| 85 | virtual void glDeleteFramebuffers_(GLsizei n, const GLuint* framebuffers) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 86 | virtual void glDeleteProgram_(GLuint program) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 87 | virtual void glDeleteRenderbuffers_(GLsizei n, const GLuint* renderbuffers) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 88 | virtual void glDeleteShader_(GLuint shader) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 89 | virtual void glDeleteTextures_(GLsizei n, const GLuint* textures) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 90 | 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 Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 96 | virtual void glDrawElements_(GLenum mode, GLsizei count, GLenum type, |
| 97 | const void* indices) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 98 | virtual void glEnableVertexAttribArray_(GLuint index) override {} |
| 99 | virtual void glFinish_(void) override {} |
| 100 | virtual void glFlush_(void) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 101 | 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 {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 106 | virtual void glFrontFace_(GLenum mode) override {} |
| 107 | virtual void glGenerateMipmap_(GLenum target) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 108 | virtual GLint glGetAttribLocation_(GLuint program, const GLchar* name) override { return 1; } |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 109 | virtual GLenum glGetError_(void) override { return GL_NO_ERROR; } |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 110 | virtual GLint glGetUniformLocation_(GLuint program, const GLchar* name) override { return 2; } |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 111 | 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 Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 116 | virtual void glReadPixels_(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, |
| 117 | GLenum type, void* pixels) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 118 | virtual void glReleaseShaderCompiler_(void) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 119 | virtual void glRenderbufferStorage_(GLenum target, GLenum internalformat, GLsizei width, |
| 120 | GLsizei height) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 121 | virtual void glSampleCoverage_(GLfloat value, GLboolean invert) override {} |
| 122 | virtual void glScissor_(GLint x, GLint y, GLsizei width, GLsizei height) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 123 | 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 {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 127 | virtual void glStencilFunc_(GLenum func, GLint ref, GLuint mask) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 128 | virtual void glStencilFuncSeparate_(GLenum face, GLenum func, GLint ref, GLuint mask) override { |
| 129 | } |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 130 | 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 Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 133 | 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 {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 138 | virtual void glTexParameterf_(GLenum target, GLenum pname, GLfloat param) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 139 | virtual void glTexParameterfv_(GLenum target, GLenum pname, const GLfloat* params) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 140 | virtual void glTexParameteri_(GLenum target, GLenum pname, GLint param) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 141 | 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 {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 145 | virtual void glUniform1f_(GLint location, GLfloat v0) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 146 | virtual void glUniform1fv_(GLint location, GLsizei count, const GLfloat* value) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 147 | virtual void glUniform1i_(GLint location, GLint v0) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 148 | virtual void glUniform1iv_(GLint location, GLsizei count, const GLint* value) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 149 | virtual void glUniform2f_(GLint location, GLfloat v0, GLfloat v1) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 150 | virtual void glUniform2fv_(GLint location, GLsizei count, const GLfloat* value) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 151 | virtual void glUniform2i_(GLint location, GLint v0, GLint v1) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 152 | virtual void glUniform2iv_(GLint location, GLsizei count, const GLint* value) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 153 | virtual void glUniform3f_(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 154 | virtual void glUniform3fv_(GLint location, GLsizei count, const GLfloat* value) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 155 | virtual void glUniform3i_(GLint location, GLint v0, GLint v1, GLint v2) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 156 | 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 {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 160 | virtual void glUniform4i_(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 161 | 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 {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 168 | virtual void glUseProgram_(GLuint program) override {} |
| 169 | virtual void glValidateProgram_(GLuint program) override {} |
| 170 | virtual void glVertexAttrib1f_(GLuint index, GLfloat x) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 171 | virtual void glVertexAttrib1fv_(GLuint index, const GLfloat* v) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 172 | virtual void glVertexAttrib2f_(GLuint index, GLfloat x, GLfloat y) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 173 | virtual void glVertexAttrib2fv_(GLuint index, const GLfloat* v) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 174 | virtual void glVertexAttrib3f_(GLuint index, GLfloat x, GLfloat y, GLfloat z) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 175 | 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 {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 181 | virtual void glViewport_(GLint x, GLint y, GLsizei width, GLsizei height) override {} |
| 182 | |
| 183 | // gles2 ext |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 184 | virtual void glInsertEventMarkerEXT_(GLsizei length, const GLchar* marker) override {} |
| 185 | virtual void glPushGroupMarkerEXT_(GLsizei length, const GLchar* marker) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 186 | virtual void glPopGroupMarkerEXT_(void) override {} |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 187 | virtual void glDiscardFramebufferEXT_(GLenum target, GLsizei numAttachments, |
| 188 | const GLenum* attachments) override {} |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 189 | virtual void glEGLImageTargetTexture2DOES_(GLenum target, GLeglImageOES image) override {} |
| 190 | |
| 191 | // GLES3 |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 192 | virtual void* glMapBufferRange_(GLenum target, GLintptr offset, GLsizeiptr length, |
| 193 | GLbitfield access) override { |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 194 | return 0; |
| 195 | } |
| 196 | |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 197 | virtual GLboolean glUnmapBuffer_(GLenum target) override { return GL_FALSE; } |
sergeyv | 8bd5edf | 2016-05-13 15:03:35 -0700 | [diff] [blame] | 198 | }; |
| 199 | |
John Reck | 1bcacfd | 2017-11-03 10:12:19 -0700 | [diff] [blame^] | 200 | } // namespace debug |
| 201 | } // namespace uirenderer |
| 202 | } // namespace android |