Index: gpu/command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h |
index 014007aa7aa25058a39fb93635ba03ef8c689692..2bc23a02e082ebb1460fc16510c37339d2a91166 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h |
@@ -124,6 +124,18 @@ TEST_P(GLES2DecoderTest1, BindRenderbufferInvalidArgs0_0) { |
EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
} |
+TEST_P(GLES2DecoderTest1, BindSamplerValidArgs) { |
+ EXPECT_CALL(*gl_, BindSampler(1, kServiceSamplerId)); |
+ SpecializedSetup<cmds::BindSampler, 0>(true); |
+ cmds::BindSampler cmd; |
+ cmd.Init(1, client_sampler_id_); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); |
+} |
+ |
TEST_P(GLES2DecoderTest1, BindTextureValidArgs) { |
EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_2D, kServiceTextureId)); |
SpecializedSetup<cmds::BindTexture, 0>(true); |
@@ -163,6 +175,19 @@ TEST_P(GLES2DecoderTest1, BindTextureInvalidArgs0_1) { |
EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
} |
+TEST_P(GLES2DecoderTest1, BindTransformFeedbackValidArgs) { |
+ EXPECT_CALL(*gl_, BindTransformFeedback(GL_TRANSFORM_FEEDBACK, |
+ kServiceTransformFeedbackId)); |
+ SpecializedSetup<cmds::BindTransformFeedback, 0>(true); |
+ cmds::BindTransformFeedback cmd; |
+ cmd.Init(GL_TRANSFORM_FEEDBACK, client_transformfeedback_id_); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); |
+} |
+ |
TEST_P(GLES2DecoderTest1, BlendColorValidArgs) { |
EXPECT_CALL(*gl_, BlendColor(1, 2, 3, 4)); |
SpecializedSetup<cmds::BlendColor, 0>(true); |
@@ -515,6 +540,34 @@ TEST_P(GLES2DecoderTest1, DeleteRenderbuffersImmediateInvalidArgs) { |
EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
} |
+TEST_P(GLES2DecoderTest1, DeleteSamplersImmediateValidArgs) { |
+ EXPECT_CALL(*gl_, DeleteSamplers(1, Pointee(kServiceSamplerId))).Times(1); |
+ cmds::DeleteSamplersImmediate& cmd = |
+ *GetImmediateAs<cmds::DeleteSamplersImmediate>(); |
+ SpecializedSetup<cmds::DeleteSamplersImmediate, 0>(true); |
+ cmd.Init(1, &client_sampler_id_); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kNoError, |
+ ExecuteImmediateCmd(cmd, sizeof(client_sampler_id_))); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ EXPECT_FALSE(GetSamplerServiceId(client_sampler_id_, NULL)); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ EXPECT_EQ(error::kUnknownCommand, |
+ ExecuteImmediateCmd(cmd, sizeof(client_sampler_id_))); |
+} |
+ |
+TEST_P(GLES2DecoderTest1, DeleteSamplersImmediateInvalidArgs) { |
+ cmds::DeleteSamplersImmediate& cmd = |
+ *GetImmediateAs<cmds::DeleteSamplersImmediate>(); |
+ SpecializedSetup<cmds::DeleteSamplersImmediate, 0>(false); |
+ GLuint temp = kInvalidClientId; |
+ cmd.Init(1, &temp); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); |
+} |
+ |
TEST_P(GLES2DecoderTest1, DeleteShaderValidArgs) { |
EXPECT_CALL(*gl_, DeleteShader(kServiceShaderId)); |
SpecializedSetup<cmds::DeleteShader, 0>(true); |
@@ -545,6 +598,36 @@ TEST_P(GLES2DecoderTest1, DeleteTexturesImmediateInvalidArgs) { |
EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
} |
+TEST_P(GLES2DecoderTest1, DeleteTransformFeedbacksImmediateValidArgs) { |
+ EXPECT_CALL(*gl_, DeleteTransformFeedbacks( |
+ 1, Pointee(kServiceTransformFeedbackId))).Times(1); |
+ cmds::DeleteTransformFeedbacksImmediate& cmd = |
+ *GetImmediateAs<cmds::DeleteTransformFeedbacksImmediate>(); |
+ SpecializedSetup<cmds::DeleteTransformFeedbacksImmediate, 0>(true); |
+ cmd.Init(1, &client_transformfeedback_id_); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kNoError, |
+ ExecuteImmediateCmd(cmd, sizeof(client_transformfeedback_id_))); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ EXPECT_FALSE( |
+ GetTransformFeedbackServiceId(client_transformfeedback_id_, NULL)); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ EXPECT_EQ(error::kUnknownCommand, |
+ ExecuteImmediateCmd(cmd, sizeof(client_transformfeedback_id_))); |
+} |
+ |
+TEST_P(GLES2DecoderTest1, DeleteTransformFeedbacksImmediateInvalidArgs) { |
+ cmds::DeleteTransformFeedbacksImmediate& cmd = |
+ *GetImmediateAs<cmds::DeleteTransformFeedbacksImmediate>(); |
+ SpecializedSetup<cmds::DeleteTransformFeedbacksImmediate, 0>(false); |
+ GLuint temp = kInvalidClientId; |
+ cmd.Init(1, &temp); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); |
+} |
+ |
TEST_P(GLES2DecoderTest1, DepthFuncValidArgs) { |
EXPECT_CALL(*gl_, DepthFunc(GL_NEVER)); |
SpecializedSetup<cmds::DepthFunc, 0>(true); |
@@ -874,6 +957,36 @@ TEST_P(GLES2DecoderTest1, GenRenderbuffersImmediateInvalidArgs) { |
ExecuteImmediateCmd(*cmd, sizeof(&client_renderbuffer_id_))); |
} |
+TEST_P(GLES2DecoderTest1, GenSamplersImmediateValidArgs) { |
+ EXPECT_CALL(*gl_, GenSamplers(1, _)) |
+ .WillOnce(SetArgumentPointee<1>(kNewServiceId)); |
+ cmds::GenSamplersImmediate* cmd = |
+ GetImmediateAs<cmds::GenSamplersImmediate>(); |
+ GLuint temp = kNewClientId; |
+ SpecializedSetup<cmds::GenSamplersImmediate, 0>(true); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ cmd->Init(1, &temp); |
+ EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(*cmd, sizeof(temp))); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ GLuint service_id; |
+ EXPECT_TRUE(GetSamplerServiceId(kNewClientId, &service_id)); |
+ EXPECT_EQ(kNewServiceId, service_id); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(*cmd, sizeof(temp))); |
+} |
+ |
+TEST_P(GLES2DecoderTest1, GenSamplersImmediateInvalidArgs) { |
+ EXPECT_CALL(*gl_, GenSamplers(_, _)).Times(0); |
+ cmds::GenSamplersImmediate* cmd = |
+ GetImmediateAs<cmds::GenSamplersImmediate>(); |
+ SpecializedSetup<cmds::GenSamplersImmediate, 0>(false); |
+ cmd->Init(1, &client_sampler_id_); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kInvalidArguments, |
+ ExecuteImmediateCmd(*cmd, sizeof(&client_sampler_id_))); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+} |
+ |
TEST_P(GLES2DecoderTest1, GenTexturesImmediateValidArgs) { |
EXPECT_CALL(*gl_, GenTextures(1, _)) |
.WillOnce(SetArgumentPointee<1>(kNewServiceId)); |
@@ -896,6 +1009,36 @@ TEST_P(GLES2DecoderTest1, GenTexturesImmediateInvalidArgs) { |
EXPECT_EQ(error::kInvalidArguments, |
ExecuteImmediateCmd(*cmd, sizeof(&client_texture_id_))); |
} |
+ |
+TEST_P(GLES2DecoderTest1, GenTransformFeedbacksImmediateValidArgs) { |
+ EXPECT_CALL(*gl_, GenTransformFeedbacks(1, _)) |
+ .WillOnce(SetArgumentPointee<1>(kNewServiceId)); |
+ cmds::GenTransformFeedbacksImmediate* cmd = |
+ GetImmediateAs<cmds::GenTransformFeedbacksImmediate>(); |
+ GLuint temp = kNewClientId; |
+ SpecializedSetup<cmds::GenTransformFeedbacksImmediate, 0>(true); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ cmd->Init(1, &temp); |
+ EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(*cmd, sizeof(temp))); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ GLuint service_id; |
+ EXPECT_TRUE(GetTransformFeedbackServiceId(kNewClientId, &service_id)); |
+ EXPECT_EQ(kNewServiceId, service_id); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(*cmd, sizeof(temp))); |
+} |
+ |
+TEST_P(GLES2DecoderTest1, GenTransformFeedbacksImmediateInvalidArgs) { |
+ EXPECT_CALL(*gl_, GenTransformFeedbacks(_, _)).Times(0); |
+ cmds::GenTransformFeedbacksImmediate* cmd = |
+ GetImmediateAs<cmds::GenTransformFeedbacksImmediate>(); |
+ SpecializedSetup<cmds::GenTransformFeedbacksImmediate, 0>(false); |
+ cmd->Init(1, &client_transformfeedback_id_); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kInvalidArguments, |
+ ExecuteImmediateCmd(*cmd, sizeof(&client_transformfeedback_id_))); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+} |
// TODO(gman): GetActiveAttrib |
// TODO(gman): GetActiveUniform |
@@ -1397,6 +1540,56 @@ TEST_P(GLES2DecoderTest1, GetRenderbufferParameterivInvalidArgs2_1) { |
EXPECT_EQ(0u, result->size); |
} |
+TEST_P(GLES2DecoderTest1, GetSamplerParameterfvValidArgs) { |
+ EXPECT_CALL(*gl_, GetError()) |
+ .WillOnce(Return(GL_NO_ERROR)) |
+ .WillOnce(Return(GL_NO_ERROR)) |
+ .RetiresOnSaturation(); |
+ SpecializedSetup<cmds::GetSamplerParameterfv, 0>(true); |
+ typedef cmds::GetSamplerParameterfv::Result Result; |
+ Result* result = static_cast<Result*>(shared_memory_address_); |
+ EXPECT_CALL(*gl_, |
+ GetSamplerParameterfv(kServiceSamplerId, GL_TEXTURE_MAG_FILTER, |
+ result->GetData())); |
+ result->size = 0; |
+ cmds::GetSamplerParameterfv cmd; |
+ cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
+ shared_memory_offset_); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ EXPECT_EQ( |
+ decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_TEXTURE_MAG_FILTER), |
+ result->GetNumResults()); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); |
+} |
+ |
+TEST_P(GLES2DecoderTest1, GetSamplerParameterivValidArgs) { |
+ EXPECT_CALL(*gl_, GetError()) |
+ .WillOnce(Return(GL_NO_ERROR)) |
+ .WillOnce(Return(GL_NO_ERROR)) |
+ .RetiresOnSaturation(); |
+ SpecializedSetup<cmds::GetSamplerParameteriv, 0>(true); |
+ typedef cmds::GetSamplerParameteriv::Result Result; |
+ Result* result = static_cast<Result*>(shared_memory_address_); |
+ EXPECT_CALL(*gl_, |
+ GetSamplerParameteriv(kServiceSamplerId, GL_TEXTURE_MAG_FILTER, |
+ result->GetData())); |
+ result->size = 0; |
+ cmds::GetSamplerParameteriv cmd; |
+ cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
+ shared_memory_offset_); |
+ decoder_->set_unsafe_es3_apis_enabled(true); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ EXPECT_EQ( |
+ decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_TEXTURE_MAG_FILTER), |
+ result->GetNumResults()); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ decoder_->set_unsafe_es3_apis_enabled(false); |
+ EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); |
+} |
+ |
TEST_P(GLES2DecoderTest1, GetShaderivValidArgs) { |
EXPECT_CALL(*gl_, GetError()) |
.WillOnce(Return(GL_NO_ERROR)) |
@@ -1752,129 +1945,4 @@ TEST_P(GLES2DecoderTest1, IsEnabledInvalidArgsBadSharedMemoryId) { |
cmd.Init(GL_BLEND, shared_memory_id_, kInvalidSharedMemoryOffset); |
EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
} |
- |
-TEST_P(GLES2DecoderTest1, IsFramebufferValidArgs) { |
- SpecializedSetup<cmds::IsFramebuffer, 0>(true); |
- cmds::IsFramebuffer cmd; |
- cmd.Init(client_framebuffer_id_, shared_memory_id_, shared_memory_offset_); |
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
- EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
-} |
- |
-TEST_P(GLES2DecoderTest1, IsFramebufferInvalidArgsBadSharedMemoryId) { |
- SpecializedSetup<cmds::IsFramebuffer, 0>(false); |
- cmds::IsFramebuffer cmd; |
- cmd.Init(client_framebuffer_id_, kInvalidSharedMemoryId, |
- shared_memory_offset_); |
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
- cmd.Init(client_framebuffer_id_, shared_memory_id_, |
- kInvalidSharedMemoryOffset); |
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
-} |
- |
-TEST_P(GLES2DecoderTest1, IsProgramValidArgs) { |
- SpecializedSetup<cmds::IsProgram, 0>(true); |
- cmds::IsProgram cmd; |
- cmd.Init(client_program_id_, shared_memory_id_, shared_memory_offset_); |
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
- EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
-} |
- |
-TEST_P(GLES2DecoderTest1, IsProgramInvalidArgsBadSharedMemoryId) { |
- SpecializedSetup<cmds::IsProgram, 0>(false); |
- cmds::IsProgram cmd; |
- cmd.Init(client_program_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
- cmd.Init(client_program_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
-} |
- |
-TEST_P(GLES2DecoderTest1, IsRenderbufferValidArgs) { |
- SpecializedSetup<cmds::IsRenderbuffer, 0>(true); |
- cmds::IsRenderbuffer cmd; |
- cmd.Init(client_renderbuffer_id_, shared_memory_id_, shared_memory_offset_); |
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
- EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
-} |
- |
-TEST_P(GLES2DecoderTest1, IsRenderbufferInvalidArgsBadSharedMemoryId) { |
- SpecializedSetup<cmds::IsRenderbuffer, 0>(false); |
- cmds::IsRenderbuffer cmd; |
- cmd.Init(client_renderbuffer_id_, kInvalidSharedMemoryId, |
- shared_memory_offset_); |
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
- cmd.Init(client_renderbuffer_id_, shared_memory_id_, |
- kInvalidSharedMemoryOffset); |
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
-} |
- |
-TEST_P(GLES2DecoderTest1, IsShaderValidArgs) { |
- SpecializedSetup<cmds::IsShader, 0>(true); |
- cmds::IsShader cmd; |
- cmd.Init(client_shader_id_, shared_memory_id_, shared_memory_offset_); |
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
- EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
-} |
- |
-TEST_P(GLES2DecoderTest1, IsShaderInvalidArgsBadSharedMemoryId) { |
- SpecializedSetup<cmds::IsShader, 0>(false); |
- cmds::IsShader cmd; |
- cmd.Init(client_shader_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
- cmd.Init(client_shader_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
-} |
- |
-TEST_P(GLES2DecoderTest1, IsTextureValidArgs) { |
- SpecializedSetup<cmds::IsTexture, 0>(true); |
- cmds::IsTexture cmd; |
- cmd.Init(client_texture_id_, shared_memory_id_, shared_memory_offset_); |
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
- EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
-} |
- |
-TEST_P(GLES2DecoderTest1, IsTextureInvalidArgsBadSharedMemoryId) { |
- SpecializedSetup<cmds::IsTexture, 0>(false); |
- cmds::IsTexture cmd; |
- cmd.Init(client_texture_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
- cmd.Init(client_texture_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
- EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
-} |
- |
-TEST_P(GLES2DecoderTest1, LineWidthValidArgs) { |
- EXPECT_CALL(*gl_, LineWidth(0.5f)); |
- SpecializedSetup<cmds::LineWidth, 0>(true); |
- cmds::LineWidth cmd; |
- cmd.Init(0.5f); |
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
- EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
-} |
- |
-TEST_P(GLES2DecoderTest1, LineWidthInvalidValue0_0) { |
- SpecializedSetup<cmds::LineWidth, 0>(false); |
- cmds::LineWidth cmd; |
- cmd.Init(0.0f); |
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
- EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
-} |
- |
-TEST_P(GLES2DecoderTest1, LineWidthNaNValue0) { |
- SpecializedSetup<cmds::LineWidth, 0>(false); |
- cmds::LineWidth cmd; |
- cmd.Init(nanf("")); |
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
- EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
-} |
- |
-TEST_P(GLES2DecoderTest1, LinkProgramValidArgs) { |
- EXPECT_CALL(*gl_, LinkProgram(kServiceProgramId)); |
- SpecializedSetup<cmds::LinkProgram, 0>(true); |
- cmds::LinkProgram cmd; |
- cmd.Init(client_program_id_); |
- EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
- EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
-} |
-// TODO(gman): PixelStorei |
- |
#endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_1_AUTOGEN_H_ |