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 std::string TestBadResource(); 31 32 // Utils used by various tests. 33 int32_t SwapBuffersSync(pp::Graphics3D* context); 34 std::string CheckPixelPPAPI(pp::Graphics3D* context, 35 int x, int y, const uint8_t expected_color[4]); 36 std::string CheckPixelGL(int x, int y, const uint8_t expected_color[4]); 37 38 // OpenGL ES2 interface. 39 const PPB_OpenGLES2* opengl_es2_; 40 }; 41 42 #endif // PAPPI_TESTS_TEST_GRAPHICS_3D_H_ 43