Convert Google Now's Authentication Manager to use Promises
[chromium-blink-merge.git] / gpu / command_buffer / tests / gl_shared_resources_unittest.cc
blob33411c610c716a20d0a9701bf4e47e522bc49a91
1 // Copyright 2014 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.
5 #include <GLES2/gl2.h>
6 #include <GLES2/gl2ext.h>
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"
14 namespace gpu {
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);
33 virtual void TearDown() {
34 gl1_.Destroy();
35 gl2_.Destroy();
38 GLManager gl1_;
39 GLManager gl2_;
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__);
57 } // namespace gpu