Edit

kc3-lang/angle/tests/angle_tests/BufferDataNULLTest.cpp

Branch :

  • Show log

    Commit

  • Author : Geoff Lang
    Date : 2013-10-18 16:14:52
    Hash : d990f8e2
    Message : Added tests for NULL buffer data. TRAC #23776 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods

  • tests/angle_tests/BufferDataNULLTest.cpp
  • #include "ANGLETest.h"
    
    class BufferDataNULLTest : public ANGLETest
    {
    protected:
        BufferDataNULLTest()
        {
            setWindowWidth(1);
            setWindowHeight(1);
        }
    };
    
    TEST_F(BufferDataNULLTest, null_data)
    {
        GLuint buf;
        glGenBuffers(1, &buf);
        ASSERT_NE(buf, 0U);
    
        glBindBuffer(GL_ARRAY_BUFFER, buf);
        EXPECT_GL_NO_ERROR();
    
        const int numIterations = 128;
        for (int i = 0; i < numIterations; ++i)
        {
            GLsizei bufferSize = sizeof(GLfloat) * (i + 1);
            glBufferData(GL_ARRAY_BUFFER, bufferSize, NULL, GL_STATIC_DRAW);
            EXPECT_GL_NO_ERROR();
    
            for (int j = 0; j < bufferSize; j++)
            {
                for (int k = 0; k < bufferSize - j; k++)
                {
                    glBufferSubData(GL_ARRAY_BUFFER, k, j, NULL);
                    EXPECT_GL_NO_ERROR();
                }
            }
        }
    
        glDeleteBuffers(1, &buf);
        EXPECT_GL_NO_ERROR();
    }