Index: gpu/command_buffer/client/gles2_implementation_unittest.cc |
diff --git a/gpu/command_buffer/client/gles2_implementation_unittest.cc b/gpu/command_buffer/client/gles2_implementation_unittest.cc |
index 52a2cefa38366b13883d2a9805acb9af860b6b71..2acbc6356399a37b7ac65b97a4f2a95461dddfeb 100644 |
--- a/gpu/command_buffer/client/gles2_implementation_unittest.cc |
+++ b/gpu/command_buffer/client/gles2_implementation_unittest.cc |
@@ -3583,7 +3583,7 @@ TEST_F(GLES2ImplementationTest, IsEnabled) { |
expected.cmd.Init(kCap, result1.id, result1.offset); |
EXPECT_CALL(*command_buffer(), OnFlush()) |
- .WillOnce(SetMemory(result1.ptr, uint32_t(kCap))) |
+ .WillOnce(SetMemory(result1.ptr, uint32_t(GL_TRUE))) |
.RetiresOnSaturation(); |
GLboolean result = gl_->IsEnabled(kCap); |
@@ -3591,6 +3591,47 @@ TEST_F(GLES2ImplementationTest, IsEnabled) { |
EXPECT_TRUE(result); |
} |
+TEST_F(GLES2ImplementationTest, ClientWaitSync) { |
+ const GLuint client_sync_id = 36; |
+ struct Cmds { |
+ cmds::ClientWaitSync cmd; |
+ }; |
+ |
+ Cmds expected; |
+ ExpectedMemoryInfo result1 = |
+ GetExpectedResultMemory(sizeof(cmds::ClientWaitSync::Result)); |
+ const GLuint64 kTimeout = 0xABCDEF0123456789; |
+ uint32_t v32_0 = 0, v32_1 = 0; |
+ GLES2Util::MapUint64ToTwoUint32(kTimeout, &v32_0, &v32_1); |
+ expected.cmd.Init(client_sync_id, GL_SYNC_FLUSH_COMMANDS_BIT, |
+ v32_0, v32_1, result1.id, result1.offset); |
+ |
+ EXPECT_CALL(*command_buffer(), OnFlush()) |
+ .WillOnce(SetMemory(result1.ptr, uint32_t(GL_CONDITION_SATISFIED))) |
+ .RetiresOnSaturation(); |
+ |
+ GLenum result = gl_->ClientWaitSync( |
+ reinterpret_cast<GLsync>(client_sync_id), GL_SYNC_FLUSH_COMMANDS_BIT, |
+ kTimeout); |
+ EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected))); |
+ EXPECT_EQ(static_cast<GLenum>(GL_CONDITION_SATISFIED), result); |
+} |
+ |
+TEST_F(GLES2ImplementationTest, WaitSync) { |
+ const GLuint kClientSyncId = 36; |
+ struct Cmds { |
+ cmds::WaitSync cmd; |
+ }; |
+ Cmds expected; |
+ const GLuint64 kTimeout = GL_TIMEOUT_IGNORED; |
+ uint32_t v32_0 = 0, v32_1 = 0; |
+ GLES2Util::MapUint64ToTwoUint32(kTimeout, &v32_0, &v32_1); |
+ expected.cmd.Init(kClientSyncId, 0, v32_0, v32_1); |
+ |
+ gl_->WaitSync(reinterpret_cast<GLsync>(kClientSyncId), 0, kTimeout); |
+ EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected))); |
+} |
+ |
TEST_F(GLES2ImplementationManualInitTest, LoseContextOnOOM) { |
ContextInitOptions init_options; |
init_options.lose_context_when_out_of_memory = true; |