OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 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. | |
4 | |
5 #include "content/common/gpu/null_transport_surface.h" | |
6 | |
7 #include "base/command_line.h" | |
8 #include "content/common/gpu/gpu_channel.h" | |
9 #include "content/common/gpu/gpu_channel_manager.h" | |
10 #include "content/common/gpu/gpu_command_buffer_stub.h" | |
11 #include "content/public/common/content_switches.h" | |
12 #include "gpu/command_buffer/service/context_group.h" | |
13 | |
14 namespace content { | |
15 | |
16 NullTransportSurface::NullTransportSurface( | |
17 GpuChannelManager* manager, | |
18 GpuCommandBufferStub* stub, | |
19 const gfx::GLSurfaceHandle& handle) | |
20 : PassThroughImageTransportSurface(manager, | |
21 stub, | |
22 manager->GetDefaultOffscreenSurface()), | |
23 parent_client_id_(handle.parent_client_id) { | |
24 } | |
25 | |
26 NullTransportSurface::~NullTransportSurface() { | |
27 } | |
28 | |
29 bool NullTransportSurface::Initialize() { | |
30 if (!surface()) | |
31 return false; | |
32 | |
33 if (!PassThroughImageTransportSurface::Initialize()) | |
34 return false; | |
35 | |
36 GpuChannel* parent_channel = | |
37 GetHelper()->manager()->LookupChannel(parent_client_id_); | |
38 if (parent_channel) { | |
39 const base::CommandLine* command_line = | |
40 base::CommandLine::ForCurrentProcess(); | |
41 if (command_line->HasSwitch(switches::kUIPrioritizeInGpuProcess)) | |
42 GetHelper()->SetPreemptByFlag(parent_channel->GetPreemptionFlag()); | |
43 } | |
44 | |
45 return true; | |
46 } | |
47 | |
48 void NullTransportSurface::Destroy() { | |
49 // Do not destroy |surface_| since we use the shared offscreen surface. | |
50 } | |
51 | |
52 bool NullTransportSurface::SwapBuffers() { | |
53 NOTREACHED(); | |
piman
2014/09/30 03:06:47
nit: technically, the client code could call swap
no sievers
2014/09/30 17:21:32
Changed to NOTIMPLEMENTED().
| |
54 return false; | |
55 } | |
56 | |
57 bool NullTransportSurface::PostSubBuffer( | |
58 int x, int y, int width, int height) { | |
59 NOTREACHED(); | |
60 return false; | |
61 } | |
62 | |
63 void NullTransportSurface::SendVSyncUpdateIfAvailable() { | |
64 NOTREACHED(); | |
65 } | |
66 | |
67 } // namespace content | |
OLD | NEW |