Replace missmatch_object with invalid_object
authorJames Helferty <jhelferty@nvidia.com>
Wed, 6 Sep 2017 18:12:53 +0000 (14:12 -0400)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 15 Sep 2017 11:23:20 +0000 (07:23 -0400)
Modifies the missmatch_object (sic) test for glCopyImageSubData into an
invalid object test. The changes clarify what the test is actually
testing, and avoids an issue where an unexpectedly valid object name
could cause the test to fail.

Also fixes the spelling of 'mismatch' in several places, corrects the
description for Test [C], and corrects mention of 'CopyImageSubData'.

Components: OpenGL

VK-GL-CTS issue: 669

Affects:
* KHR-GL43/44/45/46.copy_image.missmatch_object, which are now
* KHR-GL43/44/45/46.copy_image.invalid_object
* KHR-GL43/44/45/46.copy_image.samples_missmatch, which are now
* KHR-GL43/44/45/46.copy_image.samples_mismatch

Change-Id: I5127435afc1c116df3d4fa8d6d78397069255603

external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl43-master.txt
external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl44-master.txt
external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl45-master.txt
external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl46-master.txt
external/openglcts/modules/gl/gl4cCopyImageTests.cpp
external/openglcts/modules/gl/gl4cCopyImageTests.hpp

index ef9c468..8d9f3fe 100644 (file)
@@ -3859,12 +3859,12 @@ KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing3
 KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL43.copy_image.functional
 KHR-GL43.copy_image.incomplete_tex
-KHR-GL43.copy_image.missmatch_object
+KHR-GL43.copy_image.invalid_object
 KHR-GL43.copy_image.smoke_test
 KHR-GL43.copy_image.invalid_target
 KHR-GL43.copy_image.target_miss_match
 KHR-GL43.copy_image.incompatible_formats
-KHR-GL43.copy_image.samples_missmatch
+KHR-GL43.copy_image.samples_mismatch
 KHR-GL43.copy_image.incompatible_formats_compression
 KHR-GL43.copy_image.non_existent_mipmap
 KHR-GL43.copy_image.exceeding_boundaries
index 9058da9..1433d60 100644 (file)
@@ -3859,12 +3859,12 @@ KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing3
 KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL44.copy_image.functional
 KHR-GL44.copy_image.incomplete_tex
-KHR-GL44.copy_image.missmatch_object
+KHR-GL44.copy_image.invalid_object
 KHR-GL44.copy_image.smoke_test
 KHR-GL44.copy_image.invalid_target
 KHR-GL44.copy_image.target_miss_match
 KHR-GL44.copy_image.incompatible_formats
-KHR-GL44.copy_image.samples_missmatch
+KHR-GL44.copy_image.samples_mismatch
 KHR-GL44.copy_image.incompatible_formats_compression
 KHR-GL44.copy_image.non_existent_mipmap
 KHR-GL44.copy_image.exceeding_boundaries
index a2cd0ec..08a021d 100644 (file)
@@ -3860,12 +3860,12 @@ KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing3
 KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL45.copy_image.functional
 KHR-GL45.copy_image.incomplete_tex
-KHR-GL45.copy_image.missmatch_object
+KHR-GL45.copy_image.invalid_object
 KHR-GL45.copy_image.smoke_test
 KHR-GL45.copy_image.invalid_target
 KHR-GL45.copy_image.target_miss_match
 KHR-GL45.copy_image.incompatible_formats
-KHR-GL45.copy_image.samples_missmatch
+KHR-GL45.copy_image.samples_mismatch
 KHR-GL45.copy_image.incompatible_formats_compression
 KHR-GL45.copy_image.non_existent_mipmap
 KHR-GL45.copy_image.exceeding_boundaries
index dc2efdf..85755c7 100644 (file)
@@ -3860,12 +3860,12 @@ KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing3
 KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL46.copy_image.functional
 KHR-GL46.copy_image.incomplete_tex
-KHR-GL46.copy_image.missmatch_object
+KHR-GL46.copy_image.invalid_object
 KHR-GL46.copy_image.smoke_test
 KHR-GL46.copy_image.invalid_target
 KHR-GL46.copy_image.target_miss_match
 KHR-GL46.copy_image.incompatible_formats
