Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Side by Side Diff: content/common/gpu/media/gpu_video_decode_accelerator.cc

Issue 11477004: Don't force clearing of textures that the HW decoder will overwrite. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/common/gpu/media/gpu_video_decode_accelerator.h" 5 #include "content/common/gpu/media/gpu_video_decode_accelerator.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 218
219 std::vector<media::PictureBuffer> buffers; 219 std::vector<media::PictureBuffer> buffers;
220 for (uint32 i = 0; i < buffer_ids.size(); ++i) { 220 for (uint32 i = 0; i < buffer_ids.size(); ++i) {
221 gpu::gles2::TextureManager::TextureInfo* info = 221 gpu::gles2::TextureManager::TextureInfo* info =
222 texture_manager->GetTextureInfo(texture_ids[i]); 222 texture_manager->GetTextureInfo(texture_ids[i]);
223 if (!info) { 223 if (!info) {
224 DLOG(FATAL) << "Failed to find texture id " << texture_ids[i]; 224 DLOG(FATAL) << "Failed to find texture id " << texture_ids[i];
225 NotifyError(media::VideoDecodeAccelerator::INVALID_ARGUMENT); 225 NotifyError(media::VideoDecodeAccelerator::INVALID_ARGUMENT);
226 return; 226 return;
227 } 227 }
228 if (!texture_manager->ClearRenderableLevels(command_decoder, info)) { 228 texture_manager->SetLevelCleared(info, GL_TEXTURE_2D, 0);
Ami GONE FROM CHROMIUM 2012/12/11 17:20:01 The texture target may not be GL_TEXTURE_2D (see P
229 DLOG(FATAL) << "Failed to Clear texture id " << texture_ids[i];
230 NotifyError(media::VideoDecodeAccelerator::PLATFORM_FAILURE);
231 return;
232 }
233 uint32 service_texture_id; 229 uint32 service_texture_id;
234 if (!command_decoder->GetServiceTextureId( 230 if (!command_decoder->GetServiceTextureId(
235 texture_ids[i], &service_texture_id)) { 231 texture_ids[i], &service_texture_id)) {
236 DLOG(FATAL) << "Failed to translate texture!"; 232 DLOG(FATAL) << "Failed to translate texture!";
237 NotifyError(media::VideoDecodeAccelerator::PLATFORM_FAILURE); 233 NotifyError(media::VideoDecodeAccelerator::PLATFORM_FAILURE);
238 return; 234 return;
239 } 235 }
240 buffers.push_back(media::PictureBuffer( 236 buffers.push_back(media::PictureBuffer(
241 buffer_ids[i], sizes[i], service_texture_id)); 237 buffer_ids[i], sizes[i], service_texture_id));
242 } 238 }
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 stub_.reset(); 297 stub_.reset();
302 } 298 }
303 } 299 }
304 300
305 bool GpuVideoDecodeAccelerator::Send(IPC::Message* message) { 301 bool GpuVideoDecodeAccelerator::Send(IPC::Message* message) {
306 DCHECK(sender_); 302 DCHECK(sender_);
307 return sender_->Send(message); 303 return sender_->Send(message);
308 } 304 }
309 305
310 } // namespace content 306 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698