| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // SRPC-abstraction wrappers around PPB_Graphics3D functions. | 5 // SRPC-abstraction wrappers around PPB_Graphics3D functions. |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "native_client/src/include/nacl_scoped_ptr.h" | 9 #include "native_client/src/include/nacl_scoped_ptr.h" |
| 10 #include "native_client/src/include/portability.h" | 10 #include "native_client/src/include/portability.h" |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 } | 237 } |
| 238 DebugPrintf(" PPB_Graphics3DTrusted_CreateRaw: resource=%"NACL_PRId32"\n", | 238 DebugPrintf(" PPB_Graphics3DTrusted_CreateRaw: resource=%"NACL_PRId32"\n", |
| 239 *resource_id); | 239 *resource_id); |
| 240 rpc->result = NACL_SRPC_RESULT_OK; | 240 rpc->result = NACL_SRPC_RESULT_OK; |
| 241 } | 241 } |
| 242 | 242 |
| 243 void PpbGraphics3DRpcServer::PPB_Graphics3DTrusted_InitCommandBuffer( | 243 void PpbGraphics3DRpcServer::PPB_Graphics3DTrusted_InitCommandBuffer( |
| 244 NaClSrpcRpc* rpc, | 244 NaClSrpcRpc* rpc, |
| 245 NaClSrpcClosure* done, | 245 NaClSrpcClosure* done, |
| 246 PP_Resource resource_id, | 246 PP_Resource resource_id, |
| 247 int32_t size, | |
| 248 int32_t* success) { | 247 int32_t* success) { |
| 249 DebugPrintf("PPB_Graphics3DTrusted_InitCommandBuffer(...) resource_id: %d\n", | 248 DebugPrintf("PPB_Graphics3DTrusted_InitCommandBuffer(...) resource_id: %d\n", |
| 250 resource_id); | 249 resource_id); |
| 251 NaClSrpcClosureRunner runner(done); | 250 NaClSrpcClosureRunner runner(done); |
| 252 rpc->result = NACL_SRPC_RESULT_APP_ERROR; | 251 rpc->result = NACL_SRPC_RESULT_APP_ERROR; |
| 253 if ((size > kMaxAllowedBufferSize) || (size < 0)) | |
| 254 return; | |
| 255 *success = ppapi_proxy::PPBGraphics3DTrustedInterface()->InitCommandBuffer( | 252 *success = ppapi_proxy::PPBGraphics3DTrustedInterface()->InitCommandBuffer( |
| 256 resource_id, size); | 253 resource_id); |
| 257 rpc->result = NACL_SRPC_RESULT_OK; | 254 rpc->result = NACL_SRPC_RESULT_OK; |
| 258 } | 255 } |
| 259 | 256 |
| 260 | 257 void PpbGraphics3DRpcServer::PPB_Graphics3DTrusted_SetGetBuffer( |
| 261 void PpbGraphics3DRpcServer::PPB_Graphics3DTrusted_GetRingBuffer( | |
| 262 NaClSrpcRpc* rpc, | 258 NaClSrpcRpc* rpc, |
| 263 NaClSrpcClosure* done, | 259 NaClSrpcClosure* done, |
| 264 PP_Resource resource_id, | 260 PP_Resource resource_id, |
| 265 NaClSrpcImcDescType* shm_desc, | 261 int32_t transfer_buffer_id) { |
| 266 int32_t* shm_size) { | 262 DebugPrintf("PPB_Graphics3DTrusted_SetGetBuffer\n"); |
| 267 DebugPrintf("PPB_Graphics3DTrusted_GetRingBuffer\n"); | |
| 268 nacl::DescWrapperFactory factory; | |
| 269 nacl::scoped_ptr<nacl::DescWrapper> desc_wrapper; | |
| 270 NaClSrpcClosureRunner runner(done); | 263 NaClSrpcClosureRunner runner(done); |
| 271 rpc->result = NACL_SRPC_RESULT_APP_ERROR; | 264 rpc->result = NACL_SRPC_RESULT_APP_ERROR; |
| 272 | 265 ppapi_proxy::PPBGraphics3DTrustedInterface()->SetGetBuffer( |
| 273 int native_handle = 0; | 266 resource_id, transfer_buffer_id); |
| 274 uint32_t native_size = 0; | |
| 275 ppapi_proxy::PPBGraphics3DTrustedInterface()->GetRingBuffer( | |
| 276 resource_id, &native_handle, &native_size); | |
| 277 desc_wrapper.reset(factory.ImportShmHandle( | |
| 278 (NaClHandle)native_handle, native_size)); | |
| 279 *shm_desc = desc_wrapper->desc(); | |
| 280 *shm_size = native_size; | |
| 281 rpc->result = NACL_SRPC_RESULT_OK; | 267 rpc->result = NACL_SRPC_RESULT_OK; |
| 282 } | 268 } |
| 283 | 269 |
| 284 void PpbGraphics3DRpcServer::PPB_Graphics3DTrusted_GetState( | 270 void PpbGraphics3DRpcServer::PPB_Graphics3DTrusted_GetState( |
| 285 NaClSrpcRpc* rpc, | 271 NaClSrpcRpc* rpc, |
| 286 NaClSrpcClosure* done, | 272 NaClSrpcClosure* done, |
| 287 PP_Resource resource_id, | 273 PP_Resource resource_id, |
| 288 nacl_abi_size_t* state_size, char* state) { | 274 nacl_abi_size_t* state_size, char* state) { |
| 289 DebugPrintf("PPB_Graphics3DTrusted_GetState\n"); | 275 DebugPrintf("PPB_Graphics3DTrusted_GetState\n"); |
| 290 NaClSrpcClosureRunner runner(done); | 276 NaClSrpcClosureRunner runner(done); |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 GetTransferBuffer(resource_id, id, &native_handle, &native_size); | 387 GetTransferBuffer(resource_id, id, &native_handle, &native_size); |
| 402 desc_wrapper.reset(factory.ImportShmHandle( | 388 desc_wrapper.reset(factory.ImportShmHandle( |
| 403 (NaClHandle)native_handle, native_size)); | 389 (NaClHandle)native_handle, native_size)); |
| 404 *shm_desc = desc_wrapper->desc(); | 390 *shm_desc = desc_wrapper->desc(); |
| 405 *shm_size = native_size; | 391 *shm_size = native_size; |
| 406 rpc->result = NACL_SRPC_RESULT_OK; | 392 rpc->result = NACL_SRPC_RESULT_OK; |
| 407 | 393 |
| 408 } | 394 } |
| 409 | 395 |
| 410 //@} | 396 //@} |
| OLD | NEW |