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

Unified Diff: gpu/command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc

Issue 2469803003: Revert of Initialize buffers before allowing access to them. (Closed)
Patch Set: Created 4 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
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*>();
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h ('k') | gpu/command_buffer/service/indexed_buffer_binding_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698