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 #include "webkit/plugins/ppapi/ppb_graphics_3d_impl.h" | 5 #include "webkit/plugins/ppapi/ppb_graphics_3d_impl.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "gpu/command_buffer/client/gles2_implementation.h" | 9 #include "gpu/command_buffer/client/gles2_implementation.h" |
10 #include "ppapi/c/ppp_graphics_3d.h" | 10 #include "ppapi/c/ppp_graphics_3d.h" |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 new PPB_Graphics3D_Impl(instance)); | 81 new PPB_Graphics3D_Impl(instance)); |
82 if (!graphics_3d->InitRaw(share_context, attrib_list)) | 82 if (!graphics_3d->InitRaw(share_context, attrib_list)) |
83 return 0; | 83 return 0; |
84 return graphics_3d->GetReference(); | 84 return graphics_3d->GetReference(); |
85 } | 85 } |
86 | 86 |
87 PPB_Graphics3D_API* PPB_Graphics3D_Impl::AsPPB_Graphics3D_API() { | 87 PPB_Graphics3D_API* PPB_Graphics3D_Impl::AsPPB_Graphics3D_API() { |
88 return this; | 88 return this; |
89 } | 89 } |
90 | 90 |
91 PP_Bool PPB_Graphics3D_Impl::InitCommandBuffer(int32_t size) { | 91 PP_Bool PPB_Graphics3D_Impl::InitCommandBuffer() { |
92 return PP_FromBool(GetCommandBuffer()->Initialize(size)); | 92 return PP_FromBool(GetCommandBuffer()->Initialize()); |
93 } | 93 } |
94 | 94 |
95 PP_Bool PPB_Graphics3D_Impl::GetRingBuffer(int* shm_handle, | 95 PP_Bool PPB_Graphics3D_Impl::SetGetBuffer(int32_t transfer_buffer_id) { |
96 uint32_t* shm_size) { | 96 GetCommandBuffer()->SetGetBuffer(transfer_buffer_id); |
97 gpu::Buffer buffer = GetCommandBuffer()->GetRingBuffer(); | 97 return PP_TRUE; |
98 return ShmToHandle(buffer.shared_memory, buffer.size, shm_handle, shm_size); | |
99 } | 98 } |
100 | 99 |
101 PP_Graphics3DTrustedState PPB_Graphics3D_Impl::GetState() { | 100 PP_Graphics3DTrustedState PPB_Graphics3D_Impl::GetState() { |
102 return PPStateFromGPUState(GetCommandBuffer()->GetState()); | 101 return PPStateFromGPUState(GetCommandBuffer()->GetState()); |
103 } | 102 } |
104 | 103 |
105 int32_t PPB_Graphics3D_Impl::CreateTransferBuffer(uint32_t size) { | 104 int32_t PPB_Graphics3D_Impl::CreateTransferBuffer(uint32_t size) { |
106 return GetCommandBuffer()->CreateTransferBuffer(size, -1); | 105 return GetCommandBuffer()->CreateTransferBuffer(size, -1); |
107 } | 106 } |
108 | 107 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 | 184 |
186 return PP_OK_COMPLETIONPENDING; | 185 return PP_OK_COMPLETIONPENDING; |
187 } | 186 } |
188 | 187 |
189 bool PPB_Graphics3D_Impl::Init(PP_Resource share_context, | 188 bool PPB_Graphics3D_Impl::Init(PP_Resource share_context, |
190 const int32_t* attrib_list) { | 189 const int32_t* attrib_list) { |
191 if (!InitRaw(share_context, attrib_list)) | 190 if (!InitRaw(share_context, attrib_list)) |
192 return false; | 191 return false; |
193 | 192 |
194 gpu::CommandBuffer* command_buffer = GetCommandBuffer(); | 193 gpu::CommandBuffer* command_buffer = GetCommandBuffer(); |
195 if (!command_buffer->Initialize(kCommandBufferSize)) | 194 if (!command_buffer->Initialize()) |
196 return false; | 195 return false; |
197 | 196 |
198 return CreateGLES2Impl(kCommandBufferSize, kTransferBufferSize); | 197 return CreateGLES2Impl(kCommandBufferSize, kTransferBufferSize); |
199 } | 198 } |
200 | 199 |
201 bool PPB_Graphics3D_Impl::InitRaw(PP_Resource share_context, | 200 bool PPB_Graphics3D_Impl::InitRaw(PP_Resource share_context, |
202 const int32_t* attrib_list) { | 201 const int32_t* attrib_list) { |
203 PluginInstance* plugin_instance = ResourceHelper::GetPluginInstance(this); | 202 PluginInstance* plugin_instance = ResourceHelper::GetPluginInstance(this); |
204 if (!plugin_instance) | 203 if (!plugin_instance) |
205 return false; | 204 return false; |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 const PPP_Graphics3D* ppp_graphics_3d = | 253 const PPP_Graphics3D* ppp_graphics_3d = |
255 static_cast<const PPP_Graphics3D*>( | 254 static_cast<const PPP_Graphics3D*>( |
256 instance->module()->GetPluginInterface( | 255 instance->module()->GetPluginInterface( |
257 PPP_GRAPHICS_3D_INTERFACE)); | 256 PPP_GRAPHICS_3D_INTERFACE)); |
258 if (ppp_graphics_3d) | 257 if (ppp_graphics_3d) |
259 ppp_graphics_3d->Graphics3DContextLost(pp_instance()); | 258 ppp_graphics_3d->Graphics3DContextLost(pp_instance()); |
260 } | 259 } |
261 | 260 |
262 } // namespace ppapi | 261 } // namespace ppapi |
263 } // namespace webkit | 262 } // namespace webkit |
OLD | NEW |