Add multiview entry points to GL wrappers.
authorPhilip Rideout <prideout@google.com>
Wed, 20 Dec 2017 21:38:17 +0000 (13:38 -0800)
committerPhilip Rideout <prideout@google.com>
Wed, 10 Jan 2018 01:21:38 +0000 (17:21 -0800)
Prepare for upcoming multiview conformance tests.

Change-Id: Ie3d8bbb4ae747e90c4f3e4a9632ebc4e5a085d00
Test: Built dEQP along with a pending change that tests multiview.
Components: Framework

12 files changed:
framework/opengl/gluCallLogWrapper.inl
framework/opengl/gluCallLogWrapperApi.inl
framework/opengl/wrapper/glwApi.inl
framework/opengl/wrapper/glwEnums.inl
framework/opengl/wrapper/glwFunctionTypes.inl
framework/opengl/wrapper/glwFunctions.inl
framework/opengl/wrapper/glwImpl.inl
framework/opengl/wrapper/glwInitExtES.inl
framework/opengl/wrapper/glwInitExtGL.inl
framework/platform/null/tcuNullRenderContextFuncs.inl
framework/platform/null/tcuNullRenderContextInitFuncs.inl
scripts/opengl/src_util.py

index 0743712..d9f3b5d 100644 (file)
@@ -1236,6 +1236,20 @@ void CallLogWrapper::glFramebufferTextureLayer (glw::GLenum target, glw::GLenum
        m_gl.framebufferTextureLayer(target, attachment, texture, level, layer);
 }
 
