Index: gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc |
index b367e5c1b5e0feb180669c8d7198b65d9a47cfaa..c1f6595dc6013fd3e76fe3d5fb51d9c0d116b369 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc |
@@ -5043,7 +5043,7 @@ static bool ValueInArray(GLint value, GLint* array, GLint count) { |
return false; |
} |
-TEST_F(GLES2DecoderManualInitTest, GetCompressedTextureFormats) { |
+TEST_F(GLES2DecoderManualInitTest, GetCompressedTextureFormatsS3TC) { |
InitState init; |
init.extensions = "GL_EXT_texture_compression_s3tc"; |
init.gl_version = "3.0"; |
@@ -5096,6 +5096,109 @@ TEST_F(GLES2DecoderManualInitTest, GetCompressedTextureFormats) { |
EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
} |
+TEST_F(GLES2DecoderManualInitTest, GetCompressedTextureFormatsATC) { |
Zhenyao Mo
2014/04/21 21:38:30
You should add a helper test function and combine
|
+ InitState init; |
+ init.extensions = "GL_AMD_compressed_ATC_texture"; |
+ init.gl_version = "3.0"; |
+ init.bind_generates_resource = true; |
+ InitDecoder(init); |
+ |
+ EXPECT_CALL(*gl_, GetError()) |
+ .WillOnce(Return(GL_NO_ERROR)) |
+ .WillOnce(Return(GL_NO_ERROR)) |
+ .WillOnce(Return(GL_NO_ERROR)) |
+ .WillOnce(Return(GL_NO_ERROR)) |
+ .RetiresOnSaturation(); |
+ |
+ typedef GetIntegerv::Result Result; |
+ Result* result = static_cast<Result*>(shared_memory_address_); |
+ GetIntegerv cmd; |
+ result->size = 0; |
+ EXPECT_CALL(*gl_, GetIntegerv(_, _)) |
+ .Times(0) |
+ .RetiresOnSaturation(); |
+ cmd.Init( |
+ GL_NUM_COMPRESSED_TEXTURE_FORMATS, |
+ shared_memory_id_, shared_memory_offset_); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ EXPECT_EQ(1, result->GetNumResults()); |
+ GLint num_formats = result->GetData()[0]; |
+ EXPECT_EQ(3, num_formats); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ |
+ result->size = 0; |
+ cmd.Init( |
+ GL_COMPRESSED_TEXTURE_FORMATS, |
+ shared_memory_id_, shared_memory_offset_); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ EXPECT_EQ(num_formats, result->GetNumResults()); |
+ |
+ EXPECT_TRUE(ValueInArray( |
+ GL_ATC_RGB_AMD, |
+ result->GetData(), result->GetNumResults())); |
+ EXPECT_TRUE(ValueInArray( |
+ GL_ATC_RGBA_EXPLICIT_ALPHA_AMD, |
+ result->GetData(), result->GetNumResults())); |
+ EXPECT_TRUE(ValueInArray( |
+ GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD, |
+ result->GetData(), result->GetNumResults())); |
+ |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+} |
+ |
+TEST_F(GLES2DecoderManualInitTest, GetCompressedTextureFormatsPVRTC) { |
+ InitState init; |
+ init.extensions = "GL_IMG_texture_compression_pvrtc"; |
+ init.gl_version = "3.0"; |
+ init.bind_generates_resource = true; |
+ InitDecoder(init); |
+ |
+ EXPECT_CALL(*gl_, GetError()) |
+ .WillOnce(Return(GL_NO_ERROR)) |
+ .WillOnce(Return(GL_NO_ERROR)) |
+ .WillOnce(Return(GL_NO_ERROR)) |
+ .WillOnce(Return(GL_NO_ERROR)) |
+ .RetiresOnSaturation(); |
+ |
+ typedef GetIntegerv::Result Result; |
+ Result* result = static_cast<Result*>(shared_memory_address_); |
+ GetIntegerv cmd; |
+ result->size = 0; |
+ EXPECT_CALL(*gl_, GetIntegerv(_, _)) |
+ .Times(0) |
+ .RetiresOnSaturation(); |
+ cmd.Init( |
+ GL_NUM_COMPRESSED_TEXTURE_FORMATS, |
+ shared_memory_id_, shared_memory_offset_); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ EXPECT_EQ(1, result->GetNumResults()); |
+ GLint num_formats = result->GetData()[0]; |
+ EXPECT_EQ(4, num_formats); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ |
+ result->size = 0; |
+ cmd.Init( |
+ GL_COMPRESSED_TEXTURE_FORMATS, |
+ shared_memory_id_, shared_memory_offset_); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ EXPECT_EQ(num_formats, result->GetNumResults()); |
+ |
+ EXPECT_TRUE(ValueInArray( |
+ GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, |
+ result->GetData(), result->GetNumResults())); |
+ EXPECT_TRUE(ValueInArray( |
+ GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, |
+ result->GetData(), result->GetNumResults())); |
+ EXPECT_TRUE(ValueInArray( |
+ GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, |
+ result->GetData(), result->GetNumResults())); |
+ EXPECT_TRUE(ValueInArray( |
+ GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, |
+ result->GetData(), result->GetNumResults())); |
+ |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+} |
+ |
TEST_F(GLES2DecoderManualInitTest, GetNoCompressedTextureFormats) { |
InitState init; |
init.gl_version = "3.0"; |