-KHR-GL46.copy_image.samples_missmatch
+KHR-GL46.copy_image.samples_mismatch
 KHR-GL46.copy_image.incompatible_formats_compression
 KHR-GL46.copy_image.non_existent_mipmap
 KHR-GL46.copy_image.exceeding_boundaries
index 949908b..a816577 100644 (file)
@@ -2507,7 +2507,7 @@ bool Utils::unpackAndComaprePixels(GLenum left_format, GLenum left_type, GLenum
  * @param context Text context
  **/
 FunctionalTest::FunctionalTest(deqp::Context& context)
-       : TestCase(context, "functional", "Test verifies CopySubImageData copy data as requested")
+       : TestCase(context, "functional", "Test verifies CopyImageSubData copy data as requested")
        , m_dst_buf_name(0)
        , m_dst_tex_name(0)
        , m_rb_name(0)
@@ -4130,7 +4130,7 @@ bool SmokeTest::verify(const testCase& test_case, const GLubyte* src_pixels)
  **/
 InvalidTargetTest::InvalidTargetTest(deqp::Context& context)
        : TestCase(context, "invalid_target",
-                          "Test verifies if INVALID_ENUM is generated when invalid target is provided to CopySubImageData")
+                          "Test verifies if INVALID_ENUM is generated when invalid target is provided to CopyImageSubData")
        , m_dst_buf_name(0)
        , m_dst_tex_name(0)
        , m_src_buf_name(0)
@@ -4295,15 +4295,15 @@ void InvalidTargetTest::clean()
        }
 }
 
-/* TargetMissMatchTest */
+/* TargetMismatchTest */
 /** Constructor
  *
  * @param context Text context
  **/
-TargetMissMatchTest::TargetMissMatchTest(deqp::Context& context)
+TargetMismatchTest::TargetMismatchTest(deqp::Context& context)
        : TestCase(
                  context, "target_miss_match",
-                 "Test verifies if INVALID_ENUM is generated when target provided to CopySubImageData does not match texture")
+                 "Test verifies if INVALID_ENUM is generated when target provided to CopyImageSubData does not match texture")
        , m_dst_buf_name(0)
        , m_dst_tex_name(0)
        , m_src_buf_name(0)
@@ -4379,7 +4379,7 @@ TargetMissMatchTest::TargetMissMatchTest(deqp::Context& context)
  *
  * @return CONTINUE as long there are more test case, STOP otherwise
  **/
-tcu::TestNode::IterateResult TargetMissMatchTest::iterate()
+tcu::TestNode::IterateResult TargetMismatchTest::iterate()
 {
        GLenum                                           error   = GL_NO_ERROR;
        const Functions&                         gl                = m_context.getRenderContext().getFunctions();
@@ -4449,7 +4449,7 @@ tcu::TestNode::IterateResult TargetMissMatchTest::iterate()
 /** Cleans resources
  *
  **/
-void TargetMissMatchTest::clean()
+void TargetMismatchTest::clean()
 {
        const Functions& gl = m_context.getRenderContext().getFunctions();
 
@@ -4473,7 +4473,7 @@ void TargetMissMatchTest::clean()
        }
 }
 
-/* TargetMissMatchTest */
+/* TargetMismatchTest */
 /** Constructor
  *
  * @param context Text context
@@ -4481,7 +4481,7 @@ void TargetMissMatchTest::clean()
 IncompleteTexTest::IncompleteTexTest(deqp::Context& context)
        : TestCase(
                  context, "incomplete_tex",
-                 "Test verifies if INVALID_OPERATION is generated when texture provided to CopySubImageData is incomplete")
+                 "Test verifies if INVALID_OPERATION is generated when texture provided to CopyImageSubData is incomplete")
        , m_dst_buf_name(0)
        , m_dst_tex_name(0)
        , m_src_buf_name(0)
@@ -4629,7 +4629,7 @@ void IncompleteTexTest::clean()
 IncompatibleFormatsTest::IncompatibleFormatsTest(deqp::Context& context)
        : TestCase(
                  context, "incompatible_formats",
-                 "Test verifies if INVALID_OPERATION is generated when textures provided to CopySubImageData are incompatible")
+                 "Test verifies if INVALID_OPERATION is generated when textures provided to CopyImageSubData are incompatible")
        , m_dst_buf_name(0)
        , m_dst_tex_name(0)
        , m_src_buf_name(0)
@@ -4827,9 +4827,9 @@ void IncompatibleFormatsTest::clean()
  *
  * @param context Text context
  **/
