diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/ThirdParty/ANGLE/src/tests/gl_tests/DebugMarkerTest.cpp | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/ThirdParty/ANGLE/src/tests/gl_tests/DebugMarkerTest.cpp')
-rw-r--r-- | Source/ThirdParty/ANGLE/src/tests/gl_tests/DebugMarkerTest.cpp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Source/ThirdParty/ANGLE/src/tests/gl_tests/DebugMarkerTest.cpp b/Source/ThirdParty/ANGLE/src/tests/gl_tests/DebugMarkerTest.cpp new file mode 100644 index 000000000..6bd4a4322 --- /dev/null +++ b/Source/ThirdParty/ANGLE/src/tests/gl_tests/DebugMarkerTest.cpp @@ -0,0 +1,71 @@ +// +// Copyright 2015 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// DebugMarkerTest: +// Basic tests to ensure EXT_debug_marker entry points work. + +#include "test_utils/ANGLETest.h" + +using namespace angle; + +namespace +{ + +class DebugMarkerTest : public ANGLETest +{ + protected: + DebugMarkerTest() + { + setWindowWidth(128); + setWindowHeight(128); + setConfigRedBits(8); + setConfigGreenBits(8); + setConfigBlueBits(8); + setConfigAlphaBits(8); + } +}; + +// Simple test to ensure the various EXT_debug_marker entry points don't crash. +// The debug markers can be validated by capturing this test under PIX/Graphics Diagnostics. +TEST_P(DebugMarkerTest, BasicValidation) +{ + if (!extensionEnabled("GL_EXT_debug_marker")) + { + std::cout << "Test skipped due to missing GL_EXT_debug_marker" << std::endl; + return; + } + + std::string eventMarkerCaption = "Test event marker caption"; + std::string groupMarkerCaption = "Test group marker caption"; + + glPushGroupMarkerEXT(static_cast<GLsizei>(groupMarkerCaption.length()), + groupMarkerCaption.c_str()); + + // Do some basic operations between calls to extension entry points + glClearColor(1.0f, 1.0f, 1.0f, 1.0f); + glClear(GL_COLOR_BUFFER_BIT); + + glInsertEventMarkerEXT(static_cast<GLsizei>(eventMarkerCaption.length()), + eventMarkerCaption.c_str()); + glClearColor(1.0f, 0.0f, 0.0f, 1.0f); + glClear(GL_COLOR_BUFFER_BIT); + + glPushGroupMarkerEXT(0, NULL); + glClearColor(0.0f, 1.0f, 0.0f, 0.0f); + glClear(GL_COLOR_BUFFER_BIT); + + glPopGroupMarkerEXT(); + glClearColor(0.0f, 0.0f, 1.0f, 0.0f); + glClear(GL_COLOR_BUFFER_BIT); + + glPopGroupMarkerEXT(); + + ASSERT_GL_NO_ERROR(); +} + +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +ANGLE_INSTANTIATE_TEST(DebugMarkerTest, ES2_D3D9(), ES2_D3D11(), ES2_OPENGL(), ES2_OPENGLES()); + +} // namespace |