Update transform feedback tests
authorYabin Zheng <yabin.zheng@arm.com>
Tue, 17 Jul 2018 06:41:57 +0000 (14:41 +0800)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 26 Jul 2018 11:47:31 +0000 (07:47 -0400)
GLES3.2 spec made a change in 2018/5/14 version, that The
TRANSFORM_FEEDBACK_BUFFER_BINDING generic buffer binding point has now
been moved to context state, rather than per-object state, and should
be unaffected by glBindTransformFeedback command.

Some tests follow the old standard that they use glBindTransformFeedback
function to change the binding point status.

Components: OpenGL

Affects: KHR-GLES31.core.vertex_attrib_binding.advanced-iterations

VK-GL-CTS issue: 1275

Change-Id: I9a0296ef273321ef8b039986b92baf2353838a99

external/openglcts/modules/gles31/es31cVertexAttribBindingTests.cpp

index 2fb8ad6..35e0918 100644 (file)
@@ -2679,13 +2679,12 @@ public:
 class AdvancedIterations : public VertexAttribBindingBase
 {
 
-       GLuint m_po, m_vao[2], m_xfo[2], m_buffer[2];
+       GLuint m_po, m_vao[2], m_buffer[2];
 
        virtual long Setup()
        {
                m_po = 0;
                glGenVertexArrays(2, m_vao);
-               glGenTransformFeedbacks(2, m_xfo);
                glGenBuffers(2, m_buffer);
                return NO_ERROR;
        }
@@ -2696,7 +2695,6 @@ class AdvancedIterations : public VertexAttribBindingBase
                glUseProgram(0);
                glDeleteProgram(m_po);
                glDeleteVertexArrays(2, m_vao);
-               glDeleteTransformFeedbacks(2, m_xfo);
                glDeleteBuffers(2, m_buffer);
                return NO_ERROR;
        }
@@ -2743,20 +2741,13 @@ class AdvancedIterations : public VertexAttribBindingBase
                glEnableVertexAttribArray(1);
                glBindVertexBuffer(1, m_buffer[1], 0, 16);
                glBindVertexArray(0);
-
-               glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, m_xfo[0]);
-               glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, m_buffer[1]);
-               glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, m_xfo[1]);
-               glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, m_buffer[0]);
-               glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, 0);
-
                glEnable(GL_RASTERIZER_DISCARD);
                glUseProgram(m_po);
 
                for (int i = 0; i < 10; ++i)
                {
                        glBindVertexArray(m_vao[i % 2]);
-                       glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, m_xfo[i % 2]);
+                       glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, m_buffer[(i + 1) % 2]);
                        glBeginTransformFeedback(GL_POINTS);
                        glDrawArrays(GL_POINTS, 0, 1);
                        glEndTransformFeedback();
@@ -2795,7 +2786,7 @@ class AdvancedIterations : public VertexAttribBindingBase
                for (int i = 0; i < 10; ++i)
                {
                        glBindVertexArray(m_vao[i % 2]);
-                       glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, m_xfo[i % 2]);
+                       glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, m_buffer[(i + 1) % 2]);
                        glBeginTransformFeedback(GL_POINTS);
                        glDrawArrays(GL_POINTS, 0, 1);
                        glEndTransformFeedback();