Index: gpu/command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc |
index 04f785d98d3b32aa5a424a7275ef976897d0fcc5..6885c00f85a43e60e948b57ae36c310e47abe6df 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc |
@@ -68,7 +68,7 @@ |
EXPECT_TRUE(GetBuffer(kNewClientId) != NULL); |
} |
-TEST_P(GLES3DecoderTest, MapBufferRangeUnmapBufferReadSucceeds) { |
+TEST_P(GLES2DecoderTest, MapBufferRangeUnmapBufferReadSucceeds) { |
const GLenum kTarget = GL_ARRAY_BUFFER; |
const GLintptr kOffset = 10; |
const GLsizeiptr kSize = 64; |
@@ -100,6 +100,11 @@ |
MapBufferRange cmd; |
cmd.Init(kTarget, kOffset, kSize, kAccess, data_shm_id, data_shm_offset, |
result_shm_id, result_shm_offset); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ *result = 0; |
+ EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); |
+ EXPECT_EQ(0u, *result); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
*result = 0; |
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
int8_t* mem = reinterpret_cast<int8_t*>(&result[1]); |
@@ -114,13 +119,16 @@ |
UnmapBuffer cmd; |
cmd.Init(kTarget); |
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
- } |
- |
- EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
-} |
- |
-TEST_P(GLES3DecoderTest, MapBufferRangeUnmapBufferWriteSucceeds) { |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ } |
+ |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+} |
+ |
+TEST_P(GLES2DecoderTest, MapBufferRangeUnmapBufferWriteSucceeds) { |
const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER; |
const GLintptr kOffset = 10; |
const GLsizeiptr kSize = 64; |
@@ -167,6 +175,11 @@ |
MapBufferRange cmd; |
cmd.Init(kTarget, kOffset, kSize, kAccess, data_shm_id, data_shm_offset, |
result_shm_id, result_shm_offset); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ *result = 0; |
+ EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); |
+ EXPECT_EQ(0u, *result); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
*result = 0; |
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
EXPECT_EQ(1u, *result); |
@@ -185,6 +198,9 @@ |
UnmapBuffer cmd; |
cmd.Init(kTarget); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
// Verify the GPU mem and shadow data are both updated |
@@ -313,7 +329,7 @@ |
EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
} |
-TEST_P(GLES3DecoderTest, MapBufferRangeNotInitFails) { |
+TEST_P(GLES2DecoderTest, MapBufferRangeNotInitFails) { |
const GLenum kTarget = GL_ARRAY_BUFFER; |
const GLintptr kOffset = 10; |
const GLsizeiptr kSize = 64; |
@@ -331,10 +347,11 @@ |
MapBufferRange cmd; |
cmd.Init(kTarget, kOffset, kSize, kAccess, data_shm_id, data_shm_offset, |
result_shm_id, result_shm_offset); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); |
} |
-TEST_P(GLES3DecoderTest, MapBufferRangeWriteInvalidateRangeSucceeds) { |
+TEST_P(GLES2DecoderTest, MapBufferRangeWriteInvalidateRangeSucceeds) { |
const GLenum kTarget = GL_ARRAY_BUFFER; |
const GLintptr kOffset = 10; |
const GLsizeiptr kSize = 64; |
@@ -367,10 +384,11 @@ |
MapBufferRange cmd; |
cmd.Init(kTarget, kOffset, kSize, kAccess, data_shm_id, data_shm_offset, |
result_shm_id, result_shm_offset); |
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
-} |
- |
-TEST_P(GLES3DecoderTest, MapBufferRangeWriteInvalidateBufferSucceeds) { |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+} |
+ |
+TEST_P(GLES2DecoderTest, MapBufferRangeWriteInvalidateBufferSucceeds) { |
// Test INVALIDATE_BUFFER_BIT is mapped to INVALIDATE_RANGE_BIT. |
const GLenum kTarget = GL_ARRAY_BUFFER; |
const GLintptr kOffset = 10; |
@@ -406,10 +424,11 @@ |
MapBufferRange cmd; |
cmd.Init(kTarget, kOffset, kSize, kAccess, data_shm_id, data_shm_offset, |
result_shm_id, result_shm_offset); |
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
-} |
- |
-TEST_P(GLES3DecoderTest, MapBufferRangeWriteUnsynchronizedBit) { |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+} |
+ |
+TEST_P(GLES2DecoderTest, MapBufferRangeWriteUnsynchronizedBit) { |
// Test UNSYNCHRONIZED_BIT is filtered out. |
const GLenum kTarget = GL_ARRAY_BUFFER; |
const GLintptr kOffset = 10; |
@@ -443,11 +462,12 @@ |
MapBufferRange cmd; |
cmd.Init(kTarget, kOffset, kSize, kAccess, data_shm_id, data_shm_offset, |
result_shm_id, result_shm_offset); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
EXPECT_EQ(0, memcmp(&data[0], mem, kSize)); |
} |
-TEST_P(GLES3DecoderTest, MapBufferRangeWithError) { |
+TEST_P(GLES2DecoderTest, MapBufferRangeWithError) { |
const GLenum kTarget = GL_ARRAY_BUFFER; |
const GLintptr kOffset = 10; |
const GLsizeiptr kSize = 64; |
@@ -471,6 +491,7 @@ |
MapBufferRange cmd; |
cmd.Init(kTarget, kOffset, kSize, kAccess, data_shm_id, data_shm_offset, |
result_shm_id, result_shm_offset); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
memset(&data[0], 72, kSize); |
// Mem is untouched. |
@@ -479,7 +500,7 @@ |
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError()); |
} |
-TEST_P(GLES3DecoderTest, MapBufferRangeBadSharedMemoryFails) { |
+TEST_P(GLES2DecoderTest, MapBufferRangeBadSharedMemoryFails) { |
const GLenum kTarget = GL_ARRAY_BUFFER; |
const GLintptr kOffset = 10; |
const GLsizeiptr kSize = 64; |
@@ -500,6 +521,7 @@ |
uint32_t data_shm_id = kSharedMemoryId; |
uint32_t data_shm_offset = kSharedMemoryOffset + sizeof(*result); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
MapBufferRange cmd; |
cmd.Init(kTarget, kOffset, kSize, kAccess, |
kInvalidSharedMemoryId, data_shm_offset, |
@@ -519,27 +541,29 @@ |
EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); |
} |
-TEST_P(GLES3DecoderTest, UnmapBufferWriteNotMappedFails) { |
+TEST_P(GLES2DecoderTest, UnmapBufferWriteNotMappedFails) { |
const GLenum kTarget = GL_ARRAY_BUFFER; |
DoBindBuffer(kTarget, client_buffer_id_, kServiceBufferId); |
UnmapBuffer cmd; |
cmd.Init(kTarget); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError()); |
} |
-TEST_P(GLES3DecoderTest, UnmapBufferWriteNoBoundBufferFails) { |
+TEST_P(GLES2DecoderTest, UnmapBufferWriteNoBoundBufferFails) { |
const GLenum kTarget = GL_ARRAY_BUFFER; |
UnmapBuffer cmd; |
cmd.Init(kTarget); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError()); |
} |
-TEST_P(GLES3DecoderTest, BufferDataDestroysDataStore) { |
+TEST_P(GLES2DecoderTest, BufferDataDestroysDataStore) { |
const GLenum kTarget = GL_ARRAY_BUFFER; |
const GLintptr kOffset = 10; |
const GLsizeiptr kSize = 64; |
@@ -556,6 +580,8 @@ |
DoBufferData(kTarget, kSize + kOffset); |
std::vector<int8_t> data(kSize); |
+ |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
{ // MapBufferRange succeeds |
EXPECT_CALL(*gl_, |
@@ -587,7 +613,7 @@ |
} |
} |
-TEST_P(GLES3DecoderTest, DeleteBuffersDestroysDataStore) { |
+TEST_P(GLES2DecoderTest, DeleteBuffersDestroysDataStore) { |
const GLenum kTarget = GL_ARRAY_BUFFER; |
const GLintptr kOffset = 10; |
const GLsizeiptr kSize = 64; |
@@ -604,6 +630,8 @@ |
DoBufferData(kTarget, kSize + kOffset); |
std::vector<int8_t> data(kSize); |
+ |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
{ // MapBufferRange succeeds |
EXPECT_CALL(*gl_, |
@@ -635,7 +663,7 @@ |
} |
} |
-TEST_P(GLES3DecoderTest, MapUnmapBufferInvalidTarget) { |
+TEST_P(GLES2DecoderTest, MapUnmapBufferInvalidTarget) { |
const GLenum kTarget = GL_TEXTURE_2D; |
const GLintptr kOffset = 10; |
const GLsizeiptr kSize = 64; |
@@ -646,6 +674,8 @@ |
uint32_t data_shm_id = kSharedMemoryId; |
// uint32_t is Result for both MapBufferRange and UnmapBuffer commands. |
uint32_t data_shm_offset = kSharedMemoryOffset + sizeof(uint32_t); |
+ |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
typedef MapBufferRange::Result Result; |
Result* result = GetSharedMemoryAs<Result*>(); |