Commit 0463af04 authored by piman@chromium.org's avatar piman@chromium.org

Don't iterate over a 0 mask resource in RenderPassDrawQuad

A 0 mask resource means we don't use a mask, it's a valid value. Don't iterate
over it, because we never want to send 0 to the parent, nor do we want to look
up 0 in the child->parent map.

BUG=None

Review URL: https://codereview.chromium.org/14167007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194689 0039d316-1c4b-4281-b951-d872f2087c98
parent 76f08ac8
......@@ -770,6 +770,9 @@ TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) {
EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id);
EXPECT_EQ(1, IterateAndCount(quad_new.get()));
EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id);
quad_new->mask_resource_id = 0;
EXPECT_EQ(0, IterateAndCount(quad_new.get()));
EXPECT_EQ(0u, quad_new->mask_resource_id);
}
TEST_F(DrawQuadIteratorTest, SolidColorDrawQuad) {
......
......@@ -83,7 +83,8 @@ void RenderPassDrawQuad::SetAll(
void RenderPassDrawQuad::IterateResources(
const ResourceIteratorCallback& callback) {
mask_resource_id = callback.Run(mask_resource_id);
if (mask_resource_id)
mask_resource_id = callback.Run(mask_resource_id);
}
const RenderPassDrawQuad* RenderPassDrawQuad::MaterialCast(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment