Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(169)

Side by Side Diff: ppapi/proxy/ppb_graphics_3d_proxy.cc

Issue 1548443002: Introducing gpu::CommandBufferId as a distinct, IdType<...>-based type. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@type-safe-save-package-id-self-contained
Patch Set: Rebasing... Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ppapi/proxy/ppb_graphics_3d_proxy.h ('k') | ppapi/proxy/resource_creation_proxy.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 "ppapi/proxy/ppb_graphics_3d_proxy.h" 5 #include "ppapi/proxy/ppb_graphics_3d_proxy.h"
6 6
7 #include "base/numerics/safe_conversions.h" 7 #include "base/numerics/safe_conversions.h"
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 #include "gpu/command_buffer/client/gles2_implementation.h" 9 #include "gpu/command_buffer/client/gles2_implementation.h"
10 #include "gpu/command_buffer/common/command_buffer.h" 10 #include "gpu/command_buffer/common/command_buffer.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 : PPB_Graphics3D_Shared(resource) { 52 : PPB_Graphics3D_Shared(resource) {
53 } 53 }
54 54
55 Graphics3D::~Graphics3D() { 55 Graphics3D::~Graphics3D() {
56 DestroyGLES2Impl(); 56 DestroyGLES2Impl();
57 } 57 }
58 58
59 bool Graphics3D::Init(gpu::gles2::GLES2Implementation* share_gles2, 59 bool Graphics3D::Init(gpu::gles2::GLES2Implementation* share_gles2,
60 const gpu::Capabilities& capabilities, 60 const gpu::Capabilities& capabilities,
61 const SerializedHandle& shared_state, 61 const SerializedHandle& shared_state,
62 uint64_t command_buffer_id) { 62 gpu::CommandBufferId command_buffer_id) {
63 PluginDispatcher* dispatcher = PluginDispatcher::GetForResource(this); 63 PluginDispatcher* dispatcher = PluginDispatcher::GetForResource(this);
64 if (!dispatcher) 64 if (!dispatcher)
65 return false; 65 return false;
66 66
67 command_buffer_.reset(new PpapiCommandBufferProxy( 67 command_buffer_.reset(new PpapiCommandBufferProxy(
68 host_resource(), dispatcher, capabilities, shared_state, 68 host_resource(), dispatcher, capabilities, shared_state,
69 command_buffer_id)); 69 command_buffer_id));
70 70
71 return CreateGLES2Impl(kCommandBufferSize, kTransferBufferSize, 71 return CreateGLES2Impl(kCommandBufferSize, kTransferBufferSize,
72 share_gles2); 72 share_gles2);
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 attr += 2) { 170 attr += 2) {
171 attribs.push_back(attr[0]); 171 attribs.push_back(attr[0]);
172 attribs.push_back(attr[1]); 172 attribs.push_back(attr[1]);
173 } 173 }
174 } 174 }
175 attribs.push_back(PP_GRAPHICS3DATTRIB_NONE); 175 attribs.push_back(PP_GRAPHICS3DATTRIB_NONE);
176 176
177 HostResource result; 177 HostResource result;
178 gpu::Capabilities capabilities; 178 gpu::Capabilities capabilities;
179 ppapi::proxy::SerializedHandle shared_state; 179 ppapi::proxy::SerializedHandle shared_state;
180 uint64_t command_buffer_id = 0; 180 gpu::CommandBufferId command_buffer_id;
181 dispatcher->Send(new PpapiHostMsg_PPBGraphics3D_Create(API_ID_PPB_GRAPHICS_3D, 181 dispatcher->Send(new PpapiHostMsg_PPBGraphics3D_Create(API_ID_PPB_GRAPHICS_3D,
182 instance, share_host, attribs, &result, &capabilities, &shared_state, 182 instance, share_host, attribs, &result, &capabilities, &shared_state,
183 &command_buffer_id)); 183 &command_buffer_id));
184 184
185 if (result.is_null()) 185 if (result.is_null())
186 return 0; 186 return 0;
187 187
188 scoped_refptr<Graphics3D> graphics_3d(new Graphics3D(result)); 188 scoped_refptr<Graphics3D> graphics_3d(new Graphics3D(result));
189 if (!graphics_3d->Init(share_gles2, capabilities, shared_state, 189 if (!graphics_3d->Init(share_gles2, capabilities, shared_state,
190 command_buffer_id)) { 190 command_buffer_id)) {
(...skipping 28 matching lines...) Expand all
219 IPC_MESSAGE_HANDLER(PpapiMsg_PPBGraphics3D_SwapBuffersACK, 219 IPC_MESSAGE_HANDLER(PpapiMsg_PPBGraphics3D_SwapBuffersACK,
220 OnMsgSwapBuffersACK) 220 OnMsgSwapBuffersACK)
221 IPC_MESSAGE_UNHANDLED(handled = false) 221 IPC_MESSAGE_UNHANDLED(handled = false)
222 222
223 IPC_END_MESSAGE_MAP() 223 IPC_END_MESSAGE_MAP()
224 // FIXME(brettw) handle bad messages! 224 // FIXME(brettw) handle bad messages!
225 return handled; 225 return handled;
226 } 226 }
227 227
228 #if !defined(OS_NACL) 228 #if !defined(OS_NACL)
229 void PPB_Graphics3D_Proxy::OnMsgCreate(PP_Instance instance, 229 void PPB_Graphics3D_Proxy::OnMsgCreate(
230 HostResource share_context, 230 PP_Instance instance,
231 const std::vector<int32_t>& attribs, 231 HostResource share_context,
232 HostResource* result, 232 const std::vector<int32_t>& attribs,
233 gpu::Capabilities* capabilities, 233 HostResource* result,
234 SerializedHandle* shared_state, 234 gpu::Capabilities* capabilities,
235 uint64_t* command_buffer_id) { 235 SerializedHandle* shared_state,
236 gpu::CommandBufferId* command_buffer_id) {
236 shared_state->set_null_shmem(); 237 shared_state->set_null_shmem();
237 if (attribs.empty() || 238 if (attribs.empty() ||
238 attribs.back() != PP_GRAPHICS3DATTRIB_NONE || 239 attribs.back() != PP_GRAPHICS3DATTRIB_NONE ||
239 !(attribs.size() & 1)) 240 !(attribs.size() & 1))
240 return; // Bad message. 241 return; // Bad message.
241 242
242 thunk::EnterResourceCreation enter(instance); 243 thunk::EnterResourceCreation enter(instance);
243 244
244 if (!enter.succeeded()) 245 if (!enter.succeeded())
245 return; 246 return;
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 void PPB_Graphics3D_Proxy::SendSwapBuffersACKToPlugin( 362 void PPB_Graphics3D_Proxy::SendSwapBuffersACKToPlugin(
362 int32_t result, 363 int32_t result,
363 const HostResource& context) { 364 const HostResource& context) {
364 dispatcher()->Send(new PpapiMsg_PPBGraphics3D_SwapBuffersACK( 365 dispatcher()->Send(new PpapiMsg_PPBGraphics3D_SwapBuffersACK(
365 API_ID_PPB_GRAPHICS_3D, context, result)); 366 API_ID_PPB_GRAPHICS_3D, context, result));
366 } 367 }
367 #endif // !defined(OS_NACL) 368 #endif // !defined(OS_NACL)
368 369
369 } // namespace proxy 370 } // namespace proxy
370 } // namespace ppapi 371 } // namespace ppapi
OLDNEW
« no previous file with comments | « ppapi/proxy/ppb_graphics_3d_proxy.h ('k') | ppapi/proxy/resource_creation_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698