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

Unified Diff: cc/resources/resource_provider.cc

Issue 1191173002: cc: Remove TextureUploader. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 side-by-side diff with in-line comments
Download patch
Index: cc/resources/resource_provider.cc
diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc
index 9c31c68db9daa3b2603a13a5b74bd053d6acfd2e..ec18d401b34da32357a0e1e6868125507893de73 100644
--- a/cc/resources/resource_provider.cc
+++ b/cc/resources/resource_provider.cc
@@ -18,7 +18,6 @@
#include "cc/resources/platform_color.h"
#include "cc/resources/returned_resource.h"
#include "cc/resources/shared_bitmap_manager.h"
-#include "cc/resources/texture_uploader.h"
#include "cc/resources/transferable_resource.h"
#include "gpu/GLES2/gl2extchromium.h"
#include "gpu/command_buffer/client/gles2_interface.h"
@@ -61,10 +60,6 @@ class IdAllocator {
namespace {
-// Measured in seconds.
-const double kSoftwareUploadTickRate = 0.000250;
-const double kTextureUploadTickRate = 0.004;
-
GLenum TextureToStorageFormat(ResourceFormat format) {
GLenum storage_format = GL_RGBA8_OES;
switch (format) {
@@ -418,7 +413,6 @@ ResourceProvider::~ResourceProvider() {
if (default_resource_type_ != RESOURCE_TYPE_GL_TEXTURE) {
// We are not in GL mode, but double check before returning.
DCHECK(!gl);
- DCHECK(!texture_uploader_);
return;
}
@@ -431,7 +425,6 @@ ResourceProvider::~ResourceProvider() {
}
#endif // DCHECK_IS_ON()
- texture_uploader_ = nullptr;
texture_id_allocator_ = nullptr;
buffer_id_allocator_ = nullptr;
gl->Finish();
@@ -691,54 +684,6 @@ ResourceProvider::ResourceType ResourceProvider::GetResourceType(
return GetResource(id)->type;
}
-void ResourceProvider::SetPixels(ResourceId id,
- const uint8_t* image,
- const gfx::Rect& image_rect,
- const gfx::Rect& source_rect,
- const gfx::Vector2d& dest_offset) {
- Resource* resource = GetResource(id);
- DCHECK(!resource->locked_for_write);
- DCHECK(!resource->lock_for_read_count);
- DCHECK(resource->origin == Resource::INTERNAL);
- DCHECK_EQ(resource->exported_count, 0);
- DCHECK(ReadLockFenceHasPassed(resource));
- LazyAllocate(resource);
-
- if (resource->type == RESOURCE_TYPE_GL_TEXTURE) {
- DCHECK(resource->gl_id);
- DCHECK(!resource->pending_set_pixels);
- DCHECK_EQ(resource->target, static_cast<GLenum>(GL_TEXTURE_2D));
- GLES2Interface* gl = ContextGL();
- DCHECK(gl);
- DCHECK(texture_uploader_.get());
- gl->BindTexture(GL_TEXTURE_2D, resource->gl_id);
- texture_uploader_->Upload(image,
- image_rect,
- source_rect,
- dest_offset,
- resource->format,
- resource->size);
- } else {
- DCHECK_EQ(RESOURCE_TYPE_BITMAP, resource->type);
- DCHECK(resource->allocated);
- DCHECK_EQ(RGBA_8888, resource->format);
- DCHECK(source_rect.x() >= image_rect.x());
- DCHECK(source_rect.y() >= image_rect.y());
- DCHECK(source_rect.right() <= image_rect.right());
- DCHECK(source_rect.bottom() <= image_rect.bottom());
- SkImageInfo source_info =
- SkImageInfo::MakeN32Premul(source_rect.width(), source_rect.height());
- size_t image_row_bytes = image_rect.width() * 4;
- gfx::Vector2d source_offset = source_rect.origin() - image_rect.origin();
- image += source_offset.y() * image_row_bytes + source_offset.x() * 4;
-
- ScopedWriteLockSoftware lock(this, id);
- SkCanvas dest(lock.sk_bitmap());
- dest.writePixels(source_info, image, image_row_bytes, dest_offset.x(),
- dest_offset.y());
- }
-}
-
void ResourceProvider::CopyToResource(ResourceId id,
const uint8_t* image,
const gfx::Size& image_size) {
@@ -770,7 +715,6 @@ void ResourceProvider::CopyToResource(ResourceId id,
DCHECK_EQ(resource->target, static_cast<GLenum>(GL_TEXTURE_2D));
GLES2Interface* gl = ContextGL();
DCHECK(gl);
- DCHECK(texture_uploader_.get());
gl->BindTexture(GL_TEXTURE_2D, resource->gl_id);
if (resource->format == ETC1) {
@@ -789,66 +733,6 @@ void ResourceProvider::CopyToResource(ResourceId id,
}
}
-size_t ResourceProvider::NumBlockingUploads() {
- if (!texture_uploader_)
- return 0;
-
- return texture_uploader_->NumBlockingUploads();
-}
-
-void ResourceProvider::MarkPendingUploadsAsNonBlocking() {
- if (!texture_uploader_)
- return;
-
- texture_uploader_->MarkPendingUploadsAsNonBlocking();
-}
-
-size_t ResourceProvider::EstimatedUploadsPerTick() {
- if (!texture_uploader_)
- return 1u;
-
- double textures_per_second = texture_uploader_->EstimatedTexturesPerSecond();
- size_t textures_per_tick = floor(
- kTextureUploadTickRate * textures_per_second);
- return textures_per_tick ? textures_per_tick : 1u;
-}
-
-void ResourceProvider::FlushUploads() {
- if (!texture_uploader_)
- return;
-
- texture_uploader_->Flush();
-}
-
-void ResourceProvider::ReleaseCachedData() {
- if (!texture_uploader_)
- return;
-
- texture_uploader_->ReleaseCachedQueries();
-}
-
-base::TimeTicks ResourceProvider::EstimatedUploadCompletionTime(
- size_t uploads_per_tick) {
- if (lost_output_surface_)
- return base::TimeTicks();
-
- // Software resource uploads happen on impl thread, so don't bother batching
- // them up and trying to wait for them to complete.
- if (!texture_uploader_) {
- return base::TimeTicks::Now() +
- base::TimeDelta::FromMicroseconds(
- base::Time::kMicrosecondsPerSecond * kSoftwareUploadTickRate);
- }
-
- base::TimeDelta upload_one_texture_time =
- base::TimeDelta::FromMicroseconds(
- base::Time::kMicrosecondsPerSecond * kTextureUploadTickRate) /
- uploads_per_tick;
-
- size_t total_uploads = NumBlockingUploads() + uploads_per_tick;
- return base::TimeTicks::Now() + upload_one_texture_time * total_uploads;
-}
-
ResourceProvider::Resource* ResourceProvider::InsertResource(
ResourceId id,
const Resource& resource) {
@@ -1235,7 +1119,6 @@ void ResourceProvider::Initialize() {
return;
}
- DCHECK(!texture_uploader_);
DCHECK(!texture_id_allocator_);
DCHECK(!buffer_id_allocator_);
@@ -1250,7 +1133,6 @@ void ResourceProvider::Initialize() {
yuv_resource_format_ = caps.gpu.texture_rg ? RED_8 : LUMINANCE_8;
use_sync_query_ = caps.gpu.sync_query;
- texture_uploader_ = TextureUploader::Create(gl);
max_texture_size_ = 0; // Context expects cleared value.
gl->GetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size_);
best_texture_format_ =

Powered by Google App Engine
This is Rietveld 408576698