1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef PAPPI_TESTS_TEST_GRAPHICS_3D_H_ 6 #define PAPPI_TESTS_TEST_GRAPHICS_3D_H_ 7 8 #include <string> 9 #include "ppapi/tests/test_case.h" 10 11 struct PPB_OpenGLES2; 12 13 namespace pp { 14 class Graphics3D; 15 } // namespace pp 16 17 class TestGraphics3D : public TestCase { 18 public: 19 TestGraphics3D(TestingInstance* instance) : TestCase(instance) {} 20 21 // TestCase implementation. 22 virtual bool Init(); 23 virtual void RunTests(const std::string& filter); 24 25 private: 26 // Various tests. 27 std::string TestExtensionsGL(); 28 std::string TestFrameGL(); 29 std::string TestFramePPAPI(); 30 31 // Utils used by various tests. 32 int32_t SwapBuffersSync(pp::Graphics3D* context); 33 std::string CheckPixelPPAPI(pp::Graphics3D* context, 34 int x, int y, const uint8_t expected_color[4]); 35 std::string CheckPixelGL(int x, int y, const uint8_t expected_color[4]); 36 37 // OpenGL ES2 interface. 38 const PPB_OpenGLES2* opengl_es2_; 39 }; 40 41 #endif // PAPPI_TESTS_TEST_GRAPHICS_3D_H_ 42