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

Unified Diff: cc/CCResourceProvider.cpp

Issue 10961008: cc: Remove TextureUploaderOption. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add SoftwareTextureUploader to CCResourceProvider for software mode and init m_maxTextureSize to 0. Created 8 years, 3 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
« no previous file with comments | « cc/CCResourceProvider.h ('k') | cc/CCResourceProviderTest.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/CCResourceProvider.cpp
diff --git a/cc/CCResourceProvider.cpp b/cc/CCResourceProvider.cpp
index 4c5876938b4f32c0ef7e1e2f69b862a9bc331b9b..9e48e3511ef8827c8814eb5b40f9436076b83d96 100644
--- a/cc/CCResourceProvider.cpp
+++ b/cc/CCResourceProvider.cpp
@@ -19,7 +19,6 @@
#include "IntRect.h"
#include "LayerTextureSubImage.h"
#include "ThrottledTextureUploader.h"
-#include "UnthrottledTextureUploader.h"
#include <public/WebGraphicsContext3D.h>
#include <wtf/HashSet.h>
@@ -27,6 +26,15 @@ using WebKit::WebGraphicsContext3D;
namespace cc {
+class SoftwareTextureUploader : public TextureUploader {
nduca 2012/09/20 18:34:17 One class per file, please.
piman 2012/09/20 18:48:42 FYI, in chrome code having multiple private classe
+public:
+ virtual bool isBusy() OVERRIDE { return false; }
+ virtual double estimatedTexturesPerSecond() { return std::numeric_limits<double>::max(); }
+ virtual void beginUploads() OVERRIDE { }
+ virtual void endUploads() OVERRIDE { }
+ virtual void uploadTexture(CCResourceProvider* resourceProvider, Parameters upload) OVERRIDE { upload.texture->updateRect(resourceProvider, upload.sourceRect, upload.destOffset); }
+};
+
static GC3Denum textureToStorageFormat(GC3Denum textureFormat)
{
GC3Denum storageFormat = Extensions3D::RGBA8_OES;
@@ -49,10 +57,10 @@ static bool isTextureFormatSupportedForStorage(GC3Denum format)
return (format == GraphicsContext3D::RGBA || format == Extensions3D::BGRA_EXT);
}
-PassOwnPtr<CCResourceProvider> CCResourceProvider::create(CCGraphicsContext* context, TextureUploaderOption option)
+PassOwnPtr<CCResourceProvider> CCResourceProvider::create(CCGraphicsContext* context)
{
OwnPtr<CCResourceProvider> resourceProvider(adoptPtr(new CCResourceProvider(context)));
- if (!resourceProvider->initialize(option))
+ if (!resourceProvider->initialize())
return nullptr;
return resourceProvider.release();
}
@@ -389,13 +397,13 @@ CCResourceProvider::CCResourceProvider(CCGraphicsContext* context)
{
}
-bool CCResourceProvider::initialize(TextureUploaderOption textureUploaderOption)
+bool CCResourceProvider::initialize()
{
ASSERT(CCProxy::isImplThread());
WebGraphicsContext3D* context3d = m_context->context3D();
if (!context3d) {
m_maxTextureSize = INT_MAX;
- m_textureUploader = UnthrottledTextureUploader::create();
+ m_textureUploader = adoptPtr(new SoftwareTextureUploader);
// FIXME: Implement this path for software compositing.
return false;
@@ -424,10 +432,7 @@ bool CCResourceProvider::initialize(TextureUploaderOption textureUploaderOption)
m_texSubImage = adoptPtr(new LayerTextureSubImage(useMapSub));
m_textureCopier = AcceleratedTextureCopier::create(context3d, useBindUniform);
- if (textureUploaderOption == ThrottledUploader)
- m_textureUploader = ThrottledTextureUploader::create(context3d);
- else
- m_textureUploader = UnthrottledTextureUploader::create();
+ m_textureUploader = ThrottledTextureUploader::create(context3d);
GLC(context3d, context3d->getIntegerv(GraphicsContext3D::MAX_TEXTURE_SIZE, &m_maxTextureSize));
return true;
}
« no previous file with comments | « cc/CCResourceProvider.h ('k') | cc/CCResourceProviderTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698