| /* |
| * Copyright (C) 2016 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #pragma once |
| |
| #include "FatalBaseDriver.h" |
| |
| namespace android { |
| namespace uirenderer { |
| namespace debug { |
| |
| class NullGlesDriver : public FatalBaseDriver { |
| public: |
| virtual sk_sp<const GrGLInterface> getSkiaInterface() override; |
| |
| virtual void glGenBuffers_(GLsizei n, GLuint *buffers) override; |
| virtual void glGenFramebuffers_(GLsizei n, GLuint *framebuffers) override; |
| virtual void glGenRenderbuffers_(GLsizei n, GLuint *renderbuffers) override; |
| virtual void glGenTextures_(GLsizei n, GLuint *textures) override; |
| virtual GLuint glCreateProgram_(void) override; |
| virtual GLuint glCreateShader_(GLenum type) override; |
| virtual void glGetProgramiv_(GLuint program, GLenum pname, GLint *params) override; |
| virtual void glGetProgramInfoLog_(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) override; |
| virtual void glGetShaderiv_(GLuint shader, GLenum pname, GLint *params) override; |
| virtual void glGetShaderInfoLog_(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) override; |
| virtual void glEnable_(GLenum cap) override; |
| virtual void glDisable_(GLenum cap) override; |
| virtual GLboolean glIsEnabled_(GLenum cap) override; |
| virtual void glGetIntegerv_(GLenum pname, GLint *data) override; |
| virtual const GLubyte* glGetString_(GLenum name) override; |
| virtual GLenum glCheckFramebufferStatus_(GLenum target) override; |
| |
| virtual void glActiveTexture_(GLenum texture) override {} |
| virtual void glAttachShader_(GLuint program, GLuint shader) override {} |
| virtual void glBindAttribLocation_(GLuint program, GLuint index, const GLchar *name) override {} |
| virtual void glBindBuffer_(GLenum target, GLuint buffer) override {} |
| virtual void glBindFramebuffer_(GLenum target, GLuint framebuffer) override {} |
| virtual void glBindRenderbuffer_(GLenum target, GLuint renderbuffer) override {} |
| virtual void glBindTexture_(GLenum target, GLuint texture) override {} |
| virtual void glBlendColor_(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) override {} |
| virtual void glBlendEquation_(GLenum mode) override {} |
| virtual void glBlendEquationSeparate_(GLenum modeRGB, GLenum modeAlpha) override {} |
| virtual void glBlendFunc_(GLenum sfactor, GLenum dfactor) override {} |
| virtual void glBlendFuncSeparate_(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) override {} |
| virtual void glBufferData_(GLenum target, GLsizeiptr size, const void *data, GLenum usage) override {} |
| virtual void glBufferSubData_(GLenum target, GLintptr offset, GLsizeiptr size, const void *data) override {} |
| virtual void glClear_(GLbitfield mask) override {} |
| virtual void glClearColor_(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) override {} |
| virtual void glClearDepthf_(GLfloat d) override {} |
| virtual void glClearStencil_(GLint s) override {} |
| virtual void glColorMask_(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) override {} |
| virtual void glCompileShader_(GLuint shader) override {} |
| virtual void glCompressedTexImage2D_(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data) override {} |
| virtual void glCompressedTexSubImage2D_(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data) override {} |
| virtual void glCopyTexImage2D_(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) override {} |
| virtual void glCopyTexSubImage2D_(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) override {} |
| virtual void glCullFace_(GLenum mode) override {} |
| virtual void glDeleteBuffers_(GLsizei n, const GLuint *buffers) override {} |
| virtual void glDeleteFramebuffers_(GLsizei n, const GLuint *framebuffers) override {} |
| virtual void glDeleteProgram_(GLuint program) override {} |
| virtual void glDeleteRenderbuffers_(GLsizei n, const GLuint *renderbuffers) override {} |
| virtual void glDeleteShader_(GLuint shader) override {} |
| virtual void glDeleteTextures_(GLsizei n, const GLuint *textures) override {} |
| virtual void glDepthFunc_(GLenum func) override {} |
| virtual void glDepthMask_(GLboolean flag) override {} |
| virtual void glDepthRangef_(GLfloat n, GLfloat f) override {} |
| virtual void glDetachShader_(GLuint program, GLuint shader) override {} |
| virtual void glDisableVertexAttribArray_(GLuint index) override {} |
| virtual void glDrawArrays_(GLenum mode, GLint first, GLsizei count) override {} |
| virtual void glDrawElements_(GLenum mode, GLsizei count, GLenum type, const void *indices) override {} |
| virtual void glEnableVertexAttribArray_(GLuint index) override {} |
| virtual void glFinish_(void) override {} |
| virtual void glFlush_(void) override {} |
| virtual void glFramebufferRenderbuffer_(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) override {} |
| virtual void glFramebufferTexture2D_(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) override {} |
| virtual void glFrontFace_(GLenum mode) override {} |
| virtual void glGenerateMipmap_(GLenum target) override {} |
| virtual GLint glGetAttribLocation_(GLuint program, const GLchar *name) override { return 1; } |
| virtual GLenum glGetError_(void) override { return GL_NO_ERROR; } |
| virtual GLint glGetUniformLocation_(GLuint program, const GLchar *name) override { return 2; } |
| virtual void glHint_(GLenum target, GLenum mode) override {} |
| virtual void glLineWidth_(GLfloat width) override {} |
| virtual void glLinkProgram_(GLuint program) override {} |
| virtual void glPixelStorei_(GLenum pname, GLint param) override {} |
| virtual void glPolygonOffset_(GLfloat factor, GLfloat units) override {} |
| virtual void glReadPixels_(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels) override {} |
| virtual void glReleaseShaderCompiler_(void) override {} |
| virtual void glRenderbufferStorage_(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) override {} |
| virtual void glSampleCoverage_(GLfloat value, GLboolean invert) override {} |
| virtual void glScissor_(GLint x, GLint y, GLsizei width, GLsizei height) override {} |
| virtual void glShaderBinary_(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length) override {} |
| virtual void glShaderSource_(GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length) override {} |
| virtual void glStencilFunc_(GLenum func, GLint ref, GLuint mask) override {} |
| virtual void glStencilFuncSeparate_(GLenum face, GLenum func, GLint ref, GLuint mask) override {} |
| virtual void glStencilMask_(GLuint mask) override {} |
| virtual void glStencilMaskSeparate_(GLenum face, GLuint mask) override {} |
| virtual void glStencilOp_(GLenum fail, GLenum zfail, GLenum zpass) override {} |
| virtual void glStencilOpSeparate_(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) override {} |
| virtual void glTexImage2D_(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels) override {} |
| virtual void glTexParameterf_(GLenum target, GLenum pname, GLfloat param) override {} |
| virtual void glTexParameterfv_(GLenum target, GLenum pname, const GLfloat *params) override {} |
| virtual void glTexParameteri_(GLenum target, GLenum pname, GLint param) override {} |
| virtual void glTexParameteriv_(GLenum target, GLenum pname, const GLint *params) override {} |
| virtual void glTexSubImage2D_(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) override {} |
| virtual void glUniform1f_(GLint location, GLfloat v0) override {} |
| virtual void glUniform1fv_(GLint location, GLsizei count, const GLfloat *value) override {} |
| virtual void glUniform1i_(GLint location, GLint v0) override {} |
| virtual void glUniform1iv_(GLint location, GLsizei count, const GLint *value) override {} |
| virtual void glUniform2f_(GLint location, GLfloat v0, GLfloat v1) override {} |
| virtual void glUniform2fv_(GLint location, GLsizei count, const GLfloat *value) override {} |
| virtual void glUniform2i_(GLint location, GLint v0, GLint v1) override {} |
| virtual void glUniform2iv_(GLint location, GLsizei count, const GLint *value) override {} |
| virtual void glUniform3f_(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) override {} |
| virtual void glUniform3fv_(GLint location, GLsizei count, const GLfloat *value) override {} |
| virtual void glUniform3i_(GLint location, GLint v0, GLint v1, GLint v2) override {} |
| virtual void glUniform3iv_(GLint location, GLsizei count, const GLint *value) override {} |
| virtual void glUniform4f_(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) override {} |
| virtual void glUniform4fv_(GLint location, GLsizei count, const GLfloat *value) override {} |
| virtual void glUniform4i_(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) override {} |
| virtual void glUniform4iv_(GLint location, GLsizei count, const GLint *value) override {} |
| virtual void glUniformMatrix2fv_(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) override {} |
| virtual void glUniformMatrix3fv_(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) override {} |
| virtual void glUniformMatrix4fv_(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) override {} |
| virtual void glUseProgram_(GLuint program) override {} |
| virtual void glValidateProgram_(GLuint program) override {} |
| virtual void glVertexAttrib1f_(GLuint index, GLfloat x) override {} |
| virtual void glVertexAttrib1fv_(GLuint index, const GLfloat *v) override {} |
| virtual void glVertexAttrib2f_(GLuint index, GLfloat x, GLfloat y) override {} |
| virtual void glVertexAttrib2fv_(GLuint index, const GLfloat *v) override {} |
| virtual void glVertexAttrib3f_(GLuint index, GLfloat x, GLfloat y, GLfloat z) override {} |
| virtual void glVertexAttrib3fv_(GLuint index, const GLfloat *v) override {} |
| virtual void glVertexAttrib4f_(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) override {} |
| virtual void glVertexAttrib4fv_(GLuint index, const GLfloat *v) override {} |
| virtual void glVertexAttribPointer_(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer) override {} |
| virtual void glViewport_(GLint x, GLint y, GLsizei width, GLsizei height) override {} |
| |
| // gles2 ext |
| virtual void glInsertEventMarkerEXT_(GLsizei length, const GLchar *marker) override {} |
| virtual void glPushGroupMarkerEXT_(GLsizei length, const GLchar *marker) override {} |
| virtual void glPopGroupMarkerEXT_(void) override {} |
| virtual void glDiscardFramebufferEXT_(GLenum target, GLsizei numAttachments, const GLenum *attachments) override {} |
| virtual void glEGLImageTargetTexture2DOES_(GLenum target, GLeglImageOES image) override {} |
| |
| // GLES3 |
| virtual void* glMapBufferRange_(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) override { |
| return 0; |
| } |
| |
| virtual GLboolean glUnmapBuffer_(GLenum target) override { |
| return GL_FALSE; |
| } |
| }; |
| |
| } // namespace debug |
| } // namespace uirenderer |
| } // namespace android |