1b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon/* 2b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon * Copyright 2016 Google Inc. 3b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon * 4b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon * Use of this source code is governed by a BSD-style license that can be 5b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon * found in the LICENSE file. 6b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon */ 7b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon 8b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon#ifndef GrGLTestInterface_DEFINED 9b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon#define GrGLTestInterface_DEFINED 10b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon 11b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon#include "gl/GrGLInterface.h" 12b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon#include "GrGLDefines.h" 13b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon 143724e574a744491b7cfb8187ac865a70ef3d4528bsalomon/** 153724e574a744491b7cfb8187ac865a70ef3d4528bsalomon * Base class for interfaces used for Skia testing. We would like to move this to tools/gpu/gl 163724e574a744491b7cfb8187ac865a70ef3d4528bsalomon * when Chromium is no longer using GrGLCreateNullInterface in its unit testing. 173724e574a744491b7cfb8187ac865a70ef3d4528bsalomon */ 18b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomonclass GrGLTestInterface : public GrGLInterface { 19b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomonpublic: 20b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid activeTexture(GrGLenum texture) {} 21b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid attachShader(GrGLuint program, GrGLuint shader) {} 22b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid beginQuery(GrGLenum target, GrGLuint id) {} 23b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid bindAttribLocation(GrGLuint program, GrGLuint index, const char* name) {} 24b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid bindBuffer(GrGLenum target, GrGLuint buffer) {} 25b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid bindFramebuffer(GrGLenum target, GrGLuint framebuffer) {} 26b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid bindRenderbuffer(GrGLenum target, GrGLuint renderbuffer) {} 27b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid bindTexture(GrGLenum target, GrGLuint texture) {} 28b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid bindFragDataLocation(GrGLuint program, GrGLuint colorNumber, const GrGLchar* name) {} 29b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid bindFragDataLocationIndexed(GrGLuint program, GrGLuint colorNumber, GrGLuint index, const GrGLchar * name) {} 30b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid bindVertexArray(GrGLuint array) {} 31b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid blendBarrier() {} 32b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid blendColor(GrGLclampf red, GrGLclampf green, GrGLclampf blue, GrGLclampf alpha) {} 33b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid blendEquation(GrGLenum mode) {} 34b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid blendFunc(GrGLenum sfactor, GrGLenum dfactor) {} 35b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid blitFramebuffer(GrGLint srcX0, GrGLint srcY0, GrGLint srcX1, GrGLint srcY1, GrGLint dstX0, GrGLint dstY0, GrGLint dstX1, GrGLint dstY1, GrGLbitfield mask, GrGLenum filter) {} 36b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid bufferData(GrGLenum target, GrGLsizeiptr size, const GrGLvoid* data, GrGLenum usage) {} 37b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid bufferSubData(GrGLenum target, GrGLintptr offset, GrGLsizeiptr size, const GrGLvoid* data) {} 38b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLenum checkFramebufferStatus(GrGLenum target) { return GR_GL_FRAMEBUFFER_COMPLETE; } 39b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid clear(GrGLbitfield mask) {} 40b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid clearColor(GrGLclampf red, GrGLclampf green, GrGLclampf blue, GrGLclampf alpha) {} 41b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid clearStencil(GrGLint s) {} 42b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid colorMask(GrGLboolean red, GrGLboolean green, GrGLboolean blue, GrGLboolean alpha) {} 43b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid compileShader(GrGLuint shader) {} 44b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid compressedTexImage2D(GrGLenum target, GrGLint level, GrGLenum internalformat, GrGLsizei width, GrGLsizei height, GrGLint border, GrGLsizei imageSize, const GrGLvoid* data) {} 45b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid compressedTexSubImage2D(GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLsizei width, GrGLsizei height, GrGLenum format, GrGLsizei imageSize, const GrGLvoid* data) {} 46b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid copyTexSubImage2D(GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height) {} 47b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLuint createProgram() { return 0; } 48b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLuint createShader(GrGLenum type) { return 0; } 49b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid cullFace(GrGLenum mode) {} 50b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid deleteBuffers(GrGLsizei n, const GrGLuint* buffers) {} 51b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid deleteFramebuffers(GrGLsizei n, const GrGLuint *framebuffers) {} 52b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid deleteProgram(GrGLuint program) {} 53b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid deleteQueries(GrGLsizei n, const GrGLuint *ids) {} 54b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid deleteRenderbuffers(GrGLsizei n, const GrGLuint *renderbuffers) {} 55b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid deleteShader(GrGLuint shader) {} 56b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid deleteTextures(GrGLsizei n, const GrGLuint* textures) {} 57b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid deleteVertexArrays(GrGLsizei n, const GrGLuint *arrays) {} 58b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid depthMask(GrGLboolean flag) {} 59b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid disable(GrGLenum cap) {} 60b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid disableVertexAttribArray(GrGLuint index) {} 61b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid drawArrays(GrGLenum mode, GrGLint first, GrGLsizei count) {} 62b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid drawArraysInstanced(GrGLenum mode, GrGLint first, GrGLsizei count, GrGLsizei primcount) {} 63739bbb2dadbb9f1c37db0a2afa3709ae132d007acsmartdalton virtual GrGLvoid drawArraysIndirect(GrGLenum mode, const GrGLvoid* indirect) {} 64b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid drawBuffer(GrGLenum mode) {} 65b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid drawBuffers(GrGLsizei n, const GrGLenum* bufs) {} 66b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid drawElements(GrGLenum mode, GrGLsizei count, GrGLenum type, const GrGLvoid* indices) {} 67b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid drawElementsInstanced(GrGLenum mode, GrGLsizei count, GrGLenum type, const GrGLvoid *indices, GrGLsizei primcount) {} 68739bbb2dadbb9f1c37db0a2afa3709ae132d007acsmartdalton virtual GrGLvoid drawElementsIndirect(GrGLenum mode, GrGLenum type, const GrGLvoid* indirect) {} 69fc9527a0dfab9b4e2f6c1b8a7ff23a61a5e6b31fbsalomon virtual GrGLvoid drawRangeElements(GrGLenum mode, GrGLuint start, GrGLuint end, GrGLsizei count, GrGLenum type, const GrGLvoid* indices) {} 70b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid enable(GrGLenum cap) {} 71b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid enableVertexAttribArray(GrGLuint index) {} 72b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid endQuery(GrGLenum target) {} 73b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid finish() {} 74b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid flush() {} 75b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid flushMappedBufferRange(GrGLenum target, GrGLintptr offset, GrGLsizeiptr length) {} 76b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid framebufferRenderbuffer(GrGLenum target, GrGLenum attachment, GrGLenum renderbuffertarget, GrGLuint renderbuffer) {} 77b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid framebufferTexture2D(GrGLenum target, GrGLenum attachment, GrGLenum textarget, GrGLuint texture, GrGLint level) {} 78b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid framebufferTexture2DMultisample(GrGLenum target, GrGLenum attachment, GrGLenum textarget, GrGLuint texture, GrGLint level, GrGLsizei samples) {} 79b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid frontFace(GrGLenum mode) {} 80b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid genBuffers(GrGLsizei n, GrGLuint* buffers) {} 81b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid genFramebuffers(GrGLsizei n, GrGLuint *framebuffers) {} 82b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid generateMipmap(GrGLenum target) {} 83b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid genQueries(GrGLsizei n, GrGLuint *ids) {} 84b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid genRenderbuffers(GrGLsizei n, GrGLuint *renderbuffers) {} 85b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid genTextures(GrGLsizei n, GrGLuint* textures) {} 86b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid genVertexArrays(GrGLsizei n, GrGLuint *arrays) {} 87b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getBufferParameteriv(GrGLenum target, GrGLenum pname, GrGLint* params) {} 88b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLenum getError() { return GR_GL_NO_ERROR; } 89b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getFramebufferAttachmentParameteriv(GrGLenum target, GrGLenum attachment, GrGLenum pname, GrGLint* params) {} 90b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getIntegerv(GrGLenum pname, GrGLint* params) {} 91b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getMultisamplefv(GrGLenum pname, GrGLuint index, GrGLfloat* val) {} 92b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getProgramInfoLog(GrGLuint program, GrGLsizei bufsize, GrGLsizei* length, char* infolog) {} 93b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getProgramiv(GrGLuint program, GrGLenum pname, GrGLint* params) {} 94b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getQueryiv(GrGLenum GLtarget, GrGLenum pname, GrGLint *params) {} 95b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getQueryObjecti64v(GrGLuint id, GrGLenum pname, GrGLint64 *params) {} 96b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getQueryObjectiv(GrGLuint id, GrGLenum pname, GrGLint *params) {} 97b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getQueryObjectui64v(GrGLuint id, GrGLenum pname, GrGLuint64 *params) {} 98b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getQueryObjectuiv(GrGLuint id, GrGLenum pname, GrGLuint *params) {} 99b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getRenderbufferParameteriv(GrGLenum target, GrGLenum pname, GrGLint* params) {} 100b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getShaderInfoLog(GrGLuint shader, GrGLsizei bufsize, GrGLsizei* length, char* infolog) {} 101b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getShaderiv(GrGLuint shader, GrGLenum pname, GrGLint* params) {} 102b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getShaderPrecisionFormat(GrGLenum shadertype, GrGLenum precisiontype, GrGLint *range, GrGLint *precision) {} 103b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual const GrGLubyte* getString(GrGLenum name) { return nullptr; } 104b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual const GrGLubyte* getStringi(GrGLenum name, GrGLuint index) { return nullptr; } 105b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getTexLevelParameteriv(GrGLenum target, GrGLint level, GrGLenum pname, GrGLint* params) {} 106b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLint getUniformLocation(GrGLuint program, const char* name) { return 0; } 107b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid insertEventMarker(GrGLsizei length, const char* marker) {} 108b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid invalidateBufferData(GrGLuint buffer) {} 109b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid invalidateBufferSubData(GrGLuint buffer, GrGLintptr offset, GrGLsizeiptr length) {} 110b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid invalidateFramebuffer(GrGLenum target, GrGLsizei numAttachments, const GrGLenum *attachments) {} 111b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid invalidateSubFramebuffer(GrGLenum target, GrGLsizei numAttachments, const GrGLenum *attachments, GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height) {} 112b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid invalidateTexImage(GrGLuint texture, GrGLint level) {} 113b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid invalidateTexSubImage(GrGLuint texture, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLint zoffset, GrGLsizei width, GrGLsizei height, GrGLsizei depth) {} 114b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLboolean isTexture(GrGLuint texture) { return GR_GL_FALSE; } 115b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid lineWidth(GrGLfloat width) {} 116b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid linkProgram(GrGLuint program) {} 117b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid* mapBuffer(GrGLenum target, GrGLenum access) { return nullptr; } 118b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid* mapBufferRange(GrGLenum target, GrGLintptr offset, GrGLsizeiptr length, GrGLbitfield access) { return nullptr; } 119b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid* mapBufferSubData(GrGLuint target, GrGLintptr offset, GrGLsizeiptr size, GrGLenum access) { return nullptr; } 120b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid* mapTexSubImage2D(GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLsizei width, GrGLsizei height, GrGLenum format, GrGLenum type, GrGLenum access) { return nullptr; } 1219d524f22bfde5dc3dc8f48e1be39bdebd3bb0304halcanary virtual GrGLvoid minSampleShading(GrGLfloat value) {} 122b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid pixelStorei(GrGLenum pname, GrGLint param) {} 123609e7ccc664f51d430c10b68435833e485a5ede4Jim Van Verth virtual GrGLvoid polygonMode(GrGLenum face, GrGLenum mode) {} 124b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid popGroupMarker() {} 125b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid pushGroupMarker(GrGLsizei length, const char* marker) {} 126b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid queryCounter(GrGLuint id, GrGLenum target) {} 127b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid rasterSamples(GrGLuint samples, GrGLboolean fixedsamplelocations) {} 128b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid readBuffer(GrGLenum src) {} 129b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid readPixels(GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height, GrGLenum format, GrGLenum type, GrGLvoid* pixels) {} 130b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid renderbufferStorage(GrGLenum target, GrGLenum internalformat, GrGLsizei width, GrGLsizei height) {} 131b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid renderbufferStorageMultisample(GrGLenum target, GrGLsizei samples, GrGLenum internalformat, GrGLsizei width, GrGLsizei height) {} 132b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid resolveMultisampleFramebuffer() {} 133b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid scissor(GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height) {} 134b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid bindUniformLocation(GrGLuint program, GrGLint location, const char* name) {} 135b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon#if GR_GL_USE_NEW_SHADER_SOURCE_SIGNATURE 136b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid shaderSource(GrGLuint shader, GrGLsizei count, const char* const * str, const GrGLint* length) {} 137b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon#else 138b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid shaderSource(GrGLuint shader, GrGLsizei count, const char** str, const GrGLint* length) {} 139b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon#endif 140b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilFunc(GrGLenum func, GrGLint ref, GrGLuint mask) {} 141b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilFuncSeparate(GrGLenum face, GrGLenum func, GrGLint ref, GrGLuint mask) {} 142b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilMask(GrGLuint mask) {} 143b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilMaskSeparate(GrGLenum face, GrGLuint mask) {} 144b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilOp(GrGLenum fail, GrGLenum zfail, GrGLenum zpass) {} 145b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilOpSeparate(GrGLenum face, GrGLenum fail, GrGLenum zfail, GrGLenum zpass) {} 146b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid texBuffer(GrGLenum target, GrGLenum internalformat, GrGLuint buffer) {} 147b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid texImage2D(GrGLenum target, GrGLint level, GrGLint internalformat, GrGLsizei width, GrGLsizei height, GrGLint border, GrGLenum format, GrGLenum type, const GrGLvoid* pixels) {} 148b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid texParameteri(GrGLenum target, GrGLenum pname, GrGLint param) {} 149b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid texParameteriv(GrGLenum target, GrGLenum pname, const GrGLint* params) {} 150b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid texStorage2D(GrGLenum target, GrGLsizei levels, GrGLenum internalformat, GrGLsizei width, GrGLsizei height) {} 151b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid discardFramebuffer(GrGLenum target, GrGLsizei numAttachments, const GrGLenum* attachments) {} 152b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid texSubImage2D(GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLsizei width, GrGLsizei height, GrGLenum format, GrGLenum type, const GrGLvoid* pixels) {} 153b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid textureBarrier() {} 154b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform1f(GrGLint location, GrGLfloat v0) {} 155b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform1i(GrGLint location, GrGLint v0) {} 156b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform1fv(GrGLint location, GrGLsizei count, const GrGLfloat* v) {} 157b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform1iv(GrGLint location, GrGLsizei count, const GrGLint* v) {} 158b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform2f(GrGLint location, GrGLfloat v0, GrGLfloat v1) {} 159b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform2i(GrGLint location, GrGLint v0, GrGLint v1) {} 160b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform2fv(GrGLint location, GrGLsizei count, const GrGLfloat* v) {} 161b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform2iv(GrGLint location, GrGLsizei count, const GrGLint* v) {} 162b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform3f(GrGLint location, GrGLfloat v0, GrGLfloat v1, GrGLfloat v2) {} 163b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform3i(GrGLint location, GrGLint v0, GrGLint v1, GrGLint v2) {} 164b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform3fv(GrGLint location, GrGLsizei count, const GrGLfloat* v) {} 165b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform3iv(GrGLint location, GrGLsizei count, const GrGLint* v) {} 166b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform4f(GrGLint location, GrGLfloat v0, GrGLfloat v1, GrGLfloat v2, GrGLfloat v3) {} 167b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform4i(GrGLint location, GrGLint v0, GrGLint v1, GrGLint v2, GrGLint v3) {} 168b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform4fv(GrGLint location, GrGLsizei count, const GrGLfloat* v) {} 169b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniform4iv(GrGLint location, GrGLsizei count, const GrGLint* v) {} 170b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniformMatrix2fv(GrGLint location, GrGLsizei count, GrGLboolean transpose, const GrGLfloat* value) {} 171b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniformMatrix3fv(GrGLint location, GrGLsizei count, GrGLboolean transpose, const GrGLfloat* value) {} 172b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniformMatrix4fv(GrGLint location, GrGLsizei count, GrGLboolean transpose, const GrGLfloat* value) {} 173b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLboolean unmapBuffer(GrGLenum target) { return GR_GL_TRUE; } 174b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid unmapBufferSubData(const GrGLvoid* mem) {} 175b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid unmapTexSubImage2D(const GrGLvoid* mem) {} 176b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid useProgram(GrGLuint program) {} 177b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexAttrib1f(GrGLuint indx, const GrGLfloat value) {} 178b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexAttrib2fv(GrGLuint indx, const GrGLfloat* values) {} 179b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexAttrib3fv(GrGLuint indx, const GrGLfloat* values) {} 180b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexAttrib4fv(GrGLuint indx, const GrGLfloat* values) {} 181b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexAttribDivisor(GrGLuint index, GrGLuint divisor) {} 182b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexAttribIPointer(GrGLuint indx, GrGLint size, GrGLenum type, GrGLsizei stride, const GrGLvoid* ptr) {} 183b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexAttribPointer(GrGLuint indx, GrGLint size, GrGLenum type, GrGLboolean normalized, GrGLsizei stride, const GrGLvoid* ptr) {} 184b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid viewport(GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height) {} 185b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid matrixLoadf(GrGLenum matrixMode, const GrGLfloat* m) {} 186b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid matrixLoadIdentity(GrGLenum) {} 187b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid pathCommands(GrGLuint path, GrGLsizei numCommands, const GrGLubyte *commands, GrGLsizei numCoords, GrGLenum coordType, const GrGLvoid *coords) {} 188b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid pathParameteri(GrGLuint path, GrGLenum pname, GrGLint value) {} 189b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid pathParameterf(GrGLuint path, GrGLenum pname, GrGLfloat value) {} 190b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLuint genPaths(GrGLsizei range) { return 0; } 191b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid deletePaths(GrGLuint path, GrGLsizei range) {} 192b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLboolean isPath(GrGLuint path) { return true; } 193b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid pathStencilFunc(GrGLenum func, GrGLint ref, GrGLuint mask) {} 194b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilFillPath(GrGLuint path, GrGLenum fillMode, GrGLuint mask) {} 195b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilStrokePath(GrGLuint path, GrGLint reference, GrGLuint mask) {} 196b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilFillPathInstanced(GrGLsizei numPaths, GrGLenum pathNameType, const GrGLvoid *paths, GrGLuint pathBase, GrGLenum fillMode, GrGLuint mask, GrGLenum transformType, const GrGLfloat *transformValues) {} 197b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilStrokePathInstanced(GrGLsizei numPaths, GrGLenum pathNameType, const GrGLvoid *paths, GrGLuint pathBase, GrGLint reference, GrGLuint mask, GrGLenum transformType, const GrGLfloat *transformValues) {} 198b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid coverFillPath(GrGLuint path, GrGLenum coverMode) {} 199b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid coverStrokePath(GrGLuint name, GrGLenum coverMode) {} 200b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid coverFillPathInstanced(GrGLsizei numPaths, GrGLenum pathNameType, const GrGLvoid *paths, GrGLuint pathBase, GrGLenum coverMode, GrGLenum transformType, const GrGLfloat *transformValues) {} 201b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid coverStrokePathInstanced(GrGLsizei numPaths, GrGLenum pathNameType, const GrGLvoid *paths, GrGLuint pathBase, GrGLenum coverMode, GrGLenum transformType, const GrGLfloat* transformValues) {} 202b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilThenCoverFillPath(GrGLuint path, GrGLenum fillMode, GrGLuint mask, GrGLenum coverMode) {} 203b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilThenCoverStrokePath(GrGLuint path, GrGLint reference, GrGLuint mask, GrGLenum coverMode) {} 204b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilThenCoverFillPathInstanced(GrGLsizei numPaths, GrGLenum pathNameType, const GrGLvoid *paths, GrGLuint pathBase, GrGLenum fillMode, GrGLuint mask, GrGLenum coverMode, GrGLenum transformType, const GrGLfloat *transformValues) {} 205b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid stencilThenCoverStrokePathInstanced(GrGLsizei numPaths, GrGLenum pathNameType, const GrGLvoid *paths, GrGLuint pathBase, GrGLint reference, GrGLuint mask, GrGLenum coverMode, GrGLenum transformType, const GrGLfloat *transformValues) {} 206b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programPathFragmentInputGen(GrGLuint program, GrGLint location, GrGLenum genMode, GrGLint components,const GrGLfloat *coeffs) {} 207b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid bindFragmentInputLocation(GrGLuint program, GrGLint location, const GrGLchar* name) {} 208b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLint getProgramResourceLocation(GrGLuint program, GrGLenum programInterface, const GrGLchar *name) { return 0; } 209b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid coverageModulation(GrGLenum components) {} 210b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid multiDrawArraysIndirect(GrGLenum mode, const GrGLvoid *indirect, GrGLsizei drawcount, GrGLsizei stride) {} 211b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid multiDrawElementsIndirect(GrGLenum mode, GrGLenum type, const GrGLvoid *indirect, GrGLsizei drawcount, GrGLsizei stride) {} 212b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLuint64 getTextureHandle(GrGLuint texture) { return 0; } 213b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLuint64 getTextureSamplerHandle(GrGLuint texture, GrGLuint sampler) { return 0; } 214b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid makeTextureHandleResident(GrGLuint64 handle) {} 215b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid makeTextureHandleNonResident(GrGLuint64 handle) {} 216b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLuint64 getImageHandle(GrGLuint texture, GrGLint level, GrGLboolean layered, GrGLint layer, GrGLint format) { return 0; } 217b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid makeImageHandleResident(GrGLuint64 handle, GrGLenum access) {} 218b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid makeImageHandleNonResident(GrGLuint64 handle) {} 219b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLboolean isTextureHandleResident(GrGLuint64 handle) { return GR_GL_FALSE; } 220b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLboolean isImageHandleResident(GrGLuint64 handle) { return GR_GL_FALSE; } 221b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniformHandleui64(GrGLint location, GrGLuint64 v0) {} 222b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid uniformHandleui64v(GrGLint location, GrGLsizei count, const GrGLuint64 *value) {} 223b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniformHandleui64(GrGLuint program, GrGLint location, GrGLuint64 v0) {} 224b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniformHandleui64v(GrGLuint program, GrGLint location, GrGLsizei count, const GrGLuint64 *value) {} 225b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid textureParameteri(GrGLuint texture, GrGLenum target, GrGLenum pname, GrGLint param) {} 226b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid textureParameteriv(GrGLuint texture, GrGLenum target, GrGLenum pname, const GrGLint *param) {} 227b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid textureParameterf(GrGLuint texture, GrGLenum target, GrGLenum pname, float param) {} 228b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid textureParameterfv(GrGLuint texture, GrGLenum target, GrGLenum pname, const float *param) {} 229b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid textureImage1D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLint GrGLinternalformat, GrGLsizei width, GrGLint border, GrGLenum format, GrGLenum type, const GrGLvoid *pixels) {} 230b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid textureImage2D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLint GrGLinternalformat, GrGLsizei width, GrGLsizei height, GrGLint border, GrGLenum format, GrGLenum type, const GrGLvoid *pixels) {} 231b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid textureSubImage1D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLint xoffset, GrGLsizei width, GrGLenum format, GrGLenum type, const GrGLvoid *pixels) {} 232b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid textureSubImage2D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLsizei width, GrGLsizei height, GrGLenum format, GrGLenum type, const GrGLvoid *pixels) {} 233b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid copyTextureImage1D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLenum GrGLinternalformat, GrGLint x, GrGLint y, GrGLsizei width, GrGLint border) {} 234b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid copyTextureImage2D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLenum GrGLinternalformat, GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height, GrGLint border) {} 235b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid copyTextureSubImage1D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint x, GrGLint y, GrGLsizei width) {} 236b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid copyTextureSubImage2D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height) {} 237b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getTextureImage(GrGLuint texture, GrGLenum target, GrGLint level, GrGLenum format, GrGLenum type, GrGLvoid *pixels) {} 238b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getTextureParameterfv(GrGLuint texture, GrGLenum target, GrGLenum pname, float *params) {} 239b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getTextureParameteriv(GrGLuint texture, GrGLenum target, GrGLenum pname, GrGLint *params) {} 240b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getTextureLevelParameterfv(GrGLuint texture, GrGLenum target, GrGLint level, GrGLenum pname, float *params) {} 241b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getTextureLevelParameteriv(GrGLuint texture, GrGLenum target, GrGLint level, GrGLenum pname, GrGLint *params) {} 242b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid textureImage3D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLint GrGLinternalformat, GrGLsizei width, GrGLsizei height, GrGLsizei depth, GrGLint border, GrGLenum format, GrGLenum type, const GrGLvoid *pixels) {} 243b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid textureSubImage3D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLint zoffset, GrGLsizei width, GrGLsizei height, GrGLsizei depth, GrGLenum format, GrGLenum type, const GrGLvoid *pixels) {} 244b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid copyTextureSubImage3D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLint zoffset, GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height) {} 245b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid compressedTextureImage3D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLenum GrGLinternalformat, GrGLsizei width, GrGLsizei height, GrGLsizei depth, GrGLint border, GrGLsizei imageSize, const GrGLvoid *data) {} 246b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid compressedTextureImage2D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLenum GrGLinternalformat, GrGLsizei width, GrGLsizei height, GrGLint border, GrGLsizei imageSize, const GrGLvoid *data) {} 247b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid compressedTextureImage1D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLenum GrGLinternalformat, GrGLsizei width, GrGLint border, GrGLsizei imageSize, const GrGLvoid *data) {} 248b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid compressedTextureSubImage3D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLint zoffset, GrGLsizei width, GrGLsizei height, GrGLsizei depth, GrGLenum format, GrGLsizei imageSize, const GrGLvoid *data) {} 249b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid compressedTextureSubImage2D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLsizei width, GrGLsizei height, GrGLenum format, GrGLsizei imageSize, const GrGLvoid *data) {} 250b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid compressedTextureSubImage1D(GrGLuint texture, GrGLenum target, GrGLint level, GrGLint xoffset, GrGLsizei width, GrGLenum format, GrGLsizei imageSize, const GrGLvoid *data) {} 251b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getCompressedTextureImage(GrGLuint texture, GrGLenum target, GrGLint level, GrGLvoid *img) {} 252b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid namedBufferData(GrGLuint buffer, GrGLsizeiptr size, const GrGLvoid *data, GrGLenum usage) {} 253b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid namedBufferSubData(GrGLuint buffer, GrGLintptr offset, GrGLsizeiptr size, const GrGLvoid *data) {} 254b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid* mapNamedBuffer(GrGLuint buffer, GrGLenum access) { return nullptr; } 255b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLboolean unmapNamedBuffer(GrGLuint buffer) { return GR_GL_FALSE; } 256b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getNamedBufferParameteriv(GrGLuint buffer, GrGLenum pname, GrGLint *params) {} 257b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getNamedBufferPointerv(GrGLuint buffer, GrGLenum pname, GrGLvoid* *params) {} 258b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getNamedBufferSubData(GrGLuint buffer, GrGLintptr offset, GrGLsizeiptr size, GrGLvoid *data) {} 259b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform1f(GrGLuint program, GrGLint location, float v0) {} 260b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform2f(GrGLuint program, GrGLint location, float v0, float v1) {} 261b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform3f(GrGLuint program, GrGLint location, float v0, float v1, float v2) {} 262b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform4f(GrGLuint program, GrGLint location, float v0, float v1, float v2, float v3) {} 263b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform1i(GrGLuint program, GrGLint location, GrGLint v0) {} 264b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform2i(GrGLuint program, GrGLint location, GrGLint v0, GrGLint v1) {} 265b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform3i(GrGLuint program, GrGLint location, GrGLint v0, GrGLint v1, GrGLint v2) {} 266b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform4i(GrGLuint program, GrGLint location, GrGLint v0, GrGLint v1, GrGLint v2, GrGLint v3) {} 267b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform1fv(GrGLuint program, GrGLint location, GrGLsizei count, const float *value) {} 268b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform2fv(GrGLuint program, GrGLint location, GrGLsizei count, const float *value) {} 269b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform3fv(GrGLuint program, GrGLint location, GrGLsizei count, const float *value) {} 270b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform4fv(GrGLuint program, GrGLint location, GrGLsizei count, const float *value) {} 271b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform1iv(GrGLuint program, GrGLint location, GrGLsizei count, const GrGLint *value) {} 272b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform2iv(GrGLuint program, GrGLint location, GrGLsizei count, const GrGLint *value) {} 273b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform3iv(GrGLuint program, GrGLint location, GrGLsizei count, const GrGLint *value) {} 274b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniform4iv(GrGLuint program, GrGLint location, GrGLsizei count, const GrGLint *value) {} 275b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniformMatrix2fv(GrGLuint program, GrGLint location, GrGLsizei count, GrGLboolean transpose, const float *value) {} 276b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniformMatrix3fv(GrGLuint program, GrGLint location, GrGLsizei count, GrGLboolean transpose, const float *value) {} 277b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniformMatrix4fv(GrGLuint program, GrGLint location, GrGLsizei count, GrGLboolean transpose, const float *value) {} 278b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniformMatrix2x3fv(GrGLuint program, GrGLint location, GrGLsizei count, GrGLboolean transpose, const float *value) {} 279b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniformMatrix3x2fv(GrGLuint program, GrGLint location, GrGLsizei count, GrGLboolean transpose, const float *value) {} 280b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniformMatrix2x4fv(GrGLuint program, GrGLint location, GrGLsizei count, GrGLboolean transpose, const float *value) {} 281b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniformMatrix4x2fv(GrGLuint program, GrGLint location, GrGLsizei count, GrGLboolean transpose, const float *value) {} 282b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniformMatrix3x4fv(GrGLuint program, GrGLint location, GrGLsizei count, GrGLboolean transpose, const float *value) {} 283b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid programUniformMatrix4x3fv(GrGLuint program, GrGLint location, GrGLsizei count, GrGLboolean transpose, const float *value) {} 284b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid namedRenderbufferStorage(GrGLuint renderbuffer, GrGLenum GrGLinternalformat, GrGLsizei width, GrGLsizei height) {} 285b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getNamedRenderbufferParameteriv(GrGLuint renderbuffer, GrGLenum pname, GrGLint *params) {} 286b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid namedRenderbufferStorageMultisample(GrGLuint renderbuffer, GrGLsizei samples, GrGLenum GrGLinternalformat, GrGLsizei width, GrGLsizei height) {} 287b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLenum checkNamedFramebufferStatus(GrGLuint framebuffer, GrGLenum target) { return GR_GL_FRAMEBUFFER_COMPLETE; } 288b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid namedFramebufferTexture1D(GrGLuint framebuffer, GrGLenum attachment, GrGLenum textarget, GrGLuint texture, GrGLint level) {} 289b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid namedFramebufferTexture2D(GrGLuint framebuffer, GrGLenum attachment, GrGLenum textarget, GrGLuint texture, GrGLint level) {} 290b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid namedFramebufferTexture3D(GrGLuint framebuffer, GrGLenum attachment, GrGLenum textarget, GrGLuint texture, GrGLint level, GrGLint zoffset) {} 291b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid namedFramebufferRenderbuffer(GrGLuint framebuffer, GrGLenum attachment, GrGLenum renderbuffertarget, GrGLuint renderbuffer) {} 292b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getNamedFramebufferAttachmentParameteriv(GrGLuint framebuffer, GrGLenum attachment, GrGLenum pname, GrGLint *params) {} 293b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid generateTextureMipmap(GrGLuint texture, GrGLenum target) {} 294b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid framebufferDrawBuffer(GrGLuint framebuffer, GrGLenum mode) {} 295b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid framebufferDrawBuffers(GrGLuint framebuffer, GrGLsizei n, const GrGLenum *bufs) {} 296b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid framebufferReadBuffer(GrGLuint framebuffer, GrGLenum mode) {} 297b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getFramebufferParameteriv(GrGLuint framebuffer, GrGLenum pname, GrGLint *param) {} 298b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid namedCopyBufferSubData(GrGLuint readBuffer, GrGLuint writeBuffer, GrGLintptr readOffset, GrGLintptr writeOffset, GrGLsizeiptr size) {} 299b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexArrayVertexOffset(GrGLuint vaobj, GrGLuint buffer, GrGLint size, GrGLenum type, GrGLsizei stride, GrGLintptr offset) {} 300b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexArrayColorOffset(GrGLuint vaobj, GrGLuint buffer, GrGLint size, GrGLenum type, GrGLsizei stride, GrGLintptr offset) {} 301b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexArrayEdgeFlagOffset(GrGLuint vaobj, GrGLuint buffer, GrGLsizei stride, GrGLintptr offset) {} 302b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexArrayIndexOffset(GrGLuint vaobj, GrGLuint buffer, GrGLenum type, GrGLsizei stride, GrGLintptr offset) {} 303b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexArrayNormalOffset(GrGLuint vaobj, GrGLuint buffer, GrGLenum type, GrGLsizei stride, GrGLintptr offset) {} 304b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexArrayTexCoordOffset(GrGLuint vaobj, GrGLuint buffer, GrGLint size, GrGLenum type, GrGLsizei stride, GrGLintptr offset) {} 305b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexArrayMultiTexCoordOffset(GrGLuint vaobj, GrGLuint buffer, GrGLenum texunit, GrGLint size, GrGLenum type, GrGLsizei stride, GrGLintptr offset) {} 306b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexArrayFogCoordOffset(GrGLuint vaobj, GrGLuint buffer, GrGLenum type, GrGLsizei stride, GrGLintptr offset) {} 307b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexArraySecondaryColorOffset(GrGLuint vaobj, GrGLuint buffer, GrGLint size, GrGLenum type, GrGLsizei stride, GrGLintptr offset) {} 308b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexArrayVertexAttribOffset(GrGLuint vaobj, GrGLuint buffer, GrGLuint index, GrGLint size, GrGLenum type, GrGLboolean normalized, GrGLsizei stride, GrGLintptr offset) {} 309b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid vertexArrayVertexAttribIOffset(GrGLuint vaobj, GrGLuint buffer, GrGLuint index, GrGLint size, GrGLenum type, GrGLsizei stride, GrGLintptr offset) {} 310b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid enableVertexArray(GrGLuint vaobj, GrGLenum array) {} 311b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid disableVertexArray(GrGLuint vaobj, GrGLenum array) {} 312b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid enableVertexArrayAttrib(GrGLuint vaobj, GrGLuint index) {} 313b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid disableVertexArrayAttrib(GrGLuint vaobj, GrGLuint index) {} 314b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getVertexArrayIntegerv(GrGLuint vaobj, GrGLenum pname, GrGLint *param) {} 315b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getVertexArrayPointerv(GrGLuint vaobj, GrGLenum pname, GrGLvoid **param) {} 316b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getVertexArrayIntegeri_v(GrGLuint vaobj, GrGLuint index, GrGLenum pname, GrGLint *param) {} 317b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid getVertexArrayPointeri_v(GrGLuint vaobj, GrGLuint index, GrGLenum pname, GrGLvoid **param) {} 318b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid* mapNamedBufferRange(GrGLuint buffer, GrGLintptr offset, GrGLsizeiptr length, GrGLbitfield access) { return nullptr; } 319b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid flushMappedNamedBufferRange(GrGLuint buffer, GrGLintptr offset, GrGLsizeiptr length) {} 320b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid textureBuffer(GrGLuint texture, GrGLenum target, GrGLenum internalformat, GrGLuint buffer) {} 32184741b308496409f4ff662658167221fc6801bbejvanverth virtual GrGLsync fenceSync(GrGLenum condition, GrGLbitfield flags) { return nullptr; } 322dba7e7ccfbab1c99b8a3f81156cecdb630d7d03aGreg Daniel virtual GrGLboolean isSync(GrGLsync) { return false; } 32384741b308496409f4ff662658167221fc6801bbejvanverth virtual GrGLenum clientWaitSync(GrGLsync sync, GrGLbitfield flags, GrGLuint64 timeout) { return GR_GL_WAIT_FAILED; } 3246be35238855dbbc7575e78d6723936293a4b38e6Greg Daniel virtual GrGLvoid waitSync(GrGLsync sync, GrGLbitfield flags, GrGLuint64 timeout) {} 32584741b308496409f4ff662658167221fc6801bbejvanverth virtual GrGLvoid deleteSync(GrGLsync sync) {} 326b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid debugMessageControl(GrGLenum source, GrGLenum type, GrGLenum severity, GrGLsizei count, const GrGLuint* ids, GrGLboolean enabled) {} 327b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid debugMessageInsert(GrGLenum source, GrGLenum type, GrGLuint id, GrGLenum severity, GrGLsizei length, const GrGLchar* buf) {} 328b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid debugMessageCallback(GRGLDEBUGPROC callback, const GrGLvoid* userParam) {} 329b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLuint getDebugMessageLog(GrGLuint count, GrGLsizei bufSize, GrGLenum* sources, GrGLenum* types, GrGLuint* ids, GrGLenum* severities, GrGLsizei* lengths, GrGLchar* messageLog) { return 0; } 330b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid pushDebugGroup(GrGLenum source, GrGLuint id, GrGLsizei length, const GrGLchar * message) {} 331b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid popDebugGroup() {} 332b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon virtual GrGLvoid objectLabel(GrGLenum identifier, GrGLuint name, GrGLsizei length, const GrGLchar *label) {} 33381e7bf8d6d338d944f3c5075b14c21580398aeb6Greg Daniel virtual GrGLvoid getInternalformativ(GrGLenum target, GrGLenum internalformat, GrGLenum pname, GrGLsizei bufSize, GrGLint *params) {} 33428c2cc47fd2a4fbc3aaa7843f46f4c313d28b835Skia_Android Canary Bot virtual GrGLvoid programBinary(GrGLuint program, GrGLenum binaryFormat, void *binary, GrGLsizei length) {} 33528c2cc47fd2a4fbc3aaa7843f46f4c313d28b835Skia_Android Canary Bot virtual GrGLvoid getProgramBinary(GrGLuint program, GrGLsizei bufsize, GrGLsizei* length, GrGLenum *binaryFormat, void *binary) {} 33628c2cc47fd2a4fbc3aaa7843f46f4c313d28b835Skia_Android Canary Bot virtual GrGLvoid programParameteri(GrGLuint program, GrGLenum pname, GrGLint value) {} 337b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon 338b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomonprotected: 339b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon // This must be called by leaf class 340b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon void init(GrGLStandard standard) { 341b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon fStandard = standard; 342b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon fExtensions.init(standard, fFunctions.fGetString, fFunctions.fGetStringi, 343b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon fFunctions.fGetIntegerv, nullptr, GR_EGL_NO_DISPLAY); 344b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon } 345b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon GrGLTestInterface(); 346b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon}; 347b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon 348b5a94e3e24ef16f96ecfbe4ee427f7a0c69d7290bsalomon#endif 349