-SamplesMissMatchTest::SamplesMissMatchTest(deqp::Context& context)
-       : TestCase(context, "samples_missmatch", "Test verifies if INVALID_OPERATION is generated when textures provided "
-                                                                                        "to CopySubImageData have different number of samples")
+SamplesMismatchTest::SamplesMismatchTest(deqp::Context& context)
+       : TestCase(context, "samples_mismatch", "Test verifies if INVALID_OPERATION is generated when textures provided "
+                                                                                       "to CopyImageSubData have different number of samples")
        , m_dst_tex_name(0)
        , m_src_tex_name(0)
        , m_test_case_index(0)
@@ -4873,7 +4873,7 @@ SamplesMissMatchTest::SamplesMissMatchTest(deqp::Context& context)
  *
  * @return CONTINUE as long there are more test case, STOP otherwise
  **/
-tcu::TestNode::IterateResult SamplesMissMatchTest::iterate()
+tcu::TestNode::IterateResult SamplesMismatchTest::iterate()
 {
        GLenum                                           error   = GL_NO_ERROR;
        const Functions&                         gl                = m_context.getRenderContext().getFunctions();
@@ -4939,7 +4939,7 @@ tcu::TestNode::IterateResult SamplesMissMatchTest::iterate()
 /** Cleans resources
  *
  **/
-void SamplesMissMatchTest::clean()
+void SamplesMismatchTest::clean()
 {
        const Functions& gl = m_context.getRenderContext().getFunctions();
 
@@ -4958,7 +4958,7 @@ void SamplesMissMatchTest::clean()
  **/
 IncompatibleFormatsCompressionTest::IncompatibleFormatsCompressionTest(deqp::Context& context)
        : TestCase(context, "incompatible_formats_compression", "Test verifies if INVALID_OPERATION is generated when "
-                                                                                                                       "textures provided to CopySubImageData are incompatible, "
+                                                                                                                       "textures provided to CopyImageSubData are incompatible, "
                                                                                                                        "one of formats is compressed")
        , m_dst_tex_name(0)
        , m_src_tex_name(0)
@@ -5091,35 +5091,42 @@ void IncompatibleFormatsCompressionTest::clean()
        m_src_tex_name = 0;
 }
 
-/* MissMatchObjectTest */
+/* InvalidObjectTest */
 /** Constructor
  *
  * @param context Text context
  **/
-MissMatchObjectTest::MissMatchObjectTest(deqp::Context& context)
+InvalidObjectTest::InvalidObjectTest(deqp::Context& context)
        : TestCase(
-                 context, "missmatch_object",
-                 "Test verifies if INVALID_VALUE is generated when object & target provided to CopySubImageData do not match")
+                 context, "invalid_object",
+                 "Test verifies if INVALID_VALUE is generated when object & target provided to CopyImageSubData do not match")
        , m_dst_name(0)
        , m_src_name(0)
        , m_test_case_index(0)
 {
-       static const testCase test_cases[] = { { GL_TEXTURE_2D, GL_TEXTURE_2D, GL_TEXTURE_2D, GL_NO_ERROR },
-                                                                                  { GL_TEXTURE_2D, GL_RENDERBUFFER, GL_TEXTURE_2D, GL_INVALID_VALUE },
-                                                                                  { GL_TEXTURE_2D, GL_TEXTURE_2D, GL_RENDERBUFFER, GL_INVALID_VALUE },
-                                                                                  { GL_TEXTURE_2D, GL_RENDERBUFFER, GL_RENDERBUFFER, GL_INVALID_VALUE },
-                                                                                  { GL_RENDERBUFFER, GL_TEXTURE_2D, GL_TEXTURE_2D, GL_INVALID_VALUE },
-                                                                                  { GL_RENDERBUFFER, GL_RENDERBUFFER, GL_TEXTURE_2D, GL_INVALID_VALUE },
-                                                                                  { GL_RENDERBUFFER, GL_TEXTURE_2D, GL_RENDERBUFFER, GL_INVALID_VALUE },
-                                                                                  { GL_RENDERBUFFER, GL_RENDERBUFFER, GL_RENDERBUFFER, GL_NO_ERROR } };
+       static glw::GLenum  arg_types[] = { GL_TEXTURE_2D, GL_RENDERBUFFER };
+       static const GLuint n_arg_types = sizeof(arg_types) / sizeof(arg_types[0]);
 
-       static const GLuint n_test_cases = sizeof(test_cases) / sizeof(testCase);
-
-       for (GLuint i = 0; i < n_test_cases; ++i)
+       for (GLuint dst = 0; dst < n_arg_types; dst++)
        {
-               const testCase& test_case = test_cases[i];
+               for (GLuint src = 0; src < n_arg_types; src++)
+               {
+                       for (GLuint dst_valid = 0; dst_valid < 2; dst_valid++)
+                       {
+                               for (GLuint src_valid = 0; src_valid < 2; src_valid++)
+                               {
+                                       glw::GLenum expected_error = GL_INVALID_VALUE;
+                                       if (!!src_valid && !!dst_valid)
+                                       {
+                                               expected_error = GL_NO_ERROR;
+                                       }
+                                       const testCase test_case = { arg_types[dst], !!dst_valid, arg_types[src], !!src_valid,
+                                                                                                expected_error };
 
-               m_test_cases.push_back(test_case);
+                                       m_test_cases.push_back(test_case);
+                               }
+                       }
+               }
        }
 }
 
