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

Unified Diff: cc/output/gl_renderer_unittest.cc

Issue 83883002: cc: Allow TEXTURE_RECTANGLE_ARB to be used for tile textures. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address review feedback Created 7 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/output/gl_renderer.cc ('k') | cc/output/program_binding.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/gl_renderer_unittest.cc
diff --git a/cc/output/gl_renderer_unittest.cc b/cc/output/gl_renderer_unittest.cc
index 8254bb2f917fb5f1ca958bc3536df712da2b0da9..93905fdf8278d1cea677bf66853ca605f5a91c1c 100644
--- a/cc/output/gl_renderer_unittest.cc
+++ b/cc/output/gl_renderer_unittest.cc
@@ -76,12 +76,6 @@ class GLRendererShaderPixelTest : public GLRendererPixelTest {
}
void TestShadersWithTexCoordPrecision(TexCoordPrecision precision) {
- EXPECT_PROGRAM_VALID(renderer()->GetTileProgram(precision));
- EXPECT_PROGRAM_VALID(renderer()->GetTileProgramOpaque(precision));
- EXPECT_PROGRAM_VALID(renderer()->GetTileProgramAA(precision));
- EXPECT_PROGRAM_VALID(renderer()->GetTileProgramSwizzle(precision));
- EXPECT_PROGRAM_VALID(renderer()->GetTileProgramSwizzleOpaque(precision));
- EXPECT_PROGRAM_VALID(renderer()->GetTileProgramSwizzleAA(precision));
EXPECT_PROGRAM_VALID(renderer()->GetRenderPassProgram(precision));
EXPECT_PROGRAM_VALID(renderer()->GetRenderPassProgramAA(precision));
EXPECT_PROGRAM_VALID(renderer()->GetRenderPassMaskProgram(precision));
@@ -108,6 +102,24 @@ class GLRendererShaderPixelTest : public GLRendererPixelTest {
EXPECT_PROGRAM_VALID(renderer()->GetVideoStreamTextureProgram(precision));
else
EXPECT_FALSE(renderer()->GetVideoStreamTextureProgram(precision));
+ TestShadersWithSamplerType(precision, SamplerType2D);
+ TestShadersWithSamplerType(precision, SamplerType2DRect);
+ // This is unlikely to be ever true in tests due to usage of osmesa.
+ if (renderer()->Capabilities().using_egl_image)
+ TestShadersWithSamplerType(precision, SamplerTypeExternalOES);
+ }
+
+ void TestShadersWithSamplerType(
+ TexCoordPrecision precision, SamplerType sampler) {
+ EXPECT_PROGRAM_VALID(renderer()->GetTileProgram(precision, sampler));
+ EXPECT_PROGRAM_VALID(renderer()->GetTileProgramOpaque(precision, sampler));
+ EXPECT_PROGRAM_VALID(renderer()->GetTileProgramAA(precision, sampler));
+ EXPECT_PROGRAM_VALID(
+ renderer()->GetTileProgramSwizzle(precision, sampler));
+ EXPECT_PROGRAM_VALID(
+ renderer()->GetTileProgramSwizzleOpaque(precision, sampler));
+ EXPECT_PROGRAM_VALID(
+ renderer()->GetTileProgramSwizzleAA(precision, sampler));
}
};
@@ -261,51 +273,59 @@ class GLRendererShaderTest : public testing::Test {
renderer_->Initialize();
}
- void TestRenderPassProgram() {
- EXPECT_PROGRAM_VALID(&renderer_->render_pass_program_);
- EXPECT_EQ(renderer_->render_pass_program_.program(),
+ void TestRenderPassProgram(TexCoordPrecision precision) {
+ EXPECT_PROGRAM_VALID(&renderer_->render_pass_program_[precision]);
+ EXPECT_EQ(renderer_->render_pass_program_[precision].program(),
renderer_->program_shadow_);
}
- void TestRenderPassColorMatrixProgram() {
- EXPECT_PROGRAM_VALID(&renderer_->render_pass_color_matrix_program_);
- EXPECT_EQ(renderer_->render_pass_color_matrix_program_.program(),
- renderer_->program_shadow_);
+ void TestRenderPassColorMatrixProgram(TexCoordPrecision precision) {
+ EXPECT_PROGRAM_VALID(
+ &renderer_->render_pass_color_matrix_program_[precision]);
+ EXPECT_EQ(
+ renderer_->render_pass_color_matrix_program_[precision].program(),
+ renderer_->program_shadow_);
}
- void TestRenderPassMaskProgram() {
- EXPECT_PROGRAM_VALID(&renderer_->render_pass_mask_program_);
- EXPECT_EQ(renderer_->render_pass_mask_program_.program(),
+ void TestRenderPassMaskProgram(TexCoordPrecision precision) {
+ EXPECT_PROGRAM_VALID(&renderer_->render_pass_mask_program_[precision]);
+ EXPECT_EQ(renderer_->render_pass_mask_program_[precision].program(),
renderer_->program_shadow_);
}
- void TestRenderPassMaskColorMatrixProgram() {
- EXPECT_PROGRAM_VALID(&renderer_->render_pass_mask_color_matrix_program_);
- EXPECT_EQ(renderer_->render_pass_mask_color_matrix_program_.program(),
+ void TestRenderPassMaskColorMatrixProgram(TexCoordPrecision precision) {
+ EXPECT_PROGRAM_VALID(
+ &renderer_->render_pass_mask_color_matrix_program_[precision]);
+ EXPECT_EQ(renderer_->
+ render_pass_mask_color_matrix_program_[precision].program(),
renderer_->program_shadow_);
}
- void TestRenderPassProgramAA() {
- EXPECT_PROGRAM_VALID(&renderer_->render_pass_program_aa_);
- EXPECT_EQ(renderer_->render_pass_program_aa_.program(),
+ void TestRenderPassProgramAA(TexCoordPrecision precision) {
+ EXPECT_PROGRAM_VALID(&renderer_->render_pass_program_aa_[precision]);
+ EXPECT_EQ(renderer_->render_pass_program_aa_[precision].program(),
renderer_->program_shadow_);
}
- void TestRenderPassColorMatrixProgramAA() {
- EXPECT_PROGRAM_VALID(&renderer_->render_pass_color_matrix_program_aa_);
- EXPECT_EQ(renderer_->render_pass_color_matrix_program_aa_.program(),
+ void TestRenderPassColorMatrixProgramAA(TexCoordPrecision precision) {
+ EXPECT_PROGRAM_VALID(
+ &renderer_->render_pass_color_matrix_program_aa_[precision]);
+ EXPECT_EQ(renderer_->
+ render_pass_color_matrix_program_aa_[precision].program(),
renderer_->program_shadow_);
}
- void TestRenderPassMaskProgramAA() {
- EXPECT_PROGRAM_VALID(&renderer_->render_pass_mask_program_aa_);
- EXPECT_EQ(renderer_->render_pass_mask_program_aa_.program(),
+ void TestRenderPassMaskProgramAA(TexCoordPrecision precision) {
+ EXPECT_PROGRAM_VALID(&renderer_->render_pass_mask_program_aa_[precision]);
+ EXPECT_EQ(renderer_->render_pass_mask_program_aa_[precision].program(),
renderer_->program_shadow_);
}
- void TestRenderPassMaskColorMatrixProgramAA() {
- EXPECT_PROGRAM_VALID(&renderer_->render_pass_mask_color_matrix_program_aa_);
- EXPECT_EQ(renderer_->render_pass_mask_color_matrix_program_aa_.program(),
+ void TestRenderPassMaskColorMatrixProgramAA(TexCoordPrecision precision) {
+ EXPECT_PROGRAM_VALID(
+ &renderer_->render_pass_mask_color_matrix_program_aa_[precision]);
+ EXPECT_EQ(renderer_->
+ render_pass_mask_color_matrix_program_aa_[precision].program(),
renderer_->program_shadow_);
}
@@ -1367,7 +1387,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
*renderer_client_.render_passes_in_draw_order());
renderer_->DrawFrame(
renderer_client_.render_passes_in_draw_order(), NULL, 1.f, true, false);
- TestRenderPassProgram();
+ TestRenderPassProgram(TexCoordPrecisionMedium);
// RenderPassColorMatrixProgram
render_passes->clear();
@@ -1384,7 +1404,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
*renderer_client_.render_passes_in_draw_order());
renderer_->DrawFrame(
renderer_client_.render_passes_in_draw_order(), NULL, 1.f, true, false);
- TestRenderPassColorMatrixProgram();
+ TestRenderPassColorMatrixProgram(TexCoordPrecisionMedium);
// RenderPassMaskProgram
render_passes->clear();
@@ -1405,7 +1425,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
*renderer_client_.render_passes_in_draw_order());
renderer_->DrawFrame(
renderer_client_.render_passes_in_draw_order(), NULL, 1.f, true, false);
- TestRenderPassMaskProgram();
+ TestRenderPassMaskProgram(TexCoordPrecisionMedium);
// RenderPassMaskColorMatrixProgram
render_passes->clear();
@@ -1422,7 +1442,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
*renderer_client_.render_passes_in_draw_order());
renderer_->DrawFrame(
renderer_client_.render_passes_in_draw_order(), NULL, 1.f, true, false);
- TestRenderPassMaskColorMatrixProgram();
+ TestRenderPassMaskColorMatrixProgram(TexCoordPrecisionMedium);
// RenderPassProgramAA
render_passes->clear();
@@ -1443,7 +1463,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
*renderer_client_.render_passes_in_draw_order());
renderer_->DrawFrame(
renderer_client_.render_passes_in_draw_order(), NULL, 1.f, true, false);
- TestRenderPassProgramAA();
+ TestRenderPassProgramAA(TexCoordPrecisionMedium);
// RenderPassColorMatrixProgramAA
render_passes->clear();
@@ -1460,7 +1480,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
*renderer_client_.render_passes_in_draw_order());
renderer_->DrawFrame(
renderer_client_.render_passes_in_draw_order(), NULL, 1.f, true, false);
- TestRenderPassColorMatrixProgramAA();
+ TestRenderPassColorMatrixProgramAA(TexCoordPrecisionMedium);
// RenderPassMaskProgramAA
render_passes->clear();
@@ -1478,7 +1498,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
*renderer_client_.render_passes_in_draw_order());
renderer_->DrawFrame(
renderer_client_.render_passes_in_draw_order(), NULL, 1.f, true, false);
- TestRenderPassMaskProgramAA();
+ TestRenderPassMaskProgramAA(TexCoordPrecisionMedium);
// RenderPassMaskColorMatrixProgramAA
render_passes->clear();
@@ -1495,7 +1515,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
*renderer_client_.render_passes_in_draw_order());
renderer_->DrawFrame(
renderer_client_.render_passes_in_draw_order(), NULL, 1.f, true, false);
- TestRenderPassMaskColorMatrixProgramAA();
+ TestRenderPassMaskColorMatrixProgramAA(TexCoordPrecisionMedium);
}
// At this time, the AA code path cannot be taken if the surface's rect would
@@ -1547,7 +1567,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadSkipsAAForClippingTransform) {
// If use_aa incorrectly ignores clipping, it will use the
// RenderPassProgramAA shader instead of the RenderPassProgram.
- TestRenderPassProgram();
+ TestRenderPassProgram(TexCoordPrecisionMedium);
}
TEST_F(GLRendererShaderTest, DrawSolidColorShader) {
« no previous file with comments | « cc/output/gl_renderer.cc ('k') | cc/output/program_binding.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698