Commit cf42a7e8 by Martin Radev Committed by Commit Bot

Add ANGLE_multiview end-points and tokens

The patch adds the new end-points and tokens introduced by ANGLE_multiview without implementing them. BUG=angleproject:2062 Change-Id: I9be175263ab54b4f6d7537f05505b87ad763ee2d Reviewed-on: https://chromium-review.googlesource.com/570051Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarOlli Etuaho <oetuaho@nvidia.com> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
parent 4cff8d62
......@@ -518,6 +518,27 @@ GL_APICALL void GL_APIENTRY glGetQueryObjectui64vRobustANGLE(GLuint id, GLenum p
#define GL_PROGRAM_CACHE_ENABLED_ANGLE 0x93AC
#endif /* GL_ANGLE_program_cache_control */
#ifndef GL_ANGLE_multiview
#define GL_ANGLE_multiview 1
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_ANGLE 0x9630
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_ANGLE 0x9632
#define GL_MAX_VIEWS_ANGLE 0x9631
#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_ANGLE 0x9633
// TODO (mradev): change to the correct values once the tokens are allocated by Khronos.
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_VIEWPORT_OFFSETS_ANGLE 0x9634
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_MULTIVIEW_LAYOUT_ANGLE 0x9635
#define GL_FRAMEBUFFER_MULTIVIEW_SIDE_BY_SIDE_ANGLE 0x9636
#define GL_FRAMEBUFFER_MULTIVIEW_LAYERED_ANGLE 0x9637
typedef void(GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWLAYEREDANGLE)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
typedef void(GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWSIDEBYSIDEANGLE)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei numViews, const GLint *viewportOffsets);
typedef void(GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWSIDEBYSIDEROBUSTANGLE)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei numViews, GLsizei bufSize, const GLint *viewportOffsets);
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glFramebufferTextureMultiviewLayeredANGLE(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
GL_APICALL void GL_APIENTRY glFramebufferTextureMultiviewSideBySideANGLE(GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei numViews, const GLint *viewportOffsets);
GL_APICALL void GL_APIENTRY glFramebufferTextureMultiviewSideBySideRobustANGLE(GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei numViews, GLsizei bufSize, const GLint *viewportOffsets);
#endif
#endif /* GL_ANGLE_multiview */
// clang-format on
#endif // INCLUDE_GLES2_GL2EXT_ANGLE_H_
......@@ -1631,6 +1631,11 @@ __eglMustCastToProperFunctionPointerType EGLAPIENTRY GetProcAddress(const char *
INSERT_PROC_ADDRESS(gl, GetQueryObjecti64vRobustANGLE);
INSERT_PROC_ADDRESS(gl, GetQueryObjectui64vRobustANGLE);
// GL_ANGLE_multiview
INSERT_PROC_ADDRESS(gl, FramebufferTextureMultiviewLayeredANGLE);
INSERT_PROC_ADDRESS(gl, FramebufferTextureMultiviewSideBySideANGLE);
INSERT_PROC_ADDRESS(gl, FramebufferTextureMultiviewSideBySideRobustANGLE);
// GLES3 core
INSERT_PROC_ADDRESS(gl, ReadBuffer);
INSERT_PROC_ADDRESS(gl, DrawRangeElements);
......
......@@ -3514,4 +3514,48 @@ ANGLE_EXPORT void GL_APIENTRY GetQueryObjectui64vRobustANGLE(GLuint id,
}
}
GL_APICALL void GL_APIENTRY FramebufferTextureMultiviewLayeredANGLE(GLenum target,
GLenum attachment,
GLuint texture,
GLint level,
GLint baseViewIndex,
GLsizei numViews)
{
EVENT(
"(GLenum target = 0x%X, GLenum attachment = 0x%X, GLuint texture = %u, GLint level = %d, "
"GLint baseViewIndex = %d, GLsizei numViews = %d)",
target, attachment, texture, level, baseViewIndex, numViews);
UNIMPLEMENTED();
}
GL_APICALL void GL_APIENTRY FramebufferTextureMultiviewSideBySideANGLE(GLenum target,
GLenum attachment,
GLuint texture,
GLint level,
GLsizei numViews,
const GLint *viewportOffsets)
{
EVENT(
"(GLenum target = 0x%X, GLenum attachment = 0x%X, GLuint texture = %u, GLint level = %d, "
"GLsizei numViews = %d, GLsizei* viewportOffsets = 0x%0.8p)",
target, attachment, texture, level, numViews, viewportOffsets);
UNIMPLEMENTED();
}
GL_APICALL void GL_APIENTRY
FramebufferTextureMultiviewSideBySideRobustANGLE(GLenum target,
GLenum attachment,
GLuint texture,
GLint level,
GLsizei numViews,
GLsizei bufSize,
const GLint *viewportOffsets)
{
EVENT(
"(GLenum target = 0x%X, GLenum attachment = 0x%X, GLuint texture = %u, GLint level = %d, "
"GLsizei numViews = %d, GLsizei bufSize = %d, GLsizei* viewportOffsets = 0x%0.8p)",
target, attachment, texture, level, numViews, viewportOffsets);
UNIMPLEMENTED();
}
} // gl
......@@ -698,6 +698,28 @@ ANGLE_EXPORT void GL_APIENTRY GetQueryObjectui64vRobustANGLE(GLuint id,
GLsizei *length,
GLuint64 *params);
// GL_ANGLE_multiview
ANGLE_EXPORT void GL_APIENTRY FramebufferTextureMultiviewLayeredANGLE(GLenum target,
GLenum attachment,
GLuint texture,
GLint level,
GLint baseViewIndex,
GLsizei numViews);
ANGLE_EXPORT void GL_APIENTRY
FramebufferTextureMultiviewSideBySideANGLE(GLenum target,
GLenum attachment,
GLuint texture,
GLint level,
GLsizei numViews,
const GLint *viewportOffsets);
ANGLE_EXPORT void GL_APIENTRY
FramebufferTextureMultiviewSideBySideRobustANGLE(GLenum target,
GLenum attachment,
GLuint texture,
GLint level,
GLsizei numViews,
GLsizei bufSize,
const GLint *viewportOffsets);
} // namespace gl
#endif // LIBGLESV2_ENTRYPOINTGLES20EXT_H_
......@@ -2544,4 +2544,39 @@ void GL_APIENTRY glVertexBindingDivisor(GLuint bindingindex, GLuint divisor)
{
gl::VertexBindingDivisor(bindingindex, divisor);
}
void GL_APIENTRY glFramebufferTextureMultiviewLayeredANGLE(GLenum target,
GLenum attachment,
GLuint texture,
GLint level,
GLint baseViewIndex,
GLsizei numViews)
{
gl::FramebufferTextureMultiviewLayeredANGLE(target, attachment, texture, level, baseViewIndex,
numViews);
}
void GL_APIENTRY glFramebufferTextureMultiviewSideBySideANGLE(GLenum target,
GLenum attachment,
GLuint texture,
GLint level,
GLsizei numViews,
const GLint *viewportOffsets)
{
gl::FramebufferTextureMultiviewSideBySideANGLE(target, attachment, texture, level, numViews,
viewportOffsets);
}
void GL_APIENTRY glFramebufferTextureMultiviewSideBySideRobustANGLE(GLenum target,
GLenum attachment,
GLuint texture,
GLint level,
GLsizei numViews,
GLsizei bufSize,
const GLint *viewportOffsets)
{
gl::FramebufferTextureMultiviewSideBySideRobustANGLE(target, attachment, texture, level,
numViews, bufSize, viewportOffsets);
}
} // extern "C"
......@@ -231,6 +231,10 @@ EXPORTS
glBindFragmentInputLocationCHROMIUM @343
glProgramPathFragmentInputGenCHROMIUM @344
glFramebufferTextureMultiviewLayeredANGLE @413
glFramebufferTextureMultiviewSideBySideANGLE @414
glFramebufferTextureMultiviewSideBySideRobustANGLE @415
; GLES 3.0 Functions
glReadBuffer @180
glDrawRangeElements @181
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment