| 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..804754fdab0e0e76db4198f44a455fbcec47ab96 100644
|
| --- a/ppapi/proxy/video_decoder_resource.cc
|
| +++ b/ppapi/proxy/video_decoder_resource.cc
|
| @@ -7,9 +7,11 @@
|
| #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"
|
| +#include "ppapi/proxy/enter_proxy.h"
|
| #include "ppapi/proxy/plugin_dispatcher.h"
|
| #include "ppapi/proxy/ppapi_messages.h"
|
| #include "ppapi/proxy/ppb_graphics_3d_proxy.h"
|
| @@ -332,8 +334,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);
|
| std::vector<uint32_t> texture_ids(num_textures);
|
| if (gles2_impl_) {
|
| gles2_impl_->GenTextures(num_textures, &texture_ids.front());
|
| @@ -360,6 +364,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)));
|
|
|