// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This file is auto-generated from // gpu/command_buffer/build_gles2_cmd_buffer.py // It's formatted by clang-format using chromium coding style: // clang-format -i -style=chromium filename // DO NOT EDIT! // It is included by gles2_cmd_decoder_unittest_3.cc #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_3_AUTOGEN_H_ #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_3_AUTOGEN_H_ TEST_P(GLES2DecoderTest3, UniformMatrix3fvImmediateValidArgs) { cmds::UniformMatrix3fvImmediate& cmd = *GetImmediateAs(); EXPECT_CALL(*gl_, UniformMatrix3fv(1, 2, false, reinterpret_cast( ImmediateDataAddress(&cmd)))); SpecializedSetup(true); GLfloat temp[9 * 2] = { 0, }; cmd.Init(1, 2, &temp[0]); EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, UniformMatrix3x2fvImmediateValidArgs) { cmds::UniformMatrix3x2fvImmediate& cmd = *GetImmediateAs(); EXPECT_CALL(*gl_, UniformMatrix3x2fv(1, 2, false, reinterpret_cast( ImmediateDataAddress(&cmd)))); SpecializedSetup(true); GLfloat temp[6 * 2] = { 0, }; cmd.Init(1, 2, &temp[0]); decoder_->set_unsafe_es3_apis_enabled(true); EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); EXPECT_EQ(GL_NO_ERROR, GetGLError()); decoder_->set_unsafe_es3_apis_enabled(false); EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); } TEST_P(GLES2DecoderTest3, UniformMatrix3x4fvImmediateValidArgs) { cmds::UniformMatrix3x4fvImmediate& cmd = *GetImmediateAs(); EXPECT_CALL(*gl_, UniformMatrix3x4fv(1, 2, false, reinterpret_cast( ImmediateDataAddress(&cmd)))); SpecializedSetup(true); GLfloat temp[12 * 2] = { 0, }; cmd.Init(1, 2, &temp[0]); decoder_->set_unsafe_es3_apis_enabled(true); EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); EXPECT_EQ(GL_NO_ERROR, GetGLError()); decoder_->set_unsafe_es3_apis_enabled(false); EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); } TEST_P(GLES2DecoderTest3, UniformMatrix4fvImmediateValidArgs) { cmds::UniformMatrix4fvImmediate& cmd = *GetImmediateAs(); EXPECT_CALL(*gl_, UniformMatrix4fv(1, 2, false, reinterpret_cast( ImmediateDataAddress(&cmd)))); SpecializedSetup(true); GLfloat temp[16 * 2] = { 0, }; cmd.Init(1, 2, &temp[0]); EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, UniformMatrix4x2fvImmediateValidArgs) { cmds::UniformMatrix4x2fvImmediate& cmd = *GetImmediateAs(); EXPECT_CALL(*gl_, UniformMatrix4x2fv(1, 2, false, reinterpret_cast( ImmediateDataAddress(&cmd)))); SpecializedSetup(true); GLfloat temp[8 * 2] = { 0, }; cmd.Init(1, 2, &temp[0]); decoder_->set_unsafe_es3_apis_enabled(true); EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); EXPECT_EQ(GL_NO_ERROR, GetGLError()); decoder_->set_unsafe_es3_apis_enabled(false); EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); } TEST_P(GLES2DecoderTest3, UniformMatrix4x3fvImmediateValidArgs) { cmds::UniformMatrix4x3fvImmediate& cmd = *GetImmediateAs(); EXPECT_CALL(*gl_, UniformMatrix4x3fv(1, 2, false, reinterpret_cast( ImmediateDataAddress(&cmd)))); SpecializedSetup(true); GLfloat temp[12 * 2] = { 0, }; cmd.Init(1, 2, &temp[0]); decoder_->set_unsafe_es3_apis_enabled(true); EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); EXPECT_EQ(GL_NO_ERROR, GetGLError()); decoder_->set_unsafe_es3_apis_enabled(false); EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); } TEST_P(GLES2DecoderTest3, UseProgramValidArgs) { EXPECT_CALL(*gl_, UseProgram(kServiceProgramId)); SpecializedSetup(true); cmds::UseProgram cmd; cmd.Init(client_program_id_); EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, UseProgramInvalidArgs0_0) { EXPECT_CALL(*gl_, UseProgram(_)).Times(0); SpecializedSetup(false); cmds::UseProgram cmd; cmd.Init(kInvalidClientId); EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); } TEST_P(GLES2DecoderTest3, ValidateProgramValidArgs) { EXPECT_CALL(*gl_, ValidateProgram(kServiceProgramId)); SpecializedSetup(true); cmds::ValidateProgram cmd; cmd.Init(client_program_id_); EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, VertexAttrib1fValidArgs) { EXPECT_CALL(*gl_, VertexAttrib1f(1, 2)); SpecializedSetup(true); cmds::VertexAttrib1f cmd; cmd.Init(1, 2); EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, VertexAttrib1fvImmediateValidArgs) { cmds::VertexAttrib1fvImmediate& cmd = *GetImmediateAs(); SpecializedSetup(true); GLfloat temp[1] = { 0, }; cmd.Init(1, &temp[0]); EXPECT_CALL(*gl_, VertexAttrib1fv(1, reinterpret_cast( ImmediateDataAddress(&cmd)))); EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, VertexAttrib2fValidArgs) { EXPECT_CALL(*gl_, VertexAttrib2f(1, 2, 3)); SpecializedSetup(true); cmds::VertexAttrib2f cmd; cmd.Init(1, 2, 3); EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, VertexAttrib2fvImmediateValidArgs) { cmds::VertexAttrib2fvImmediate& cmd = *GetImmediateAs(); SpecializedSetup(true); GLfloat temp[2] = { 0, }; cmd.Init(1, &temp[0]); EXPECT_CALL(*gl_, VertexAttrib2fv(1, reinterpret_cast( ImmediateDataAddress(&cmd)))); EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, VertexAttrib3fValidArgs) { EXPECT_CALL(*gl_, VertexAttrib3f(1, 2, 3, 4)); SpecializedSetup(true); cmds::VertexAttrib3f cmd; cmd.Init(1, 2, 3, 4); EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, VertexAttrib3fvImmediateValidArgs) { cmds::VertexAttrib3fvImmediate& cmd = *GetImmediateAs(); SpecializedSetup(true); GLfloat temp[3] = { 0, }; cmd.Init(1, &temp[0]); EXPECT_CALL(*gl_, VertexAttrib3fv(1, reinterpret_cast( ImmediateDataAddress(&cmd)))); EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, VertexAttrib4fValidArgs) { EXPECT_CALL(*gl_, VertexAttrib4f(1, 2, 3, 4, 5)); SpecializedSetup(true); cmds::VertexAttrib4f cmd; cmd.Init(1, 2, 3, 4, 5); EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, VertexAttrib4fvImmediateValidArgs) { cmds::VertexAttrib4fvImmediate& cmd = *GetImmediateAs(); SpecializedSetup(true); GLfloat temp[4] = { 0, }; cmd.Init(1, &temp[0]); EXPECT_CALL(*gl_, VertexAttrib4fv(1, reinterpret_cast( ImmediateDataAddress(&cmd)))); EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, VertexAttribI4iValidArgs) { EXPECT_CALL(*gl_, VertexAttribI4i(1, 2, 3, 4, 5)); SpecializedSetup(true); cmds::VertexAttribI4i cmd; cmd.Init(1, 2, 3, 4, 5); 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(GLES2DecoderTest3, VertexAttribI4ivImmediateValidArgs) { cmds::VertexAttribI4ivImmediate& cmd = *GetImmediateAs(); SpecializedSetup(true); GLint temp[4] = { 0, }; cmd.Init(1, &temp[0]); EXPECT_CALL(*gl_, VertexAttribI4iv(1, reinterpret_cast( ImmediateDataAddress(&cmd)))); decoder_->set_unsafe_es3_apis_enabled(true); EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); EXPECT_EQ(GL_NO_ERROR, GetGLError()); decoder_->set_unsafe_es3_apis_enabled(false); EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); } TEST_P(GLES2DecoderTest3, VertexAttribI4uiValidArgs) { EXPECT_CALL(*gl_, VertexAttribI4ui(1, 2, 3, 4, 5)); SpecializedSetup(true); cmds::VertexAttribI4ui cmd; cmd.Init(1, 2, 3, 4, 5); 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(GLES2DecoderTest3, VertexAttribI4uivImmediateValidArgs) { cmds::VertexAttribI4uivImmediate& cmd = *GetImmediateAs(); SpecializedSetup(true); GLuint temp[4] = { 0, }; cmd.Init(1, &temp[0]); EXPECT_CALL(*gl_, VertexAttribI4uiv(1, reinterpret_cast( ImmediateDataAddress(&cmd)))); decoder_->set_unsafe_es3_apis_enabled(true); EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); EXPECT_EQ(GL_NO_ERROR, GetGLError()); decoder_->set_unsafe_es3_apis_enabled(false); EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); } // TODO(gman): VertexAttribIPointer // TODO(gman): VertexAttribPointer TEST_P(GLES2DecoderTest3, ViewportValidArgs) { EXPECT_CALL(*gl_, Viewport(1, 2, 3, 4)); SpecializedSetup(true); cmds::Viewport cmd; cmd.Init(1, 2, 3, 4); EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, ViewportInvalidArgs2_0) { EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); SpecializedSetup(false); cmds::Viewport cmd; cmd.Init(1, 2, -1, 4); EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); } TEST_P(GLES2DecoderTest3, ViewportInvalidArgs3_0) { EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); SpecializedSetup(false); cmds::Viewport cmd; cmd.Init(1, 2, 3, -1); EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); } // TODO(gman): WaitSync // TODO(gman): TexStorage2DEXT // TODO(gman): GenQueriesEXTImmediate // TODO(gman): DeleteQueriesEXTImmediate // TODO(gman): BeginQueryEXT TEST_P(GLES2DecoderTest3, BeginTransformFeedbackValidArgs) { EXPECT_CALL(*gl_, BeginTransformFeedback(GL_POINTS)); SpecializedSetup(true); cmds::BeginTransformFeedback cmd; cmd.Init(GL_POINTS); 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)); } // TODO(gman): EndQueryEXT TEST_P(GLES2DecoderTest3, EndTransformFeedbackValidArgs) { EXPECT_CALL(*gl_, EndTransformFeedback()); SpecializedSetup(true); cmds::EndTransformFeedback cmd; cmd.Init(); 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)); } // TODO(gman): InsertEventMarkerEXT // TODO(gman): PushGroupMarkerEXT TEST_P(GLES2DecoderTest3, PopGroupMarkerEXTValidArgs) { SpecializedSetup(true); cmds::PopGroupMarkerEXT cmd; cmd.Init(); EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } // TODO(gman): GenVertexArraysOESImmediate // TODO(gman): DeleteVertexArraysOESImmediate // TODO(gman): IsVertexArrayOES // TODO(gman): BindVertexArrayOES // TODO(gman): SwapBuffers // TODO(gman): GetMaxValueInBufferCHROMIUM // TODO(gman): EnableFeatureCHROMIUM // TODO(gman): MapBufferRange // TODO(gman): UnmapBuffer // TODO(gman): ResizeCHROMIUM // TODO(gman): GetRequestableExtensionsCHROMIUM // TODO(gman): RequestExtensionCHROMIUM // TODO(gman): GetProgramInfoCHROMIUM // TODO(gman): GetUniformBlocksCHROMIUM // TODO(gman): GetTransformFeedbackVaryingsCHROMIUM // TODO(gman): GetUniformsES3CHROMIUM // TODO(gman): GetTranslatedShaderSourceANGLE // TODO(gman): PostSubBufferCHROMIUM // TODO(gman): TexImageIOSurface2DCHROMIUM // TODO(gman): CopyTextureCHROMIUM // TODO(gman): CopySubTextureCHROMIUM // TODO(gman): CompressedCopyTextureCHROMIUM // TODO(gman): DrawArraysInstancedANGLE // TODO(gman): DrawElementsInstancedANGLE // TODO(gman): VertexAttribDivisorANGLE // TODO(gman): GenMailboxCHROMIUM // TODO(gman): ProduceTextureCHROMIUMImmediate // TODO(gman): ProduceTextureDirectCHROMIUMImmediate // TODO(gman): ConsumeTextureCHROMIUMImmediate // TODO(gman): CreateAndConsumeTextureCHROMIUMImmediate // TODO(gman): BindUniformLocationCHROMIUMBucket // TODO(gman): GenValuebuffersCHROMIUMImmediate // TODO(gman): DeleteValuebuffersCHROMIUMImmediate TEST_P(GLES2DecoderTest3, IsValuebufferCHROMIUMValidArgs) { SpecializedSetup(true); cmds::IsValuebufferCHROMIUM cmd; cmd.Init(client_valuebuffer_id_, shared_memory_id_, shared_memory_offset_); EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); EXPECT_EQ(GL_NO_ERROR, GetGLError()); } TEST_P(GLES2DecoderTest3, IsValuebufferCHROMIUMInvalidArgsBadSharedMemoryId) { SpecializedSetup(false); cmds::IsValuebufferCHROMIUM cmd; cmd.Init(client_valuebuffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); cmd.Init(client_valuebuffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); } // TODO(gman): BindValuebufferCHROMIUM // TODO(gman): SubscribeValueCHROMIUM // TODO(gman): PopulateSubscribedValuesCHROMIUM // TODO(gman): UniformValuebufferCHROMIUM // TODO(gman): BindTexImage2DCHROMIUM // TODO(gman): ReleaseTexImage2DCHROMIUM // TODO(gman): TraceBeginCHROMIUM // TODO(gman): TraceEndCHROMIUM // TODO(gman): AsyncTexSubImage2DCHROMIUM // TODO(gman): AsyncTexImage2DCHROMIUM // TODO(gman): WaitAsyncTexImage2DCHROMIUM // TODO(gman): WaitAllAsyncTexImage2DCHROMIUM // TODO(gman): LoseContextCHROMIUM // TODO(gman): InsertSyncPointCHROMIUM // TODO(gman): WaitSyncPointCHROMIUM // TODO(gman): DrawBuffersEXTImmediate // TODO(gman): DiscardBackbufferCHROMIUM // TODO(gman): ScheduleOverlayPlaneCHROMIUM // TODO(gman): SwapInterval // TODO(gman): FlushDriverCachesCHROMIUM #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_3_AUTOGEN_H_