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

Side by Side Diff: cc/resources/resource_provider.cc

Issue 2242453002: Avoid planar YUV resources when one component EGL images are not supported (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 3 months 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 "cc/resources/resource_provider.h" 5 #include "cc/resources/resource_provider.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 DCHECK(!texture_id_allocator_); 438 DCHECK(!texture_id_allocator_);
439 DCHECK(!buffer_id_allocator_); 439 DCHECK(!buffer_id_allocator_);
440 440
441 const auto& caps = compositor_context_provider_->ContextCapabilities(); 441 const auto& caps = compositor_context_provider_->ContextCapabilities();
442 442
443 DCHECK(IsGpuResourceType(default_resource_type_)); 443 DCHECK(IsGpuResourceType(default_resource_type_));
444 use_texture_storage_ext_ = caps.texture_storage; 444 use_texture_storage_ext_ = caps.texture_storage;
445 use_texture_format_bgra_ = caps.texture_format_bgra8888; 445 use_texture_format_bgra_ = caps.texture_format_bgra8888;
446 use_texture_usage_hint_ = caps.texture_usage; 446 use_texture_usage_hint_ = caps.texture_usage;
447 use_compressed_texture_etc1_ = caps.texture_format_etc1; 447 use_compressed_texture_etc1_ = caps.texture_format_etc1;
448 yuv_resource_format_ = caps.texture_rg ? RED_8 : LUMINANCE_8; 448
449 yuv_highbit_resource_format_ = yuv_resource_format_; 449 if (caps.disable_one_component_textures) {
danakj 2016/08/26 18:24:22 Thanks this is nicer
450 if (caps.texture_half_float_linear) 450 yuv_resource_format_ = yuv_highbit_resource_format_ = RGBA_8888;
451 yuv_highbit_resource_format_ = LUMINANCE_F16; 451 } else {
452 yuv_resource_format_ = caps.texture_rg ? RED_8 : LUMINANCE_8;
453 yuv_highbit_resource_format_ =
454 caps.texture_half_float_linear ? LUMINANCE_F16 : yuv_resource_format_;
455 }
456
452 use_sync_query_ = caps.sync_query; 457 use_sync_query_ = caps.sync_query;
453 458
454 GLES2Interface* gl = ContextGL(); 459 GLES2Interface* gl = ContextGL();
455 460
456 max_texture_size_ = 0; // Context expects cleared value. 461 max_texture_size_ = 0; // Context expects cleared value.
457 gl->GetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size_); 462 gl->GetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size_);
458 best_texture_format_ = 463 best_texture_format_ =
459 PlatformColor::BestSupportedTextureFormat(use_texture_format_bgra_); 464 PlatformColor::BestSupportedTextureFormat(use_texture_format_bgra_);
460 465
461 best_render_buffer_format_ = PlatformColor::BestSupportedTextureFormat( 466 best_render_buffer_format_ = PlatformColor::BestSupportedTextureFormat(
(...skipping 1565 matching lines...) Expand 10 before | Expand all | Expand 10 after
2027 2032
2028 const int kImportance = 2; 2033 const int kImportance = 2;
2029 pmd->CreateSharedGlobalAllocatorDump(guid); 2034 pmd->CreateSharedGlobalAllocatorDump(guid);
2030 pmd->AddOwnershipEdge(dump->guid(), guid, kImportance); 2035 pmd->AddOwnershipEdge(dump->guid(), guid, kImportance);
2031 } 2036 }
2032 2037
2033 return true; 2038 return true;
2034 } 2039 }
2035 2040
2036 } // namespace cc 2041 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/resources/video_resource_updater.h » ('j') | cc/resources/video_resource_updater.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698