|  | // Copyright 2014 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #include <GLES2/gl2.h> | 
|  | #include <GLES2/gl2ext.h> | 
|  |  | 
|  | #include "base/logging.h" | 
|  | #include "gpu/command_buffer/tests/gl_manager.h" | 
|  | #include "gpu/command_buffer/tests/gl_test_utils.h" | 
|  | #include "testing/gmock/include/gmock/gmock.h" | 
|  | #include "testing/gtest/include/gtest/gtest.h" | 
|  |  | 
|  | namespace gpu { | 
|  |  | 
|  | class GLSharedResources : public testing::Test { | 
|  | protected: | 
|  | void SetUp() override { | 
|  | GLManager::Options options; | 
|  | options.bind_generates_resource = true; | 
|  | gl1_.Initialize(options); | 
|  | options.share_group_manager = &gl1_; | 
|  | gl2_.Initialize(options); | 
|  | } | 
|  |  | 
|  | void TearDown() override { | 
|  | gl1_.Destroy(); | 
|  | gl2_.Destroy(); | 
|  | } | 
|  |  | 
|  | GLManager gl1_; | 
|  | GLManager gl2_; | 
|  | }; | 
|  |  | 
|  | // Test that GL creating/deleting works across context. | 
|  | TEST_F(GLSharedResources, CreateDelete) { | 
|  | gl1_.MakeCurrent(); | 
|  | GLuint tex = 0; | 
|  | glGenTextures(1, &tex); | 
|  | gl2_.MakeCurrent(); | 
|  | glBindTexture(GL_TEXTURE_2D, tex); | 
|  | glDeleteTextures(1, &tex); | 
|  | gl1_.MakeCurrent(); | 
|  | glBindTexture(GL_TEXTURE_2D,tex); | 
|  | GLTestHelper::CheckGLError("no errors", __LINE__); | 
|  | gl2_.MakeCurrent(); | 
|  | GLTestHelper::CheckGLError("no errors", __LINE__); | 
|  | } | 
|  |  | 
|  | }  // namespace gpu | 
|  |  |