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

Unified Diff: cc/texture_copier.cc

Issue 12912006: Part 4 of cc/ directory shuffles: output (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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/texture_copier.cc
diff --git a/cc/texture_copier.cc b/cc/texture_copier.cc
deleted file mode 100644
index 0495d79f8518e53781720dfe192454ae06e95c26..0000000000000000000000000000000000000000
--- a/cc/texture_copier.cc
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2012 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.
-
-#include "cc/texture_copier.h"
-
-#include "base/debug/trace_event.h"
-#include "build/build_config.h"
-#include "cc/gl_renderer.h" // For the GLC() macro.
-#include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3D.h"
-#include "third_party/khronos/GLES2/gl2.h"
-
-namespace cc {
-
-AcceleratedTextureCopier::AcceleratedTextureCopier(
- WebKit::WebGraphicsContext3D* context,
- bool using_bind_uniforms)
- : context_(context), using_bind_uniforms_(using_bind_uniforms) {
- DCHECK(context_);
- GLC(context_, fbo_ = context_->createFramebuffer());
- GLC(context_, position_buffer_ = context_->createBuffer());
-
- static const float kPositions[4][4] = { { -1, -1, 0, 1 }, { 1, -1, 0, 1 },
- { 1, 1, 0, 1 }, { -1, 1, 0, 1 } };
-
- GLC(context_, context_->bindBuffer(GL_ARRAY_BUFFER, position_buffer_));
- GLC(context_,
- context_->bufferData(
- GL_ARRAY_BUFFER, sizeof(kPositions), kPositions, GL_STATIC_DRAW));
- GLC(context_, context_->bindBuffer(GL_ARRAY_BUFFER, 0));
-
- blit_program_.reset(new BlitProgram(context_));
-}
-
-AcceleratedTextureCopier::~AcceleratedTextureCopier() {
- if (blit_program_)
- blit_program_->Cleanup(context_);
- if (position_buffer_)
- GLC(context_, context_->deleteBuffer(position_buffer_));
- if (fbo_)
- GLC(context_, context_->deleteFramebuffer(fbo_));
-}
-
-void AcceleratedTextureCopier::CopyTexture(Parameters parameters) {
- TRACE_EVENT0("cc", "TextureCopier::CopyTexture");
-
- GLC(context_, context_->disable(GL_SCISSOR_TEST));
-
- // Note: this code does not restore the viewport, bound program, 2D texture,
- // framebuffer, buffer or blend enable.
- GLC(context_, context_->bindFramebuffer(GL_FRAMEBUFFER, fbo_));
- GLC(context_,
- context_->framebufferTexture2D(GL_FRAMEBUFFER,
- GL_COLOR_ATTACHMENT0,
- GL_TEXTURE_2D,
- parameters.dest_texture,
- 0));
-
-#if defined(OS_ANDROID)
- // Clear destination to improve performance on tiling GPUs.
- // TODO: Use EXT_discard_framebuffer or skip clearing if it isn't available.
- GLC(context_, context_->clear(GL_COLOR_BUFFER_BIT));
-#endif
-
- GLC(context_,
- context_->bindTexture(GL_TEXTURE_2D, parameters.source_texture));
- GLC(context_,
- context_->texParameteri(
- GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST));
- GLC(context_,
- context_->texParameteri(
- GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST));
-
- if (!blit_program_->initialized())
- blit_program_->Initialize(context_, using_bind_uniforms_);
-
- // TODO: Use EXT_framebuffer_blit if available.
- GLC(context_, context_->useProgram(blit_program_->program()));
-
- const int kPositionAttribute = 0;
- GLC(context_, context_->bindBuffer(GL_ARRAY_BUFFER, position_buffer_));
- GLC(context_,
- context_->vertexAttribPointer(
- kPositionAttribute, 4, GL_FLOAT, false, 0, 0));
- GLC(context_, context_->enableVertexAttribArray(kPositionAttribute));
- GLC(context_, context_->bindBuffer(GL_ARRAY_BUFFER, 0));
-
- GLC(context_,
- context_->viewport(
- 0, 0, parameters.size.width(), parameters.size.height()));
- GLC(context_, context_->disable(GL_BLEND));
- GLC(context_, context_->drawArrays(GL_TRIANGLE_FAN, 0, 4));
-
- GLC(context_,
- context_->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR));
- GLC(context_,
- context_->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR));
- GLC(context_, context_->disableVertexAttribArray(kPositionAttribute));
-
- GLC(context_, context_->useProgram(0));
-
- GLC(context_,
- context_->framebufferTexture2D(
- GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, 0, 0));
- GLC(context_, context_->bindFramebuffer(GL_FRAMEBUFFER, 0));
- GLC(context_, context_->bindTexture(GL_TEXTURE_2D, 0));
-
- GLC(context_, context_->enable(GL_SCISSOR_TEST));
-}
-
-void AcceleratedTextureCopier::Flush() {
- GLC(context_, context_->flush());
-}
-
-} // namespace cc

Powered by Google App Engine
This is Rietveld 408576698