/*
* 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