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

Side by Side Diff: gpu/command_buffer/service/texture_manager.cc

Issue 1998723002: Move code in ui/gl/* from gfx:: to gl:: (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 6 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 (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 "gpu/command_buffer/service/texture_manager.h" 5 #include "gpu/command_buffer/service/texture_manager.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 1614 matching lines...) Expand 10 before | Expand all | Expand 10 after
1625 // Take no action if this isn't an OES_EXTERNAL texture. 1625 // Take no action if this isn't an OES_EXTERNAL texture.
1626 if (target_ && target_ != GL_TEXTURE_EXTERNAL_OES) 1626 if (target_ && target_ != GL_TEXTURE_EXTERNAL_OES)
1627 return; 1627 return;
1628 1628
1629 if (!service_id) 1629 if (!service_id)
1630 new_service_id = owned_service_id_; 1630 new_service_id = owned_service_id_;
1631 1631
1632 if (service_id_ != new_service_id) { 1632 if (service_id_ != new_service_id) {
1633 service_id_ = new_service_id; 1633 service_id_ = new_service_id;
1634 IncrementManagerServiceIdGeneration(); 1634 IncrementManagerServiceIdGeneration();
1635 if (gfx::GLContext* context = gfx::GLContext::GetCurrent()) { 1635 if (gl::GLContext* context = gl::GLContext::GetCurrent()) {
1636 // It would be preferable to pass in the decoder, and ask it to do this 1636 // It would be preferable to pass in the decoder, and ask it to do this
1637 // instead. However, there are several cases, such as TextureDefinition, 1637 // instead. However, there are several cases, such as TextureDefinition,
1638 // that show up without a clear context owner. So, instead, we use the 1638 // that show up without a clear context owner. So, instead, we use the
1639 // current state's state restorer. 1639 // current state's state restorer.
1640 if (gfx::GLStateRestorer* restorer = context->GetGLStateRestorer()) 1640 if (gl::GLStateRestorer* restorer = context->GetGLStateRestorer())
1641 restorer->RestoreAllExternalTextureBindingsIfNeeded(); 1641 restorer->RestoreAllExternalTextureBindingsIfNeeded();
1642 } 1642 }
1643 } 1643 }
1644 } 1644 }
1645 1645
1646 GLenum Texture::GetCompatibilitySwizzleForChannel(GLenum channel) { 1646 GLenum Texture::GetCompatibilitySwizzleForChannel(GLenum channel) {
1647 return GetSwizzleForChannel(channel, compatibility_swizzle_); 1647 return GetSwizzleForChannel(channel, compatibility_swizzle_);
1648 } 1648 }
1649 1649
1650 void Texture::SetCompatibilitySwizzle(const CompatibilitySwizzle* swizzle) { 1650 void Texture::SetCompatibilitySwizzle(const CompatibilitySwizzle* swizzle) {
(...skipping 1185 matching lines...) Expand 10 before | Expand all | Expand 10 after
2836 GetCompatibilitySwizzle(format); 2836 GetCompatibilitySwizzle(format);
2837 if (swizzle) 2837 if (swizzle)
2838 return swizzle->dest_format; 2838 return swizzle->dest_format;
2839 } 2839 }
2840 return format; 2840 return format;
2841 } 2841 }
2842 2842
2843 GLenum TextureManager::AdjustTexFormat(GLenum format) const { 2843 GLenum TextureManager::AdjustTexFormat(GLenum format) const {
2844 // TODO(bajones): GLES 3 allows for internal format and format to differ. 2844 // TODO(bajones): GLES 3 allows for internal format and format to differ.
2845 // This logic may need to change as a result. 2845 // This logic may need to change as a result.
2846 if (gfx::GetGLImplementation() == gfx::kGLImplementationDesktopGL) { 2846 if (gl::GetGLImplementation() == gl::kGLImplementationDesktopGL) {
2847 if (format == GL_SRGB_EXT) 2847 if (format == GL_SRGB_EXT)
2848 return GL_RGB; 2848 return GL_RGB;
2849 if (format == GL_SRGB_ALPHA_EXT) 2849 if (format == GL_SRGB_ALPHA_EXT)
2850 return GL_RGBA; 2850 return GL_RGBA;
2851 } 2851 }
2852 if (feature_info_->gl_version_info().is_desktop_core_profile) { 2852 if (feature_info_->gl_version_info().is_desktop_core_profile) {
2853 const Texture::CompatibilitySwizzle* swizzle = 2853 const Texture::CompatibilitySwizzle* swizzle =
2854 GetCompatibilitySwizzle(format); 2854 GetCompatibilitySwizzle(format);
2855 if (swizzle) 2855 if (swizzle)
2856 return swizzle->dest_format; 2856 return swizzle->dest_format;
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
3018 memory_tracker_->ClientId(), ref->client_id()); 3018 memory_tracker_->ClientId(), ref->client_id());
3019 3019
3020 base::trace_event::MemoryAllocatorDump* dump = 3020 base::trace_event::MemoryAllocatorDump* dump =
3021 pmd->CreateAllocatorDump(dump_name); 3021 pmd->CreateAllocatorDump(dump_name);
3022 dump->AddScalar(base::trace_event::MemoryAllocatorDump::kNameSize, 3022 dump->AddScalar(base::trace_event::MemoryAllocatorDump::kNameSize,
3023 base::trace_event::MemoryAllocatorDump::kUnitsBytes, 3023 base::trace_event::MemoryAllocatorDump::kUnitsBytes,
3024 static_cast<uint64_t>(size)); 3024 static_cast<uint64_t>(size));
3025 3025
3026 // Add the |client_guid| which expresses shared ownership with the client 3026 // Add the |client_guid| which expresses shared ownership with the client
3027 // process. 3027 // process.
3028 auto client_guid = gfx::GetGLTextureClientGUIDForTracing( 3028 auto client_guid = gl::GetGLTextureClientGUIDForTracing(
3029 memory_tracker_->ShareGroupTracingGUID(), ref->client_id()); 3029 memory_tracker_->ShareGroupTracingGUID(), ref->client_id());
3030 pmd->CreateSharedGlobalAllocatorDump(client_guid); 3030 pmd->CreateSharedGlobalAllocatorDump(client_guid);
3031 pmd->AddOwnershipEdge(dump->guid(), client_guid); 3031 pmd->AddOwnershipEdge(dump->guid(), client_guid);
3032 3032
3033 // Add a |service_guid| which expresses shared ownership between the various 3033 // Add a |service_guid| which expresses shared ownership between the various
3034 // |client_guid|s. 3034 // |client_guid|s.
3035 // TODO(ericrk): May need to ensure uniqueness using GLShareGroup and 3035 // TODO(ericrk): May need to ensure uniqueness using GLShareGroup and
3036 // potentially cross-share-group sharing via EGLImages. crbug.com/512534 3036 // potentially cross-share-group sharing via EGLImages. crbug.com/512534
3037 auto service_guid = gfx::GetGLTextureServiceGUIDForTracing( 3037 auto service_guid = gl::GetGLTextureServiceGUIDForTracing(
3038 memory_tracker_->ShareGroupTracingGUID(), ref->texture()->service_id()); 3038 memory_tracker_->ShareGroupTracingGUID(), ref->texture()->service_id());
3039 pmd->CreateSharedGlobalAllocatorDump(service_guid); 3039 pmd->CreateSharedGlobalAllocatorDump(service_guid);
3040 3040
3041 int importance = 0; // Default importance. 3041 int importance = 0; // Default importance.
3042 // The link to the memory tracking |client_id| is given a higher importance 3042 // The link to the memory tracking |client_id| is given a higher importance
3043 // than other refs. 3043 // than other refs.
3044 if (ref == ref->texture()->memory_tracking_ref_) 3044 if (ref == ref->texture()->memory_tracking_ref_)
3045 importance = 2; 3045 importance = 2;
3046 3046
3047 pmd->AddOwnershipEdge(client_guid, service_guid, importance); 3047 pmd->AddOwnershipEdge(client_guid, service_guid, importance);
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
3309 uint32_t TextureManager::GetServiceIdGeneration() const { 3309 uint32_t TextureManager::GetServiceIdGeneration() const {
3310 return current_service_id_generation_; 3310 return current_service_id_generation_;
3311 } 3311 }
3312 3312
3313 void TextureManager::IncrementServiceIdGeneration() { 3313 void TextureManager::IncrementServiceIdGeneration() {
3314 current_service_id_generation_++; 3314 current_service_id_generation_++;
3315 } 3315 }
3316 3316
3317 } // namespace gles2 3317 } // namespace gles2
3318 } // namespace gpu 3318 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/texture_definition.cc ('k') | gpu/command_buffer/tests/gl_dynamic_config_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698