OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2011 The Chromium Authors. All rights reserved. | 2 * Copyright (c) 2011 The Chromium Authors. All rights reserved. |
3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
5 */ | 5 */ |
6 | 6 |
7 #include "native_client/src/shared/ppapi_proxy/plugin_ppb_graphics_3d.h" | 7 #include "native_client/src/shared/ppapi_proxy/plugin_ppb_graphics_3d.h" |
8 | 8 |
9 #include "gpu/command_buffer/client/gles2_implementation.h" | 9 #include "gpu/command_buffer/client/gles2_implementation.h" |
10 #include "native_client/src/shared/ppapi_proxy/command_buffer_nacl.h" | 10 #include "native_client/src/shared/ppapi_proxy/command_buffer_nacl.h" |
(...skipping 23 matching lines...) Expand all Loading... |
34 if (attrib_list) { | 34 if (attrib_list) { |
35 // skip over attrib pairs | 35 // skip over attrib pairs |
36 while (attrib_list[num] != PP_GRAPHICS3DATTRIB_NONE) | 36 while (attrib_list[num] != PP_GRAPHICS3DATTRIB_NONE) |
37 num += 2; | 37 num += 2; |
38 // Add one more for PP_GRAPHICS3DATTRIB_NONE. | 38 // Add one more for PP_GRAPHICS3DATTRIB_NONE. |
39 num += 1; | 39 num += 1; |
40 } | 40 } |
41 return num; | 41 return num; |
42 } | 42 } |
43 | 43 |
| 44 int32_t GetAttribMaxValue(PP_Resource instance, |
| 45 int32_t attribute, |
| 46 int32_t* value) { |
| 47 // TODO(nfullagar): Implement me. |
| 48 return PP_ERROR_FAILED; |
| 49 } |
| 50 |
44 PP_Resource Create(PP_Instance instance, | 51 PP_Resource Create(PP_Instance instance, |
45 PP_Resource share_context, | 52 PP_Resource share_context, |
46 const int32_t* attrib_list) { | 53 const int32_t* attrib_list) { |
47 DebugPrintf("PPB_Graphics3D::Create: instance=%"NACL_PRIu32"\n", instance); | 54 DebugPrintf("PPB_Graphics3D::Create: instance=%"NACL_PRIu32"\n", instance); |
48 PP_Resource graphics3d_id = kInvalidResourceId; | 55 PP_Resource graphics3d_id = kInvalidResourceId; |
49 nacl_abi_size_t num_attribs = GetNumAttribs(attrib_list); | 56 nacl_abi_size_t num_attribs = GetNumAttribs(attrib_list); |
50 NaClSrpcError retval = | 57 NaClSrpcError retval = |
51 PpbGraphics3DRpcClient::PPB_Graphics3DTrusted_CreateRaw( | 58 PpbGraphics3DRpcClient::PPB_Graphics3DTrusted_CreateRaw( |
52 GetMainSrpcChannel(), | 59 GetMainSrpcChannel(), |
53 instance, | 60 instance, |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 GetMainSrpcChannel(), | 105 GetMainSrpcChannel(), |
99 graphics3d_id, | 106 graphics3d_id, |
100 num_attribs, attrib_list, | 107 num_attribs, attrib_list, |
101 &pp_error); | 108 &pp_error); |
102 if (retval != NACL_SRPC_RESULT_OK) { | 109 if (retval != NACL_SRPC_RESULT_OK) { |
103 return PP_ERROR_BADARGUMENT; | 110 return PP_ERROR_BADARGUMENT; |
104 } | 111 } |
105 return pp_error; | 112 return pp_error; |
106 } | 113 } |
107 | 114 |
| 115 int32_t GetError(PP_Resource graphics_3d) { |
| 116 // TODO(nfullagar): Implement me. |
| 117 return PP_ERROR_FAILED; |
| 118 } |
| 119 |
108 int32_t ResizeBuffers(PP_Resource graphics3d_id, | 120 int32_t ResizeBuffers(PP_Resource graphics3d_id, |
109 int32_t width, | 121 int32_t width, |
110 int32_t height) { | 122 int32_t height) { |
111 if ((width < 0) || (height < 0)) | 123 if ((width < 0) || (height < 0)) |
112 return PP_ERROR_BADARGUMENT; | 124 return PP_ERROR_BADARGUMENT; |
113 gpu::gles2::GLES2Implementation* impl = | 125 gpu::gles2::GLES2Implementation* impl = |
114 PluginGraphics3D::implFromResource(graphics3d_id); | 126 PluginGraphics3D::implFromResource(graphics3d_id); |
115 if (impl == NULL) | 127 if (impl == NULL) |
116 return PP_ERROR_BADRESOURCE; | 128 return PP_ERROR_BADRESOURCE; |
117 impl->ResizeCHROMIUM(width, height); | 129 impl->ResizeCHROMIUM(width, height); |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 return pp_error; | 230 return pp_error; |
219 | 231 |
220 impl()->SwapBuffers(); | 232 impl()->SwapBuffers(); |
221 return PP_OK_COMPLETIONPENDING; | 233 return PP_OK_COMPLETIONPENDING; |
222 } | 234 } |
223 | 235 |
224 | 236 |
225 // static | 237 // static |
226 const PPB_Graphics3D_Dev* PluginGraphics3D::GetInterface() { | 238 const PPB_Graphics3D_Dev* PluginGraphics3D::GetInterface() { |
227 static const PPB_Graphics3D_Dev intf = { | 239 static const PPB_Graphics3D_Dev intf = { |
| 240 &GetAttribMaxValue, |
228 &Create, | 241 &Create, |
229 &IsGraphics3D, | 242 &IsGraphics3D, |
230 &GetAttribs, | 243 &GetAttribs, |
231 &SetAttribs, | 244 &SetAttribs, |
| 245 &GetError, |
232 &ResizeBuffers, | 246 &ResizeBuffers, |
233 &SwapBuffs, | 247 &SwapBuffs, |
234 }; | 248 }; |
235 return &intf; | 249 return &intf; |
236 } | 250 } |
237 | 251 |
238 } // namespace ppapi_proxy | 252 } // namespace ppapi_proxy |
239 | 253 |
OLD | NEW |