@@ -5127,7 +5134,7 @@ MissMatchObjectTest::MissMatchObjectTest(deqp::Context& context)
  *
  * @return CONTINUE as long there are more test case, STOP otherwise
  **/
-tcu::TestNode::IterateResult MissMatchObjectTest::iterate()
+tcu::TestNode::IterateResult InvalidObjectTest::iterate()
 {
        GLenum                                           error   = GL_NO_ERROR;
        const Functions&                         gl                = m_context.getRenderContext().getFunctions();
@@ -5139,21 +5146,41 @@ tcu::TestNode::IterateResult MissMatchObjectTest::iterate()
        try
        {
                /* Prepare objects */
-               if (GL_RENDERBUFFER == test_case.m_obj_target)
+               if (GL_RENDERBUFFER == test_case.m_dst_target)
                {
                        m_dst_name = Utils::prepareRenderBuffer(m_context, GL_RGBA8);
-                       m_src_name = Utils::prepareRenderBuffer(m_context, GL_RGBA8);
                }
                else
                {
                        m_dst_name =
-                               Utils::prepareTex16x16x6(m_context, test_case.m_obj_target, GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE, temp);
-                       m_src_name =
-                               Utils::prepareTex16x16x6(m_context, test_case.m_obj_target, GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE, temp);
+                               Utils::prepareTex16x16x6(m_context, test_case.m_dst_target, GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE, temp);
 
                        /* Make textures complete */
-                       Utils::makeTextureComplete(m_context, test_case.m_obj_target, m_dst_name, 0 /* base */, 0 /* max */);
-                       Utils::makeTextureComplete(m_context, test_case.m_obj_target, m_src_name, 0 /* base */, 0 /* max */);
+                       Utils::makeTextureComplete(m_context, test_case.m_dst_target, m_dst_name, 0 /* base */, 0 /* max */);
+               }
+
+               if (GL_RENDERBUFFER == test_case.m_src_target)
+               {
+                       m_src_name = Utils::prepareRenderBuffer(m_context, GL_RGBA8);
+               }
+               else
+               {
+                       m_src_name =
+                               Utils::prepareTex16x16x6(m_context, test_case.m_src_target, GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE, temp);
+
+                       /* Make texture complete */
+                       Utils::makeTextureComplete(m_context, test_case.m_src_target, m_src_name, 0 /* base */, 0 /* max */);
+               }
+
+               /* If an object is invalid, free it before use to make it invalid */
+               if (!test_case.m_dst_valid)
+               {
+                       Utils::deleteTexture(m_context, test_case.m_dst_target, m_dst_name);
+               }
+
+               if (!test_case.m_src_valid)
+               {
+                       Utils::deleteTexture(m_context, test_case.m_src_target, m_src_name);
                }
        }
        catch (tcu::Exception& exc)
@@ -5192,9 +5219,10 @@ tcu::TestNode::IterateResult MissMatchObjectTest::iterate()
                m_context.getTestContext().getLog()
                        << tcu::TestLog::Message << "Failure. Expected result: " << glu::getErrorStr(test_case.m_expected_result)
                        << " got: " << glu::getErrorStr(error)
-                       << ". Object target: " << glu::getTextureTargetStr(test_case.m_obj_target)
-                       << ". Source target: " << glu::getTextureTargetStr(test_case.m_src_target)
-                       << ". Destination target: " << glu::getTextureTargetStr(test_case.m_dst_target) << tcu::TestLog::EndMessage;
+                       << ". Destination target: " << glu::getTextureTargetStr(test_case.m_dst_target)
+                       << ". Destination valid: " << (test_case.m_src_valid ? "true" : "false")
+                       << ". Source target: " << glu::getTextureTargetStr(test_case.m_dst_target)
+                       << ". Source valid: " << (test_case.m_dst_valid ? "true" : "false") << "." << tcu::TestLog::EndMessage;
 
                m_context.getTestContext().setTestResult(QP_TEST_RESULT_FAIL, "Fail");
        }
