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

Unified Diff: cc/gl_renderer_unittest.cc

Issue 11366199: Avoid redundantly setting tex parameters (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: removes now-dead textureFilter code, tests that we don't call texParameteri during draw Created 8 years, 1 month 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/gl_renderer.cc ('k') | cc/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/gl_renderer_unittest.cc
diff --git a/cc/gl_renderer_unittest.cc b/cc/gl_renderer_unittest.cc
index b530b7bbf92b62845bab66b2c3cfb0c5c8b7180e..eb5f1fb60c1bb7a8cd02cbf3900a1378fc128ed5 100644
--- a/cc/gl_renderer_unittest.cc
+++ b/cc/gl_renderer_unittest.cc
@@ -485,10 +485,11 @@ TEST(GLRendererTest2, visibilityChangeIsLastCall)
}
-class ActiveTextureTrackingContext : public FakeWebGraphicsContext3D {
+class TextureStateTrackingContext : public FakeWebGraphicsContext3D {
public:
- ActiveTextureTrackingContext()
+ TextureStateTrackingContext()
: m_activeTexture(GL_INVALID_ENUM)
+ , m_inDraw(false)
{
}
@@ -499,6 +500,16 @@ public:
return WebString();
}
+ // We shouldn't set any texture parameters during the draw sequence, although
+ // we might when creating the quads.
+ void setInDraw() { m_inDraw = true; }
+
+ virtual void texParameteri(WGC3Denum target, WGC3Denum pname, WGC3Dint param)
+ {
+ if (m_inDraw)
+ ADD_FAILURE();
+ }
+
virtual void activeTexture(WGC3Denum texture)
{
EXPECT_NE(texture, m_activeTexture);
@@ -508,14 +519,15 @@ public:
WGC3Denum activeTexture() const { return m_activeTexture; }
private:
+ bool m_inDraw;
WGC3Denum m_activeTexture;
};
TEST(GLRendererTest2, activeTextureState)
{
FakeRendererClient fakeClient;
- scoped_ptr<GraphicsContext> outputSurface(FakeWebCompositorOutputSurface::create(scoped_ptr<WebKit::WebGraphicsContext3D>(new ActiveTextureTrackingContext)));
- ActiveTextureTrackingContext* context = static_cast<ActiveTextureTrackingContext*>(outputSurface->context3D());
+ scoped_ptr<GraphicsContext> outputSurface(FakeWebCompositorOutputSurface::create(scoped_ptr<WebKit::WebGraphicsContext3D>(new TextureStateTrackingContext)));
+ TextureStateTrackingContext* context = static_cast<TextureStateTrackingContext*>(outputSurface->context3D());
scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(outputSurface.get()));
FakeRendererGL renderer(&fakeClient, resourceProvider.get());
@@ -525,6 +537,8 @@ TEST(GLRendererTest2, activeTextureState)
scoped_ptr<TestRenderPass> pass = TestRenderPass::create(id, gfx::Rect(0, 0, 100, 100), WebTransformationMatrix());
pass->appendOneOfEveryQuadType(resourceProvider.get());
+ context->setInDraw();
+
cc::DirectRenderer::DrawingFrame drawingFrame;
renderer.beginDrawingFrame(drawingFrame);
EXPECT_EQ(context->activeTexture(), GL_TEXTURE0);
« no previous file with comments | « cc/gl_renderer.cc ('k') | cc/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698