| OLD | NEW |
| 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <stdint.h> | 5 #include <stdint.h> |
| 6 | 6 |
| 7 #include "base/memory/shared_memory.h" | 7 #include "base/memory/shared_memory.h" |
| 8 #include "base/test/test_message_loop.h" | 8 #include "base/test/test_message_loop.h" |
| 9 #include "gpu/ipc/common/gpu_messages.h" | 9 #include "gpu/ipc/common/gpu_messages.h" |
| 10 #include "gpu/ipc/service/gpu_channel.h" | 10 #include "gpu/ipc/service/gpu_channel.h" |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 SetArrayArgument<1>(kFakeTextureIds, kFakeTextureIds + 1)); | 111 SetArrayArgument<1>(kFakeTextureIds, kFakeTextureIds + 1)); |
| 112 EXPECT_CALL(*gl_interface_, GenTextures(2, NotNull())) | 112 EXPECT_CALL(*gl_interface_, GenTextures(2, NotNull())) |
| 113 .Times(AnyNumber()) | 113 .Times(AnyNumber()) |
| 114 .WillRepeatedly( | 114 .WillRepeatedly( |
| 115 SetArrayArgument<1>(kFakeTextureIds, kFakeTextureIds + 2)); | 115 SetArrayArgument<1>(kFakeTextureIds, kFakeTextureIds + 2)); |
| 116 // And errors should be squashed. | 116 // And errors should be squashed. |
| 117 EXPECT_CALL(*gl_interface_, CheckFramebufferStatusEXT(GL_FRAMEBUFFER)) | 117 EXPECT_CALL(*gl_interface_, CheckFramebufferStatusEXT(GL_FRAMEBUFFER)) |
| 118 .Times(AnyNumber()) | 118 .Times(AnyNumber()) |
| 119 .WillRepeatedly(Return(GL_FRAMEBUFFER_COMPLETE)); | 119 .WillRepeatedly(Return(GL_FRAMEBUFFER_COMPLETE)); |
| 120 | 120 |
| 121 // Dynamic bindings must be set up for the GLES2DecoderImpl, which requires | |
| 122 // a GLContext. Use a GLContextStub which does nothing but call through to | |
| 123 // our |gl_interface| above. | |
| 124 stub_context_ = new gl::GLContextStub; | |
| 125 stub_surface_ = new gl::GLSurfaceStub; | |
| 126 stub_context_->MakeCurrent(stub_surface_.get()); | |
| 127 gl::GLSurfaceTestSupport::InitializeDynamicMockBindings( | |
| 128 stub_context_.get()); | |
| 129 | |
| 130 GpuChannelTestCommon::SetUp(); | 121 GpuChannelTestCommon::SetUp(); |
| 131 } | 122 } |
| 132 | 123 |
| 133 void TearDown() override { | 124 void TearDown() override { |
| 134 GpuChannelTestCommon::TearDown(); | 125 GpuChannelTestCommon::TearDown(); |
| 135 | 126 |
| 136 stub_context_ = nullptr; | |
| 137 stub_surface_ = nullptr; | |
| 138 gl::MockGLInterface::SetGLInterface(nullptr); | 127 gl::MockGLInterface::SetGLInterface(nullptr); |
| 139 gl::init::ClearGLBindings(); | 128 gl::init::ClearGLBindings(); |
| 140 gl_interface_ = nullptr; | 129 gl_interface_ = nullptr; |
| 141 } | 130 } |
| 142 | 131 |
| 143 GpuChannel* CreateChannel(int32_t client_id, | 132 GpuChannel* CreateChannel(int32_t client_id, |
| 144 bool allow_view_command_buffers, | 133 bool allow_view_command_buffers, |
| 145 bool allow_real_time_streams) { | 134 bool allow_real_time_streams) { |
| 146 DCHECK(channel_manager()); | 135 DCHECK(channel_manager()); |
| 147 uint64_t kClientTracingId = 1; | 136 uint64_t kClientTracingId = 1; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 shared_memory.CreateAnonymous(10); | 174 shared_memory.CreateAnonymous(10); |
| 186 base::SharedMemoryHandle shmem_handle; | 175 base::SharedMemoryHandle shmem_handle; |
| 187 shared_memory.ShareToProcess(base::GetCurrentProcessHandle(), | 176 shared_memory.ShareToProcess(base::GetCurrentProcessHandle(), |
| 188 &shmem_handle); | 177 &shmem_handle); |
| 189 return shmem_handle; | 178 return shmem_handle; |
| 190 } | 179 } |
| 191 | 180 |
| 192 private: | 181 private: |
| 193 base::TestMessageLoop message_loop_; | 182 base::TestMessageLoop message_loop_; |
| 194 std::unique_ptr<gl::MockGLInterface> gl_interface_; | 183 std::unique_ptr<gl::MockGLInterface> gl_interface_; |
| 195 scoped_refptr<gl::GLContextStub> stub_context_; | |
| 196 scoped_refptr<gl::GLSurfaceStub> stub_surface_; | |
| 197 }; | 184 }; |
| 198 | 185 |
| 199 #if defined(OS_WIN) | 186 #if defined(OS_WIN) |
| 200 const SurfaceHandle kFakeSurfaceHandle = reinterpret_cast<SurfaceHandle>(1); | 187 const SurfaceHandle kFakeSurfaceHandle = reinterpret_cast<SurfaceHandle>(1); |
| 201 #else | 188 #else |
| 202 const SurfaceHandle kFakeSurfaceHandle = 1; | 189 const SurfaceHandle kFakeSurfaceHandle = 1; |
| 203 #endif | 190 #endif |
| 204 | 191 |
| 205 TEST_F(GpuChannelTest, CreateViewCommandBufferAllowed) { | 192 TEST_F(GpuChannelTest, CreateViewCommandBufferAllowed) { |
| 206 int32_t kClientId = 1; | 193 int32_t kClientId = 1; |
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 506 EXPECT_TRUE(channel->LookupCommandBuffer(kSharedRouteId)); | 493 EXPECT_TRUE(channel->LookupCommandBuffer(kSharedRouteId)); |
| 507 | 494 |
| 508 // Destroy the command buffers we initialized before destoying GL. | 495 // Destroy the command buffers we initialized before destoying GL. |
| 509 HandleMessage(channel, | 496 HandleMessage(channel, |
| 510 new GpuChannelMsg_DestroyCommandBuffer(kFriendlyRouteId)); | 497 new GpuChannelMsg_DestroyCommandBuffer(kFriendlyRouteId)); |
| 511 HandleMessage(channel, | 498 HandleMessage(channel, |
| 512 new GpuChannelMsg_DestroyCommandBuffer(kSharedRouteId)); | 499 new GpuChannelMsg_DestroyCommandBuffer(kSharedRouteId)); |
| 513 } | 500 } |
| 514 | 501 |
| 515 } // namespace gpu | 502 } // namespace gpu |
| OLD | NEW |