From 598ada4aec5a8ff08559d87176c4a893c6f26452 Mon Sep 17 00:00:00 2001 From: Yabin Zheng Date: Tue, 17 Jul 2018 14:41:57 +0800 Subject: [PATCH] Update transform feedback tests 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 --- .../modules/gles31/es31cVertexAttribBindingTests.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/external/openglcts/modules/gles31/es31cVertexAttribBindingTests.cpp b/external/openglcts/modules/gles31/es31cVertexAttribBindingTests.cpp index 2fb8ad6..35e0918 100644 --- a/external/openglcts/modules/gles31/es31cVertexAttribBindingTests.cpp +++ b/external/openglcts/modules/gles31/es31cVertexAttribBindingTests.cpp @@ -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(); -- 2.7.4