@@ -5206,21 +5234,33 @@ tcu::TestNode::IterateResult MissMatchObjectTest::iterate()
 /** Cleans resources
  *
  **/
-void MissMatchObjectTest::clean()
+void InvalidObjectTest::clean()
 {
        const Functions& gl                = m_context.getRenderContext().getFunctions();
        const testCase&  test_case = m_test_cases[m_test_case_index];
 
        /* Clean textures or renderbuffers. Errors ignored */
-       if (GL_RENDERBUFFER == test_case.m_obj_target)
+       if (test_case.m_dst_valid)
        {
-               gl.deleteRenderbuffers(1, &m_dst_name);
-               gl.deleteRenderbuffers(1, &m_src_name);
+               if (GL_RENDERBUFFER == test_case.m_dst_target)
+               {
+                       gl.deleteRenderbuffers(1, &m_dst_name);
+               }
+               else
+               {
+                       gl.deleteTextures(1, &m_dst_name);
+               }
        }
-       else
+       if (test_case.m_src_valid)
        {
-               gl.deleteTextures(1, &m_dst_name);
-               gl.deleteTextures(1, &m_src_name);
+               if (GL_RENDERBUFFER == test_case.m_src_target)
+               {
+                       gl.deleteRenderbuffers(1, &m_src_name);
+               }
+               else
+               {
+                       gl.deleteTextures(1, &m_src_name);
+               }
        }
 
        m_dst_name = 0;
@@ -5233,7 +5273,7 @@ void MissMatchObjectTest::clean()
  * @param context Text context
  **/
 NonExistentMipMapTest::NonExistentMipMapTest(deqp::Context& context)
-       : TestCase(context, "non_existent_mipmap", "Test verifies if INVALID_VALUE is generated when CopySubImageData is "
+       : TestCase(context, "non_existent_mipmap", "Test verifies if INVALID_VALUE is generated when CopyImageSubData is "
                                                                                           "executed for mipmap that does not exist")
        , m_dst_tex_name(0)
        , m_src_tex_name(0)
@@ -5366,7 +5406,7 @@ const glw::GLuint ExceedingBoundariesTest::m_region_width  = 4;
  * @param context Text context
  **/
 ExceedingBoundariesTest::ExceedingBoundariesTest(deqp::Context& context)
-       : TestCase(context, "exceeding_boundaries", "Test verifies if INVALID_VALUE is generated when CopySubImageData is "
+       : TestCase(context, "exceeding_boundaries", "Test verifies if INVALID_VALUE is generated when CopyImageSubData is "
                                                                                                "executed for regions exceeding image boundaries")
        , m_dst_tex_name(0)
        , m_src_tex_name(0)
@@ -5536,7 +5576,7 @@ void ExceedingBoundariesTest::clean()
  * @param context Text context
  **/
 InvalidAlignmentTest::InvalidAlignmentTest(deqp::Context& context)
-       : TestCase(context, "invalid_alignment", "Test verifies if INVALID_VALUE is generated when CopySubImageData is "
+       : TestCase(context, "invalid_alignment", "Test verifies if INVALID_VALUE is generated when CopyImageSubData is "
                                                                                         "executed for regions with invalid alignment")
        , m_dst_tex_name(0)
        , m_src_tex_name(0)
@@ -5689,12 +5729,12 @@ void CopyImageTests::init()
 {
        addChild(new CopyImage::FunctionalTest(m_context));
        addChild(new CopyImage::IncompleteTexTest(m_context));
-       addChild(new CopyImage::MissMatchObjectTest(m_context));
+       addChild(new CopyImage::InvalidObjectTest(m_context));
        addChild(new CopyImage::SmokeTest(m_context));
        addChild(new CopyImage::InvalidTargetTest(m_context));
-       addChild(new CopyImage::TargetMissMatchTest(m_context));
+       addChild(new CopyImage::TargetMismatchTest(m_context));
        addChild(new CopyImage::IncompatibleFormatsTest(m_context));
-       addChild(new CopyImage::SamplesMissMatchTest(m_context));
+       addChild(new CopyImage::SamplesMismatchTest(m_context));
        addChild(new CopyImage::IncompatibleFormatsCompressionTest(m_context));
        addChild(new CopyImage::NonExistentMipMapTest(m_context));
        addChild(new CopyImage::ExceedingBoundariesTest(m_context));
index 4f990b8..ff7a95b 100644 (file)
@@ -292,11 +292,11 @@ private:
  * * Verify that usage of a non-matching target for either the source or
  *   destination objects results in a GL_INVALID_ENUM error.
  **/
-class TargetMissMatchTest : public deqp::TestCase
+class TargetMismatchTest : public deqp::TestCase
 {
 public:
-       TargetMissMatchTest(deqp::Context& context);
-       virtual ~TargetMissMatchTest()
+       TargetMismatchTest(deqp::Context& context);
+       virtual ~TargetMismatchTest()
        {
        }
 
@@ -327,9 +327,9 @@ private:
 
 /** Implements negative test C. Description follows:
  *
- * [B]
- * * Verify that usage of a non-matching target for either the source or
- *   destination objects results in a GL_INVALID_ENUM error.
+ * [C]
+ * * Verify that INVALID_OPERATION is generated when the texture provided
+ *   to CopyImageSubData is incomplete
  **/
 class IncompleteTexTest : public deqp::TestCase
 {
@@ -414,11 +414,11 @@ private:
  *   do not match in terms of number of samples they can hold, results in
  *   GL_INVALID_OPERATION error.
  **/
-class SamplesMissMatchTest : public deqp::TestCase
+class SamplesMismatchTest : public deqp::TestCase
 {
 public:
-       SamplesMissMatchTest(deqp::Context& context);
-       virtual ~SamplesMissMatchTest()
+       SamplesMismatchTest(deqp::Context& context);
+       virtual ~SamplesMismatchTest()
        {
        }
 
@@ -492,16 +492,16 @@ private:
 /** Implements negative test G. Description follows:
  *
  * [G]
- * * Verify that usage of a mismatching <srcTarget> or <dstTarget> argument
+ * * Verify that usage of an invalid <srcTarget> or <dstTarget> argument
  *   generates GL_INVALID_VALUE error. For the purpose of the test, make sure
  *   to iterate over the set of all objects that can be used as source or
  *   destination objects.
  **/
-class MissMatchObjectTest : public deqp::TestCase
+class InvalidObjectTest : public deqp::TestCase
 {
 public:
-       MissMatchObjectTest(deqp::Context& context);
-       virtual ~MissMatchObjectTest()
+       InvalidObjectTest(deqp::Context& context);
+       virtual ~InvalidObjectTest()
        {
        }
 
@@ -512,9 +512,10 @@ private:
        /* Private types */
        struct testCase
        {
-               glw::GLenum m_obj_target;
                glw::GLenum m_dst_target;
+               bool            m_dst_valid;
                glw::GLenum m_src_target;
+               bool            m_src_valid;
                glw::GLenum m_expected_result;
        };