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

Side by Side Diff: cc/output/renderer_pixeltest.cc

Issue 434963002: Fix interchange of red and blue content when using rgba_4444_textures (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added pixel test for RGBA4444 texture Created 6 years, 4 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 unified diff | Download patch
« no previous file with comments | « AUTHORS ('k') | cc/resources/platform_color.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/message_loop/message_loop.h" 5 #include "base/message_loop/message_loop.h"
6 #include "cc/layers/append_quads_data.h" 6 #include "cc/layers/append_quads_data.h"
7 #include "cc/output/gl_renderer.h" 7 #include "cc/output/gl_renderer.h"
8 #include "cc/quads/draw_quad.h" 8 #include "cc/quads/draw_quad.h"
9 #include "cc/quads/picture_draw_quad.h" 9 #include "cc/quads/picture_draw_quad.h"
10 #include "cc/quads/texture_draw_quad.h" 10 #include "cc/quads/texture_draw_quad.h"
(...skipping 2097 matching lines...) Expand 10 before | Expand all | Expand 10 after
2108 2108
2109 RenderPassList pass_list; 2109 RenderPassList pass_list;
2110 pass_list.push_back(pass.Pass()); 2110 pass_list.push_back(pass.Pass());
2111 2111
2112 EXPECT_TRUE(this->RunPixelTest( 2112 EXPECT_TRUE(this->RunPixelTest(
2113 &pass_list, 2113 &pass_list,
2114 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")), 2114 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")),
2115 ExactPixelComparator(true))); 2115 ExactPixelComparator(true)));
2116 } 2116 }
2117 2117
2118 TYPED_TEST(RendererPixelTest, PictureDrawQuadTexture4444) {
enne (OOO) 2014/08/08 18:16:17 This isn't relevant for the software renderer, so
USE eero AT chromium.org 2014/08/11 11:33:58 Done.
2119 gfx::Size pile_tile_size(1000, 1000);
2120 gfx::Rect viewport(this->device_viewport_size_);
2121 ResourceFormat texture_format = RGBA_4444;
enne (OOO) 2014/08/08 18:16:17 Do all platforms support this format? Should there
USE eero AT chromium.org 2014/08/11 11:33:58 No idea. I did not find any relevant function to b
2122
2123 RenderPass::Id id(1, 1);
2124 gfx::Transform transform_to_root;
2125 scoped_ptr<RenderPass> pass =
2126 CreateTestRenderPass(id, viewport, transform_to_root);
2127
2128 // One viewport-filling blue quad
2129 scoped_refptr<FakePicturePileImpl> blue_pile =
2130 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size());
2131 SkPaint blue_paint;
2132 blue_paint.setColor(SK_ColorBLUE);
2133 blue_pile->add_draw_rect_with_paint(viewport, blue_paint);
2134 blue_pile->RerecordPile();
2135
2136 gfx::Transform blue_content_to_target_transform;
2137 SharedQuadState* blue_shared_state = CreateTestSharedQuadState(
2138 blue_content_to_target_transform, viewport, pass.get());
2139
2140 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2141 blue_quad->SetNew(blue_shared_state,
2142 viewport,
2143 gfx::Rect(),
2144 viewport,
2145 gfx::RectF(0.f, 0.f, 1.f, 1.f),
2146 viewport.size(),
2147 texture_format,
2148 viewport,
2149 1.f,
2150 PicturePileImpl::CreateFromOther(blue_pile));
2151
2152 RenderPassList pass_list;
2153 pass_list.push_back(pass.Pass());
2154
2155 EXPECT_TRUE(this->RunPixelTest(&pass_list,
2156 base::FilePath(FILE_PATH_LITERAL("blue.png")),
2157 FuzzyPixelOffByOneComparator(true)));
enne (OOO) 2014/08/08 18:16:17 Use an exact comparator.
USE eero AT chromium.org 2014/08/11 11:33:58 Done. For that to work, I changed the blue compone
2158 }
2159
2118 TYPED_TEST(RendererPixelTest, WrapModeRepeat) { 2160 TYPED_TEST(RendererPixelTest, WrapModeRepeat) {
2119 gfx::Rect rect(this->device_viewport_size_); 2161 gfx::Rect rect(this->device_viewport_size_);
2120 2162
2121 RenderPass::Id id(1, 1); 2163 RenderPass::Id id(1, 1);
2122 scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); 2164 scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
2123 2165
2124 SharedQuadState* shared_state = 2166 SharedQuadState* shared_state =
2125 CreateTestSharedQuadState(gfx::Transform(), rect, pass.get()); 2167 CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
2126 2168
2127 gfx::Rect texture_rect(4, 4); 2169 gfx::Rect texture_rect(4, 4);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
2174 EXPECT_TRUE(this->RunPixelTest( 2216 EXPECT_TRUE(this->RunPixelTest(
2175 &pass_list, 2217 &pass_list,
2176 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), 2218 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")),
2177 FuzzyPixelOffByOneComparator(true))); 2219 FuzzyPixelOffByOneComparator(true)));
2178 } 2220 }
2179 2221
2180 #endif // !defined(OS_ANDROID) 2222 #endif // !defined(OS_ANDROID)
2181 2223
2182 } // namespace 2224 } // namespace
2183 } // namespace cc 2225 } // namespace cc
OLDNEW
« no previous file with comments | « AUTHORS ('k') | cc/resources/platform_color.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698