Ensure expected error in copytexsubimage2d_incomplete_framebuffer am: 89bb39d249...
authorAlexander Galazin <alexander.galazin@arm.com>
Wed, 19 Apr 2017 16:46:17 +0000 (16:46 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Wed, 19 Apr 2017 16:46:17 +0000 (16:46 +0000)
am: 8c429200b5

Change-Id: I431920156e60dced3b11094329bd334a42ca43b8

modules/gles2/functional/es2fNegativeTextureApiTests.cpp

index 4d8d72e..4c8b5e4 100644 (file)
@@ -1086,16 +1086,27 @@ void NegativeTextureApiTests::init (void)
                });
        ES2F_ADD_API_CASE(copytexsubimage2d_incomplete_framebuffer, "Invalid glCopyTexSubImage2D() usage",
                {
-                       GLuint texture;
-                       glGenTextures(1, &texture);
-                       glBindTexture(GL_TEXTURE_2D, texture);
-                       glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
-
                        m_log << tcu::TestLog::Section("", "GL_INVALID_FRAMEBUFFER_OPERATION is generated if the currently bound framebuffer is not framebuffer complete.");
+
+                       GLuint texture[2];
                        GLuint fbo;
+
+                       glGenTextures                   (2, texture);
+                       glBindTexture                   (GL_TEXTURE_2D, texture[0]);
+                       glTexImage2D                    (GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
+                       glBindTexture                   (GL_TEXTURE_CUBE_MAP, texture[1]);
+                       glTexImage2D                    (GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
+                       glTexImage2D                    (GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
+                       glTexImage2D                    (GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
+                       glTexImage2D                    (GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
+                       glTexImage2D                    (GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
+                       glTexImage2D                    (GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
+                       expectError(GL_NO_ERROR);
+
                        glGenFramebuffers(1, &fbo);
                        glBindFramebuffer(GL_FRAMEBUFFER, fbo);
                        glCheckFramebufferStatus(GL_FRAMEBUFFER);
+                       expectError(GL_NO_ERROR);
 
                        glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, 0, 0);
                        expectError(GL_INVALID_FRAMEBUFFER_OPERATION);
@@ -1114,9 +1125,10 @@ void NegativeTextureApiTests::init (void)
 
                        glBindFramebuffer(GL_FRAMEBUFFER, 0);
                        glDeleteFramebuffers(1, &fbo);
+                       glDeleteTextures(2, texture);
+
                        m_log << tcu::TestLog::EndSection;
 
-                       glDeleteTextures(1, &texture);
                });
 
        // glDeleteTextures