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 |