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 11struct PPB_OpenGLES2; 12 13namespace pp { 14class Graphics3D; 15} // namespace pp 16 17class 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