Chromium Code Reviews| Index: ppapi/proxy/video_decoder_resource.cc |
| diff --git a/ppapi/proxy/video_decoder_resource.cc b/ppapi/proxy/video_decoder_resource.cc |
| index 95365e8bba8e67e29c9834a7d0c118ef122067ae..39540292cf3cc15c58f82830003cec6a75bb70e5 100644 |
| --- a/ppapi/proxy/video_decoder_resource.cc |
| +++ b/ppapi/proxy/video_decoder_resource.cc |
| @@ -7,6 +7,7 @@ |
| #include "base/bind.h" |
| #include "gpu/command_buffer/client/gles2_cmd_helper.h" |
| #include "gpu/command_buffer/client/gles2_implementation.h" |
| +#include "gpu/command_buffer/common/mailbox.h" |
| #include "ipc/ipc_message.h" |
| #include "ppapi/c/pp_errors.h" |
| #include "ppapi/c/ppb_opengles2.h" |
| @@ -332,8 +333,10 @@ void VideoDecoderResource::OnPluginMsgRequestTextures( |
| const ResourceMessageReplyParams& params, |
| uint32_t num_textures, |
| const PP_Size& size, |
| - uint32_t texture_target) { |
| + uint32_t texture_target, |
| + const std::vector<gpu::Mailbox>& mailboxes) { |
| DCHECK(num_textures); |
| + DCHECK(!mailboxes.size() || mailboxes.size() == num_textures); |
|
dmichael (off chromium)
2014/06/05 23:00:44
!mailboxes.size()
->
mailboxes.empty()
bbudge
2014/06/06 02:03:46
Done.
|
| std::vector<uint32_t> texture_ids(num_textures); |
| if (gles2_impl_) { |
| gles2_impl_->GenTextures(num_textures, &texture_ids.front()); |
| @@ -360,6 +363,8 @@ void VideoDecoderResource::OnPluginMsgRequestTextures( |
| GL_UNSIGNED_BYTE, |
| NULL); |
| } |
| + if (!mailboxes.empty()) |
| + gles2_impl_->ProduceTextureCHROMIUM(GL_TEXTURE_2D, mailboxes[i].name); |
| textures_.insert( |
| std::make_pair(texture_ids[i], Texture(texture_target, size))); |