summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
diff options
context:
space:
mode:
authorpiman <piman@chromium.org>2014-11-11 21:17:55 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-12 05:18:12 +0000
commit1c2e0a8590fb383a24bddbda2f9dd405b5fee913 (patch)
tree5a6eaf2fe65a941ee3ae7fbd5f4e4889480965a4 /gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
parent71ff07f3e8b5d1861877cefc046bcea53125c7f7 (diff)
downloadchromium_src-1c2e0a8590fb383a24bddbda2f9dd405b5fee913.zip
chromium_src-1c2e0a8590fb383a24bddbda2f9dd405b5fee913.tar.gz
chromium_src-1c2e0a8590fb383a24bddbda2f9dd405b5fee913.tar.bz2
gpu: remove round trip at context initialization
GLES2Implementation::QueryAndCacheStaticState used to do a round trip at initialization to cache static state. Instead, we can pass this static state through gpu::Capabilities, so that we avoid the round trip. Also remove glGetMultipleIntegervCHROMIUM, which is not used any more. BUG=430324 Review URL: https://codereview.chromium.org/711263002 Cr-Commit-Position: refs/heads/master@{#303791}
Diffstat (limited to 'gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc')
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc148
1 files changed, 0 insertions, 148 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
index 43f8606..0ef9585 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
@@ -266,154 +266,6 @@ TEST_P(GLES2DecoderTest, IsTexture) {
EXPECT_FALSE(DoIsTexture(client_texture_id_));
}
-TEST_P(GLES2DecoderTest, GetMultipleIntegervCHROMIUMValidArgs) {
- const GLsizei kCount = 3;
- GLenum* pnames = GetSharedMemoryAs<GLenum*>();
- pnames[0] = GL_DEPTH_WRITEMASK;
- pnames[1] = GL_COLOR_WRITEMASK;
- pnames[2] = GL_STENCIL_WRITEMASK;
- GLint* results =
- GetSharedMemoryAsWithOffset<GLint*>(sizeof(*pnames) * kCount);
-
- GLsizei num_results = 0;
- for (GLsizei ii = 0; ii < kCount; ++ii) {
- num_results += decoder_->GetGLES2Util()->GLGetNumValuesReturned(pnames[ii]);
- }
- const GLsizei result_size = num_results * sizeof(*results);
- memset(results, 0, result_size);
-
- const GLint kSentinel = 0x12345678;
- results[num_results] = kSentinel;
-
- GetMultipleIntegervCHROMIUM cmd;
- cmd.Init(kSharedMemoryId,
- kSharedMemoryOffset,
- kCount,
- kSharedMemoryId,
- kSharedMemoryOffset + sizeof(*pnames) * kCount,
- result_size);
-
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
- EXPECT_EQ(GL_NO_ERROR, GetGLError());
- EXPECT_EQ(1, results[0]); // Depth writemask
- EXPECT_EQ(1, results[1]); // color writemask red
- EXPECT_EQ(1, results[2]); // color writemask green
- EXPECT_EQ(1, results[3]); // color writemask blue
- EXPECT_EQ(1, results[4]); // color writemask alpha
- EXPECT_EQ(-1, results[5]); // stencil writemask alpha
- EXPECT_EQ(kSentinel, results[num_results]); // End of results
-}
-
-TEST_P(GLES2DecoderTest, GetMultipleIntegervCHROMIUMInvalidArgs) {
- const GLsizei kCount = 3;
- // Offset the pnames because GLGetError will use the first uint32.
- const uint32 kPnameOffset = sizeof(uint32);
- const uint32 kResultsOffset = kPnameOffset + sizeof(GLint) * kCount;
- GLenum* pnames = GetSharedMemoryAsWithOffset<GLenum*>(kPnameOffset);
- pnames[0] = GL_DEPTH_WRITEMASK;
- pnames[1] = GL_COLOR_WRITEMASK;
- pnames[2] = GL_STENCIL_WRITEMASK;
- GLint* results = GetSharedMemoryAsWithOffset<GLint*>(kResultsOffset);
-
- GLsizei num_results = 0;
- for (GLsizei ii = 0; ii < kCount; ++ii) {
- num_results += decoder_->GetGLES2Util()->GLGetNumValuesReturned(pnames[ii]);
- }
- const GLsizei result_size = num_results * sizeof(*results);
- memset(results, 0, result_size);
-
- const GLint kSentinel = 0x12345678;
- results[num_results] = kSentinel;
-
- GetMultipleIntegervCHROMIUM cmd;
- // Check bad pnames pointer.
- cmd.Init(kInvalidSharedMemoryId,
- kSharedMemoryOffset + kPnameOffset,
- kCount,
- kSharedMemoryId,
- kSharedMemoryOffset + kResultsOffset,
- result_size);
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
- EXPECT_EQ(GL_NO_ERROR, GetGLError());
- // Check bad pnames pointer.
- cmd.Init(kSharedMemoryId,
- kInvalidSharedMemoryOffset,
- kCount,
- kSharedMemoryId,
- kSharedMemoryOffset + kResultsOffset,
- result_size);
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
- EXPECT_EQ(GL_NO_ERROR, GetGLError());
- // Check bad count.
- cmd.Init(kSharedMemoryId,
- kSharedMemoryOffset + kPnameOffset,
- static_cast<GLuint>(-1),
- kSharedMemoryId,
- kSharedMemoryOffset + kResultsOffset,
- result_size);
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
- EXPECT_EQ(GL_NO_ERROR, GetGLError());
- // Check bad results pointer.
- cmd.Init(kSharedMemoryId,
- kSharedMemoryOffset + kPnameOffset,
- kCount,
- kInvalidSharedMemoryId,
- kSharedMemoryOffset + kResultsOffset,
- result_size);
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
- EXPECT_EQ(GL_NO_ERROR, GetGLError());
- // Check bad results pointer.
- cmd.Init(kSharedMemoryId,
- kSharedMemoryOffset + kPnameOffset,
- kCount,
- kSharedMemoryId,
- kInvalidSharedMemoryOffset,
- result_size);
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
- EXPECT_EQ(GL_NO_ERROR, GetGLError());
- // Check bad size.
- cmd.Init(kSharedMemoryId,
- kSharedMemoryOffset + kPnameOffset,
- kCount,
- kSharedMemoryId,
- kSharedMemoryOffset + kResultsOffset,
- result_size + 1);
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
- EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
- // Check bad size.
- cmd.Init(kSharedMemoryId,
- kSharedMemoryOffset + kPnameOffset,
- kCount,
- kSharedMemoryId,
- kSharedMemoryOffset + kResultsOffset,
- result_size - 1);
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
- EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
- // Check bad enum.
- cmd.Init(kSharedMemoryId,
- kSharedMemoryOffset + kPnameOffset,
- kCount,
- kSharedMemoryId,
- kSharedMemoryOffset + kResultsOffset,
- result_size);
- GLenum temp = pnames[2];
- pnames[2] = GL_TRUE;
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
- EXPECT_EQ(GL_INVALID_ENUM, GetGLError());
- pnames[2] = temp;
- // Check results area has not been cleared by client.
- results[1] = 1;
- EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd));
- // Check buffer is what we expect
- EXPECT_EQ(0, results[0]);
- EXPECT_EQ(1, results[1]);
- EXPECT_EQ(0, results[2]);
- EXPECT_EQ(0, results[3]);
- EXPECT_EQ(0, results[4]);
- EXPECT_EQ(0, results[5]);
- EXPECT_EQ(kSentinel, results[num_results]); // End of results
-}
-
TEST_P(GLES2DecoderManualInitTest, BindGeneratesResourceFalse) {
InitState init;
init.gl_version = "3.0";