OLD | NEW |
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 Loading... |
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) { |
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 Loading... |
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 |
OLD | NEW |