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

Unified Diff: mojo/gpu/texture_cache.cc

Issue 1533753002: Remove TextureCache and TextureUploader. (Closed) Base URL: git@github.com:domokit/mojo.git@cl-2a
Patch Set: rebase Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/gpu/texture_cache.h ('k') | mojo/gpu/texture_cache_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/gpu/texture_cache.cc
diff --git a/mojo/gpu/texture_cache.cc b/mojo/gpu/texture_cache.cc
deleted file mode 100644
index a76fedbacf55b50503904691be5cd2d10aac9fa7..0000000000000000000000000000000000000000
--- a/mojo/gpu/texture_cache.cc
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef GL_GLEXT_PROTOTYPES
-#define GL_GLEXT_PROTOTYPES
-#endif
-#include <GLES2/gl2extmojo.h>
-
-#include "mojo/gpu/gl_context.h"
-#include "mojo/gpu/gl_texture.h"
-#include "mojo/gpu/texture_cache.h"
-#include "mojo/services/geometry/interfaces/geometry.mojom.h"
-
-namespace mojo {
-
-TextureCache::TextureInfo::TextureInfo() : texture_(), resource_id_(0u) {}
-TextureCache::TextureInfo::TextureInfo(scoped_ptr<mojo::GLTexture> texture,
- uint32_t resource_id)
- : texture_(texture.Pass()), resource_id_(resource_id) {}
-TextureCache::TextureInfo::~TextureInfo() {}
-
-TextureCache::TextureCache(base::WeakPtr<mojo::GLContext> gl_context,
- mojo::ResourceReturnerPtr* out_resource_returner)
- : gl_context_(gl_context), returner_binding_(this), next_resource_id_(0u) {
- if (out_resource_returner) {
- returner_binding_.Bind(GetProxy(out_resource_returner));
- }
-}
-
-TextureCache::~TextureCache() {}
-
-scoped_ptr<TextureCache::TextureInfo> TextureCache::GetTexture(
- const mojo::Size& requested_size) {
- // Sift through our available textures to find one the correct size. If one
- // exists use it. As we find textures of the wrong size, clean them up.
- while (!available_textures_.empty()) {
- // Get the next available texture's resource id.
- uint32_t available_resource_id = available_textures_.front();
- available_textures_.pop_front();
-
- // Get the texture information from the texture map.
- auto texture_iterator =
- resource_to_texture_map_.find(available_resource_id);
- mojo::Size texture_size = texture_iterator->second->size();
- scoped_ptr<TextureInfo> texture_info(new TextureInfo(
- texture_iterator->second.Pass(), texture_iterator->first));
- resource_to_texture_map_.erase(texture_iterator);
-
- // Get the sync point from the sync point map.
- auto sync_point_iterator =
- resource_to_sync_point_map_.find(available_resource_id);
- int sync_point = sync_point_iterator->second;
- resource_to_sync_point_map_.erase(sync_point_iterator);
-
- // If the texture is the right size, use it.
- if (texture_size.width == requested_size.width &&
- texture_size.height == requested_size.height) {
- gl_context_->MakeCurrent();
- glWaitSyncPointCHROMIUM(sync_point);
- return texture_info;
- }
- }
-
- // If our context is invalid return an empty scoped ptr.
- if (!gl_context_) {
- return scoped_ptr<TextureInfo>();
- }
-
- // We couldn't find an existing texture to reuse, create a new one!
- scoped_ptr<mojo::GLTexture> new_texture(
- new mojo::GLTexture(gl_context_, requested_size));
- next_resource_id_++;
- scoped_ptr<TextureInfo> texture_info(
- new TextureInfo(new_texture.Pass(), next_resource_id_));
- return texture_info;
-}
-
-void TextureCache::NotifyPendingResourceReturn(
- uint32_t resource_id,
- scoped_ptr<mojo::GLTexture> texture) {
- resource_to_texture_map_[resource_id] = texture.Pass();
-}
-
-// mojo::ResourceReturner
-void TextureCache::ReturnResources(
- mojo::Array<mojo::ReturnedResourcePtr> resources) {
- if (!gl_context_) {
- return;
- }
- gl_context_->MakeCurrent();
- for (size_t i = 0u; i < resources.size(); ++i) {
- mojo::ReturnedResourcePtr resource = resources[i].Pass();
- DCHECK_EQ(1, resource->count);
- auto it = resource_to_texture_map_.find(resource->id);
- // Ignore the returned resource if we haven't been notified of its pending
- // return.
- if (it != resource_to_texture_map_.end()) {
- available_textures_.push_back(resource->id);
- resource_to_sync_point_map_[resource->id] = resource->sync_point;
- }
- }
-}
-} // namespace mojo
« no previous file with comments | « mojo/gpu/texture_cache.h ('k') | mojo/gpu/texture_cache_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698