+void CallLogWrapper::glFramebufferTextureMultisampleMultiviewOVR (glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLsizei samples, glw::GLint baseViewIndex, glw::GLsizei numViews)
+{
+       if (m_enableLog)
+               m_log << TestLog::Message << "glFramebufferTextureMultisampleMultiviewOVR(" << toHex(target) << ", " << toHex(attachment) << ", " << texture << ", " << level << ", " << samples << ", " << baseViewIndex << ", " << numViews << ");" << TestLog::EndMessage;
+       m_gl.framebufferTextureMultisampleMultiviewOVR(target, attachment, texture, level, samples, baseViewIndex, numViews);
+}
+
+void CallLogWrapper::glFramebufferTextureMultiviewOVR (glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint baseViewIndex, glw::GLsizei numViews)
+{
+       if (m_enableLog)
+               m_log << TestLog::Message << "glFramebufferTextureMultiviewOVR(" << toHex(target) << ", " << toHex(attachment) << ", " << texture << ", " << level << ", " << baseViewIndex << ", " << numViews << ");" << TestLog::EndMessage;
+       m_gl.framebufferTextureMultiviewOVR(target, attachment, texture, level, baseViewIndex, numViews);
+}
+
 void CallLogWrapper::glFrontFace (glw::GLenum mode)
 {
        if (m_enableLog)
index 71bddd9..9acbee0 100644 (file)
@@ -176,6 +176,8 @@ void                                        glFramebufferTexture1D                                                  (glw::GLenum target, glw::GLenum attachmen
 void                                   glFramebufferTexture2D                                                  (glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level);
 void                                   glFramebufferTexture3D                                                  (glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level, glw::GLint zoffset);
 void                                   glFramebufferTextureLayer                                               (glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint layer);
+void                                   glFramebufferTextureMultisampleMultiviewOVR             (glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLsizei samples, glw::GLint baseViewIndex, glw::GLsizei numViews);
+void                                   glFramebufferTextureMultiviewOVR                                (glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint baseViewIndex, glw::GLsizei numViews);
 void                                   glFrontFace                                                                             (glw::GLenum mode);
 void                                   glGenBuffers                                                                    (glw::GLsizei n, glw::GLuint *buffers);
 void                                   glGenFramebuffers                                                               (glw::GLsizei n, glw::GLuint *framebuffers);
index befa4b9..4e4f520 100644 (file)
 #define                        glFramebufferTexture2D                                                  glwFramebufferTexture2D
 #define                        glFramebufferTexture3D                                                  glwFramebufferTexture3D
 #define                        glFramebufferTextureLayer                                               glwFramebufferTextureLayer
+#define                        glFramebufferTextureMultisampleMultiviewOVR             glwFramebufferTextureMultisampleMultiviewOVR
+#define                        glFramebufferTextureMultiviewOVR                                glwFramebufferTextureMultiviewOVR
 #define                        glFrontFace                                                                             glwFrontFace
 #define                        glGenBuffers                                                                    glwGenBuffers
 #define                        glGenFramebuffers                                                               glwGenFramebuffers
@@ -836,6 +838,8 @@ void                        glwFramebufferTexture1D                                                 (GLenum target, GLenum attachment, GLenum t
 void                   glwFramebufferTexture2D                                                 (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 void                   glwFramebufferTexture3D                                                 (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
 void                   glwFramebufferTextureLayer                                              (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+void                   glwFramebufferTextureMultisampleMultiviewOVR    (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews);
+void                   glwFramebufferTextureMultiviewOVR                               (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
 void                   glwFrontFace                                                                    (GLenum mode);
 void                   glwGenBuffers                                                                   (GLsizei n, GLuint *buffers);
 void                   glwGenFramebuffers                                                              (GLsizei n, GLuint *framebuffers);
index d6e51ab..6506906 100644 (file)
 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR                                              0x93DC
 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12                                                  0x93DD
 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR                                              0x93DD
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR                                        0x9630
+#define GL_MAX_VIEWS_OVR                                                                                               0x9631
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR                  0x9632
+#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR                                             0x9633
index 63adcec..9c0bdd9 100644 (file)
@@ -176,6 +176,8 @@ typedef GLW_APICALL void                    (GLW_APIENTRY* glFramebufferTexture1DFunc)                                                      (GLe
 typedef GLW_APICALL void                       (GLW_APIENTRY* glFramebufferTexture2DFunc)                                                      (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 typedef GLW_APICALL void                       (GLW_APIENTRY* glFramebufferTexture3DFunc)                                                      (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
 typedef GLW_APICALL void                       (GLW_APIENTRY* glFramebufferTextureLayerFunc)                                           (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef GLW_APICALL void                       (GLW_APIENTRY* glFramebufferTextureMultisampleMultiviewOVRFunc)         (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews);
+typedef GLW_APICALL void                       (GLW_APIENTRY* glFramebufferTextureMultiviewOVRFunc)                            (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
 typedef GLW_APICALL void                       (GLW_APIENTRY* glFrontFaceFunc)                                                                         (GLenum mode);
 typedef GLW_APICALL void                       (GLW_APIENTRY* glGenBuffersFunc)                                                                        (GLsizei n, GLuint *buffers);
 typedef GLW_APICALL void                       (GLW_APIENTRY* glGenFramebuffersFunc)                                                           (GLsizei n, GLuint *framebuffers);
index 4d304eb..0895423 100644 (file)
@@ -176,6 +176,8 @@ glFramebufferTexture1DFunc                                                  framebufferTexture1D;
 glFramebufferTexture2DFunc                                                     framebufferTexture2D;
 glFramebufferTexture3DFunc                                                     framebufferTexture3D;
 glFramebufferTextureLayerFunc                                          framebufferTextureLayer;
+glFramebufferTextureMultisampleMultiviewOVRFunc                framebufferTextureMultisampleMultiviewOVR;
+glFramebufferTextureMultiviewOVRFunc                           framebufferTextureMultiviewOVR;
 glFrontFaceFunc                                                                                frontFace;
 glGenBuffersFunc                                                                       genBuffers;
 glGenFramebuffersFunc                                                          genFramebuffers;
index ed39d82..c958017 100644 (file)
@@ -1388,6 +1388,22 @@ void glwFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint textur
        gl->framebufferTextureLayer(target, attachment, texture, level, layer);
 }
 
+void glwFramebufferTextureMultisampleMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews)
+{
+       const glw::Functions* gl = glw::getCurrentThreadFunctions();
+       if (!gl)
+               return;
+       gl->framebufferTextureMultisampleMultiviewOVR(target, attachment, texture, level, samples, baseViewIndex, numViews);
+}
+
+void glwFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews)
+{
+       const glw::Functions* gl = glw::getCurrentThreadFunctions();
+       if (!gl)
+               return;
+       gl->framebufferTextureMultiviewOVR(target, attachment, texture, level, baseViewIndex, numViews);
+}
+
 void glwFrontFace (GLenum mode)
 {
        const glw::Functions* gl = glw::getCurrentThreadFunctions();
index fc74f3b..a167f56 100644 (file)
@@ -137,3 +137,13 @@ if (de::contains(extSet, "GL_OES_draw_elements_base_vertex"))
        gl->drawRangeElementsBaseVertex         = (glDrawRangeElementsBaseVertexFunc)           loader->get("glDrawRangeElementsBaseVertexOES");
        gl->multiDrawElementsBaseVertex         = (glMultiDrawElementsBaseVertexFunc)           loader->get("glMultiDrawElementsBaseVertexOES");
 }
+
+if (de::contains(extSet, "GL_OVR_multiview"))
+{
+       gl->framebufferTextureMultiviewOVR      = (glFramebufferTextureMultiviewOVRFunc)        loader->get("glFramebufferTextureMultiviewOVR");
+}
+
+if (de::contains(extSet, "GL_OVR_multiview_multisampled_render_to_texture"))
+{
+       gl->framebufferTextureMultisampleMultiviewOVR   = (glFramebufferTextureMultisampleMultiviewOVRFunc)     loader->get("glFramebufferTextureMultisampleMultiviewOVR");
+}
index 590ef0d..2196cdc 100644 (file)
@@ -38,3 +38,8 @@ if (de::contains(extSet, "GL_KHR_robustness"))
        gl->getnUniformuiv                      = (glGetnUniformuivFunc)                        loader->get("glGetnUniformuiv");
        gl->readnPixels                         = (glReadnPixelsFunc)                           loader->get("glReadnPixels");
 }
+
+if (de::contains(extSet, "GL_OVR_multiview"))
+{
+       gl->framebufferTextureMultiviewOVR      = (glFramebufferTextureMultiviewOVRFunc)        loader->get("glFramebufferTextureMultiviewOVR");
+}
index 8b39a19..0f00e72 100644 (file)
@@ -1461,6 +1461,29 @@ GLW_APICALL void GLW_APIENTRY glFramebufferTextureLayer (GLenum target, GLenum a
 
 }
 
+GLW_APICALL void GLW_APIENTRY glFramebufferTextureMultisampleMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews)
+{
+       DE_UNREF(target);
+       DE_UNREF(attachment);
+       DE_UNREF(texture);
+       DE_UNREF(level);
+       DE_UNREF(samples);
+       DE_UNREF(baseViewIndex);
+       DE_UNREF(numViews);
+
+}
+
+GLW_APICALL void GLW_APIENTRY glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews)
+{
+       DE_UNREF(target);
+       DE_UNREF(attachment);
+       DE_UNREF(texture);
+       DE_UNREF(level);
+       DE_UNREF(baseViewIndex);
+       DE_UNREF(numViews);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glFrontFace (GLenum mode)
 {
        DE_UNREF(mode);
index a6c58fe..b6478b0 100644 (file)
@@ -176,6 +176,8 @@ gl->framebufferTexture1D                                            = glFramebufferTexture1D;
 gl->framebufferTexture2D                                               = glFramebufferTexture2D;
 gl->framebufferTexture3D                                               = glFramebufferTexture3D;
 gl->framebufferTextureLayer                                            = glFramebufferTextureLayer;
+gl->framebufferTextureMultisampleMultiviewOVR  = glFramebufferTextureMultisampleMultiviewOVR;
+gl->framebufferTextureMultiviewOVR                             = glFramebufferTextureMultiviewOVR;
 gl->frontFace                                                                  = glFrontFace;
 gl->genBuffers                                                                 = glGenBuffers;
 gl->genFramebuffers                                                            = glGenFramebuffers;
index 6494273..cfb5120 100644 (file)
@@ -72,6 +72,8 @@ EXTENSIONS                    = [
        'GL_KHR_robustness',
        'GL_EXT_draw_elements_base_vertex',
        'GL_OES_draw_elements_base_vertex',
+       'GL_OVR_multiview',
+       'GL_OVR_multiview_multisampled_render_to_texture',
 ]
 
 def getGLRegistry ():