| OLD | NEW |
| (Empty) |
| 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 #include <GLES2/gl2.h> | |
| 6 #include <GLES2/gl2ext.h> | |
| 7 | |
| 8 #include "base/logging.h" | |
| 9 #include "gpu/command_buffer/tests/gl_manager.h" | |
| 10 #include "gpu/command_buffer/tests/gl_test_utils.h" | |
| 11 #include "testing/gmock/include/gmock/gmock.h" | |
| 12 #include "testing/gtest/include/gtest/gtest.h" | |
| 13 | |
| 14 namespace gpu { | |
| 15 | |
| 16 class GLSharedResources : public testing::Test { | |
| 17 protected: | |
| 18 virtual void SetUp() { | |
| 19 GLManager::Options options; | |
| 20 #if ENABLE_DCHECK | |
| 21 // This can't be false if DCHECK is enabled because a DCHECK in | |
| 22 // gpu/command_buffer/client/share_group.h will trigger. | |
| 23 // The test below is making sure things don't break in release. | |
| 24 options.bind_generates_resource = false; | |
| 25 #else | |
| 26 options.bind_generates_resource = true; | |
| 27 #endif | |
| 28 gl1_.Initialize(options); | |
| 29 options.share_group_manager = &gl1_; | |
| 30 gl2_.Initialize(options); | |
| 31 } | |
| 32 | |
| 33 virtual void TearDown() { | |
| 34 gl1_.Destroy(); | |
| 35 gl2_.Destroy(); | |
| 36 } | |
| 37 | |
| 38 GLManager gl1_; | |
| 39 GLManager gl2_; | |
| 40 }; | |
| 41 | |
| 42 // Test that GL creating/deleting works across context. | |
| 43 TEST_F(GLSharedResources, CreateDelete) { | |
| 44 gl1_.MakeCurrent(); | |
| 45 GLuint tex = 0; | |
| 46 glGenTextures(1, &tex); | |
| 47 gl2_.MakeCurrent(); | |
| 48 glBindTexture(GL_TEXTURE_2D, tex); | |
| 49 glDeleteTextures(1, &tex); | |
| 50 gl1_.MakeCurrent(); | |
| 51 glBindTexture(GL_TEXTURE_2D,tex); | |
| 52 GLTestHelper::CheckGLError("no errors", __LINE__); | |
| 53 gl2_.MakeCurrent(); | |
| 54 GLTestHelper::CheckGLError("no errors", __LINE__); | |
| 55 } | |
| 56 | |
| 57 } // namespace gpu | |
| 58 | |
| OLD | NEW |