summaryrefslogtreecommitdiff
path: root/host
diff options
context:
space:
mode:
authorYahan Zhou <yahan@google.com>2017-07-06 15:40:44 -0700
committerGreg Hartman <ghartman@google.com>2018-08-23 17:30:51 -0700
commit0ae8848efb2b8cb86dfb5f127d39fbf674335601 (patch)
tree713297e26e2e8bda84b7d826f1a927ad48e162fe /host
parent9c7aff1e6963ba734a9cf7a8c24506fcaeee5fc7 (diff)
downloadopengl-transport-0ae8848efb2b8cb86dfb5f127d39fbf674335601.tar.gz
[ANGLE Snapshot] GLES2 translator on top of ANGLE
This patch modifies our GLES2 translator to allow it to mount on top of ANGLE. Because ANGLE is a GLES2 backend while previously our translator assumes desktop GL backend, some modifications are required. The main changes in this patch include: (1) Pass a flag to GLES translator to tell if it is running on top of another GLES backend (2) Desktop GL sometimes assume EXT postfix for some functions while GLES does not. Modify dispatcher so that it loads func as well funcEXT and funcOES as alias. (3) ANGLE does not like GL_RGB8 and GL_RGBA8 texture internal formats. Change them to GL_RGB and GL_RGBA. (4) Bypass some texture parameter validations when using ANGLE backend. (5) Ignore the parsed shader and use orignal shader source when using ANGLE backend. Change-Id: I6c5a770a0157c020920a432f3c949e2f8d67e0eb
Diffstat (limited to 'host')
-rw-r--r--host/libs/virglrenderer/OpenGLESDispatch/gles2_core.entries2
1 files changed, 2 insertions, 0 deletions
diff --git a/host/libs/virglrenderer/OpenGLESDispatch/gles2_core.entries b/host/libs/virglrenderer/OpenGLESDispatch/gles2_core.entries
index 1e2285447..24e2214d2 100644
--- a/host/libs/virglrenderer/OpenGLESDispatch/gles2_core.entries
+++ b/host/libs/virglrenderer/OpenGLESDispatch/gles2_core.entries
@@ -4,6 +4,7 @@
void glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
void glStencilMaskSeparate(GLenum face, GLuint mask);
+void glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
GLboolean glIsProgram(GLuint program);
GLboolean glIsShader(GLuint shader);
void glVertexAttrib1f(GLuint indx, GLfloat x);
@@ -78,5 +79,6 @@ void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
void glGenerateMipmap(GLenum target);