| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // This file is auto-generated from | 5 // This file is auto-generated from |
| 6 // gpu/command_buffer/build_gles2_cmd_buffer.py | 6 // gpu/command_buffer/build_gles2_cmd_buffer.py |
| 7 // DO NOT EDIT! | 7 // DO NOT EDIT! |
| 8 | 8 |
| 9 // It is included by gles2_cmd_decoder_unittest_2.cc | 9 // It is included by gles2_cmd_decoder_unittest_2.cc |
| 10 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 10 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
| 11 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 11 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
| 12 | 12 |
| 13 | 13 |
| 14 TEST_F(GLES2DecoderTest2, GetVertexAttribivValidArgs) { | 14 TEST_F(GLES2DecoderTest2, GetVertexAttribivValidArgs) { |
| 15 SpecializedSetup<GetVertexAttribiv, 0>(true); | 15 SpecializedSetup<cmds::GetVertexAttribiv, 0>(true); |
| 16 typedef GetVertexAttribiv::Result Result; | 16 typedef cmds::GetVertexAttribiv::Result Result; |
| 17 Result* result = static_cast<Result*>(shared_memory_address_); | 17 Result* result = static_cast<Result*>(shared_memory_address_); |
| 18 result->size = 0; | 18 result->size = 0; |
| 19 GetVertexAttribiv cmd; | 19 cmds::GetVertexAttribiv cmd; |
| 20 cmd.Init( | 20 cmd.Init( |
| 21 1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_, | 21 1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_, |
| 22 shared_memory_offset_); | 22 shared_memory_offset_); |
| 23 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 23 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 24 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned( | 24 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned( |
| 25 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED), | 25 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED), |
| 26 result->GetNumResults()); | 26 result->GetNumResults()); |
| 27 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 27 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 28 } | 28 } |
| 29 | 29 |
| 30 TEST_F(GLES2DecoderTest2, GetVertexAttribivInvalidArgs2_0) { | 30 TEST_F(GLES2DecoderTest2, GetVertexAttribivInvalidArgs2_0) { |
| 31 EXPECT_CALL(*gl_, GetVertexAttribiv(_, _, _)).Times(0); | 31 EXPECT_CALL(*gl_, GetVertexAttribiv(_, _, _)).Times(0); |
| 32 SpecializedSetup<GetVertexAttribiv, 0>(false); | 32 SpecializedSetup<cmds::GetVertexAttribiv, 0>(false); |
| 33 GetVertexAttribiv::Result* result = | 33 cmds::GetVertexAttribiv::Result* result = |
| 34 static_cast<GetVertexAttribiv::Result*>(shared_memory_address_); | 34 static_cast<cmds::GetVertexAttribiv::Result*>(shared_memory_address_); |
| 35 result->size = 0; | 35 result->size = 0; |
| 36 GetVertexAttribiv cmd; | 36 cmds::GetVertexAttribiv cmd; |
| 37 cmd.Init(1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, kInvalidSharedMemoryId, 0); | 37 cmd.Init(1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, kInvalidSharedMemoryId, 0); |
| 38 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 38 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 39 EXPECT_EQ(0u, result->size); | 39 EXPECT_EQ(0u, result->size); |
| 40 } | 40 } |
| 41 | 41 |
| 42 TEST_F(GLES2DecoderTest2, GetVertexAttribivInvalidArgs2_1) { | 42 TEST_F(GLES2DecoderTest2, GetVertexAttribivInvalidArgs2_1) { |
| 43 EXPECT_CALL(*gl_, GetVertexAttribiv(_, _, _)).Times(0); | 43 EXPECT_CALL(*gl_, GetVertexAttribiv(_, _, _)).Times(0); |
| 44 SpecializedSetup<GetVertexAttribiv, 0>(false); | 44 SpecializedSetup<cmds::GetVertexAttribiv, 0>(false); |
| 45 GetVertexAttribiv::Result* result = | 45 cmds::GetVertexAttribiv::Result* result = |
| 46 static_cast<GetVertexAttribiv::Result*>(shared_memory_address_); | 46 static_cast<cmds::GetVertexAttribiv::Result*>(shared_memory_address_); |
| 47 result->size = 0; | 47 result->size = 0; |
| 48 GetVertexAttribiv cmd; | 48 cmds::GetVertexAttribiv cmd; |
| 49 cmd.Init( | 49 cmd.Init( |
| 50 1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_, | 50 1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_, |
| 51 kInvalidSharedMemoryOffset); | 51 kInvalidSharedMemoryOffset); |
| 52 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 52 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 53 EXPECT_EQ(0u, result->size); | 53 EXPECT_EQ(0u, result->size); |
| 54 } | 54 } |
| 55 // TODO(gman): GetVertexAttribPointerv | 55 // TODO(gman): GetVertexAttribPointerv |
| 56 | 56 |
| 57 | 57 |
| 58 TEST_F(GLES2DecoderTest2, HintValidArgs) { | 58 TEST_F(GLES2DecoderTest2, HintValidArgs) { |
| 59 EXPECT_CALL(*gl_, Hint(GL_GENERATE_MIPMAP_HINT, GL_FASTEST)); | 59 EXPECT_CALL(*gl_, Hint(GL_GENERATE_MIPMAP_HINT, GL_FASTEST)); |
| 60 SpecializedSetup<Hint, 0>(true); | 60 SpecializedSetup<cmds::Hint, 0>(true); |
| 61 Hint cmd; | 61 cmds::Hint cmd; |
| 62 cmd.Init(GL_GENERATE_MIPMAP_HINT, GL_FASTEST); | 62 cmd.Init(GL_GENERATE_MIPMAP_HINT, GL_FASTEST); |
| 63 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 63 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 64 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 64 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 65 } | 65 } |
| 66 | 66 |
| 67 TEST_F(GLES2DecoderTest2, HintInvalidArgs0_0) { | 67 TEST_F(GLES2DecoderTest2, HintInvalidArgs0_0) { |
| 68 EXPECT_CALL(*gl_, Hint(_, _)).Times(0); | 68 EXPECT_CALL(*gl_, Hint(_, _)).Times(0); |
| 69 SpecializedSetup<Hint, 0>(false); | 69 SpecializedSetup<cmds::Hint, 0>(false); |
| 70 Hint cmd; | 70 cmds::Hint cmd; |
| 71 cmd.Init(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); | 71 cmd.Init(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); |
| 72 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 72 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 73 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 73 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 74 } | 74 } |
| 75 | 75 |
| 76 TEST_F(GLES2DecoderTest2, IsBufferValidArgs) { | 76 TEST_F(GLES2DecoderTest2, IsBufferValidArgs) { |
| 77 SpecializedSetup<IsBuffer, 0>(true); | 77 SpecializedSetup<cmds::IsBuffer, 0>(true); |
| 78 IsBuffer cmd; | 78 cmds::IsBuffer cmd; |
| 79 cmd.Init(client_buffer_id_, shared_memory_id_, shared_memory_offset_); | 79 cmd.Init(client_buffer_id_, shared_memory_id_, shared_memory_offset_); |
| 80 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 80 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 81 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 81 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 82 } | 82 } |
| 83 | 83 |
| 84 TEST_F(GLES2DecoderTest2, IsBufferInvalidArgsBadSharedMemoryId) { | 84 TEST_F(GLES2DecoderTest2, IsBufferInvalidArgsBadSharedMemoryId) { |
| 85 SpecializedSetup<IsBuffer, 0>(false); | 85 SpecializedSetup<cmds::IsBuffer, 0>(false); |
| 86 IsBuffer cmd; | 86 cmds::IsBuffer cmd; |
| 87 cmd.Init(client_buffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 87 cmd.Init(client_buffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
| 88 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 88 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 89 cmd.Init(client_buffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 89 cmd.Init(client_buffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 90 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 90 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 91 } | 91 } |
| 92 | 92 |
| 93 TEST_F(GLES2DecoderTest2, IsEnabledValidArgs) { | 93 TEST_F(GLES2DecoderTest2, IsEnabledValidArgs) { |
| 94 SpecializedSetup<IsEnabled, 0>(true); | 94 SpecializedSetup<cmds::IsEnabled, 0>(true); |
| 95 IsEnabled cmd; | 95 cmds::IsEnabled cmd; |
| 96 cmd.Init(GL_BLEND, shared_memory_id_, shared_memory_offset_); | 96 cmd.Init(GL_BLEND, shared_memory_id_, shared_memory_offset_); |
| 97 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 97 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 98 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 98 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 99 } | 99 } |
| 100 | 100 |
| 101 TEST_F(GLES2DecoderTest2, IsEnabledInvalidArgs0_0) { | 101 TEST_F(GLES2DecoderTest2, IsEnabledInvalidArgs0_0) { |
| 102 EXPECT_CALL(*gl_, IsEnabled(_)).Times(0); | 102 EXPECT_CALL(*gl_, IsEnabled(_)).Times(0); |
| 103 SpecializedSetup<IsEnabled, 0>(false); | 103 SpecializedSetup<cmds::IsEnabled, 0>(false); |
| 104 IsEnabled cmd; | 104 cmds::IsEnabled cmd; |
| 105 cmd.Init(GL_CLIP_PLANE0, shared_memory_id_, shared_memory_offset_); | 105 cmd.Init(GL_CLIP_PLANE0, shared_memory_id_, shared_memory_offset_); |
| 106 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 106 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 107 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 107 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 108 } | 108 } |
| 109 | 109 |
| 110 TEST_F(GLES2DecoderTest2, IsEnabledInvalidArgs0_1) { | 110 TEST_F(GLES2DecoderTest2, IsEnabledInvalidArgs0_1) { |
| 111 EXPECT_CALL(*gl_, IsEnabled(_)).Times(0); | 111 EXPECT_CALL(*gl_, IsEnabled(_)).Times(0); |
| 112 SpecializedSetup<IsEnabled, 0>(false); | 112 SpecializedSetup<cmds::IsEnabled, 0>(false); |
| 113 IsEnabled cmd; | 113 cmds::IsEnabled cmd; |
| 114 cmd.Init(GL_POINT_SPRITE, shared_memory_id_, shared_memory_offset_); | 114 cmd.Init(GL_POINT_SPRITE, shared_memory_id_, shared_memory_offset_); |
| 115 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 115 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 116 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 116 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 117 } | 117 } |
| 118 | 118 |
| 119 TEST_F(GLES2DecoderTest2, IsEnabledInvalidArgsBadSharedMemoryId) { | 119 TEST_F(GLES2DecoderTest2, IsEnabledInvalidArgsBadSharedMemoryId) { |
| 120 SpecializedSetup<IsEnabled, 0>(false); | 120 SpecializedSetup<cmds::IsEnabled, 0>(false); |
| 121 IsEnabled cmd; | 121 cmds::IsEnabled cmd; |
| 122 cmd.Init(GL_BLEND, kInvalidSharedMemoryId, shared_memory_offset_); | 122 cmd.Init(GL_BLEND, kInvalidSharedMemoryId, shared_memory_offset_); |
| 123 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 123 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 124 cmd.Init(GL_BLEND, shared_memory_id_, kInvalidSharedMemoryOffset); | 124 cmd.Init(GL_BLEND, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 125 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 125 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 126 } | 126 } |
| 127 | 127 |
| 128 TEST_F(GLES2DecoderTest2, IsFramebufferValidArgs) { | 128 TEST_F(GLES2DecoderTest2, IsFramebufferValidArgs) { |
| 129 SpecializedSetup<IsFramebuffer, 0>(true); | 129 SpecializedSetup<cmds::IsFramebuffer, 0>(true); |
| 130 IsFramebuffer cmd; | 130 cmds::IsFramebuffer cmd; |
| 131 cmd.Init(client_framebuffer_id_, shared_memory_id_, shared_memory_offset_); | 131 cmd.Init(client_framebuffer_id_, shared_memory_id_, shared_memory_offset_); |
| 132 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 132 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 133 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 133 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 134 } | 134 } |
| 135 | 135 |
| 136 TEST_F(GLES2DecoderTest2, IsFramebufferInvalidArgsBadSharedMemoryId) { | 136 TEST_F(GLES2DecoderTest2, IsFramebufferInvalidArgsBadSharedMemoryId) { |
| 137 SpecializedSetup<IsFramebuffer, 0>(false); | 137 SpecializedSetup<cmds::IsFramebuffer, 0>(false); |
| 138 IsFramebuffer cmd; | 138 cmds::IsFramebuffer cmd; |
| 139 cmd.Init( | 139 cmd.Init( |
| 140 client_framebuffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 140 client_framebuffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
| 141 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 141 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 142 cmd.Init( | 142 cmd.Init( |
| 143 client_framebuffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 143 client_framebuffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 144 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 144 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 145 } | 145 } |
| 146 | 146 |
| 147 TEST_F(GLES2DecoderTest2, IsProgramValidArgs) { | 147 TEST_F(GLES2DecoderTest2, IsProgramValidArgs) { |
| 148 SpecializedSetup<IsProgram, 0>(true); | 148 SpecializedSetup<cmds::IsProgram, 0>(true); |
| 149 IsProgram cmd; | 149 cmds::IsProgram cmd; |
| 150 cmd.Init(client_program_id_, shared_memory_id_, shared_memory_offset_); | 150 cmd.Init(client_program_id_, shared_memory_id_, shared_memory_offset_); |
| 151 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 151 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 152 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 152 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 153 } | 153 } |
| 154 | 154 |
| 155 TEST_F(GLES2DecoderTest2, IsProgramInvalidArgsBadSharedMemoryId) { | 155 TEST_F(GLES2DecoderTest2, IsProgramInvalidArgsBadSharedMemoryId) { |
| 156 SpecializedSetup<IsProgram, 0>(false); | 156 SpecializedSetup<cmds::IsProgram, 0>(false); |
| 157 IsProgram cmd; | 157 cmds::IsProgram cmd; |
| 158 cmd.Init(client_program_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 158 cmd.Init(client_program_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
| 159 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 159 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 160 cmd.Init(client_program_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 160 cmd.Init(client_program_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 161 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 161 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 162 } | 162 } |
| 163 | 163 |
| 164 TEST_F(GLES2DecoderTest2, IsRenderbufferValidArgs) { | 164 TEST_F(GLES2DecoderTest2, IsRenderbufferValidArgs) { |
| 165 SpecializedSetup<IsRenderbuffer, 0>(true); | 165 SpecializedSetup<cmds::IsRenderbuffer, 0>(true); |
| 166 IsRenderbuffer cmd; | 166 cmds::IsRenderbuffer cmd; |
| 167 cmd.Init(client_renderbuffer_id_, shared_memory_id_, shared_memory_offset_); | 167 cmd.Init(client_renderbuffer_id_, shared_memory_id_, shared_memory_offset_); |
| 168 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 168 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 169 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 169 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 170 } | 170 } |
| 171 | 171 |
| 172 TEST_F(GLES2DecoderTest2, IsRenderbufferInvalidArgsBadSharedMemoryId) { | 172 TEST_F(GLES2DecoderTest2, IsRenderbufferInvalidArgsBadSharedMemoryId) { |
| 173 SpecializedSetup<IsRenderbuffer, 0>(false); | 173 SpecializedSetup<cmds::IsRenderbuffer, 0>(false); |
| 174 IsRenderbuffer cmd; | 174 cmds::IsRenderbuffer cmd; |
| 175 cmd.Init( | 175 cmd.Init( |
| 176 client_renderbuffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 176 client_renderbuffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
| 177 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 177 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 178 cmd.Init( | 178 cmd.Init( |
| 179 client_renderbuffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 179 client_renderbuffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 180 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 180 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 181 } | 181 } |
| 182 | 182 |
| 183 TEST_F(GLES2DecoderTest2, IsShaderValidArgs) { | 183 TEST_F(GLES2DecoderTest2, IsShaderValidArgs) { |
| 184 SpecializedSetup<IsShader, 0>(true); | 184 SpecializedSetup<cmds::IsShader, 0>(true); |
| 185 IsShader cmd; | 185 cmds::IsShader cmd; |
| 186 cmd.Init(client_shader_id_, shared_memory_id_, shared_memory_offset_); | 186 cmd.Init(client_shader_id_, shared_memory_id_, shared_memory_offset_); |
| 187 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 187 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 188 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 188 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 189 } | 189 } |
| 190 | 190 |
| 191 TEST_F(GLES2DecoderTest2, IsShaderInvalidArgsBadSharedMemoryId) { | 191 TEST_F(GLES2DecoderTest2, IsShaderInvalidArgsBadSharedMemoryId) { |
| 192 SpecializedSetup<IsShader, 0>(false); | 192 SpecializedSetup<cmds::IsShader, 0>(false); |
| 193 IsShader cmd; | 193 cmds::IsShader cmd; |
| 194 cmd.Init(client_shader_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 194 cmd.Init(client_shader_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
| 195 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 195 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 196 cmd.Init(client_shader_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 196 cmd.Init(client_shader_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 197 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 197 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 198 } | 198 } |
| 199 | 199 |
| 200 TEST_F(GLES2DecoderTest2, IsTextureValidArgs) { | 200 TEST_F(GLES2DecoderTest2, IsTextureValidArgs) { |
| 201 SpecializedSetup<IsTexture, 0>(true); | 201 SpecializedSetup<cmds::IsTexture, 0>(true); |
| 202 IsTexture cmd; | 202 cmds::IsTexture cmd; |
| 203 cmd.Init(client_texture_id_, shared_memory_id_, shared_memory_offset_); | 203 cmd.Init(client_texture_id_, shared_memory_id_, shared_memory_offset_); |
| 204 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 204 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 205 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 205 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 206 } | 206 } |
| 207 | 207 |
| 208 TEST_F(GLES2DecoderTest2, IsTextureInvalidArgsBadSharedMemoryId) { | 208 TEST_F(GLES2DecoderTest2, IsTextureInvalidArgsBadSharedMemoryId) { |
| 209 SpecializedSetup<IsTexture, 0>(false); | 209 SpecializedSetup<cmds::IsTexture, 0>(false); |
| 210 IsTexture cmd; | 210 cmds::IsTexture cmd; |
| 211 cmd.Init(client_texture_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 211 cmd.Init(client_texture_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
| 212 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 212 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 213 cmd.Init(client_texture_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 213 cmd.Init(client_texture_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 214 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 214 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 215 } | 215 } |
| 216 | 216 |
| 217 TEST_F(GLES2DecoderTest2, LineWidthValidArgs) { | 217 TEST_F(GLES2DecoderTest2, LineWidthValidArgs) { |
| 218 EXPECT_CALL(*gl_, LineWidth(0.5f)); | 218 EXPECT_CALL(*gl_, LineWidth(0.5f)); |
| 219 SpecializedSetup<LineWidth, 0>(true); | 219 SpecializedSetup<cmds::LineWidth, 0>(true); |
| 220 LineWidth cmd; | 220 cmds::LineWidth cmd; |
| 221 cmd.Init(0.5f); | 221 cmd.Init(0.5f); |
| 222 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 222 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 223 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 223 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 224 } | 224 } |
| 225 | 225 |
| 226 TEST_F(GLES2DecoderTest2, LineWidthInvalidValue0_0) { | 226 TEST_F(GLES2DecoderTest2, LineWidthInvalidValue0_0) { |
| 227 SpecializedSetup<LineWidth, 0>(false); | 227 SpecializedSetup<cmds::LineWidth, 0>(false); |
| 228 LineWidth cmd; | 228 cmds::LineWidth cmd; |
| 229 cmd.Init(0.0f); | 229 cmd.Init(0.0f); |
| 230 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 230 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 231 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 231 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 232 } | 232 } |
| 233 | 233 |
| 234 TEST_F(GLES2DecoderTest2, LinkProgramValidArgs) { | 234 TEST_F(GLES2DecoderTest2, LinkProgramValidArgs) { |
| 235 EXPECT_CALL(*gl_, LinkProgram(kServiceProgramId)); | 235 EXPECT_CALL(*gl_, LinkProgram(kServiceProgramId)); |
| 236 SpecializedSetup<LinkProgram, 0>(true); | 236 SpecializedSetup<cmds::LinkProgram, 0>(true); |
| 237 LinkProgram cmd; | 237 cmds::LinkProgram cmd; |
| 238 cmd.Init(client_program_id_); | 238 cmd.Init(client_program_id_); |
| 239 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 239 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 240 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 240 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 241 } | 241 } |
| 242 // TODO(gman): PixelStorei | 242 // TODO(gman): PixelStorei |
| 243 | 243 |
| 244 | 244 |
| 245 TEST_F(GLES2DecoderTest2, PolygonOffsetValidArgs) { | 245 TEST_F(GLES2DecoderTest2, PolygonOffsetValidArgs) { |
| 246 EXPECT_CALL(*gl_, PolygonOffset(1, 2)); | 246 EXPECT_CALL(*gl_, PolygonOffset(1, 2)); |
| 247 SpecializedSetup<PolygonOffset, 0>(true); | 247 SpecializedSetup<cmds::PolygonOffset, 0>(true); |
| 248 PolygonOffset cmd; | 248 cmds::PolygonOffset cmd; |
| 249 cmd.Init(1, 2); | 249 cmd.Init(1, 2); |
| 250 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 250 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 251 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 251 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 252 } | 252 } |
| 253 // TODO(gman): ReadPixels | 253 // TODO(gman): ReadPixels |
| 254 | 254 |
| 255 // TODO(gman): ReleaseShaderCompiler | 255 // TODO(gman): ReleaseShaderCompiler |
| 256 | 256 |
| 257 TEST_F(GLES2DecoderTest2, RenderbufferStorageValidArgs) { | 257 TEST_F(GLES2DecoderTest2, RenderbufferStorageValidArgs) { |
| 258 SpecializedSetup<RenderbufferStorage, 0>(true); | 258 SpecializedSetup<cmds::RenderbufferStorage, 0>(true); |
| 259 RenderbufferStorage cmd; | 259 cmds::RenderbufferStorage cmd; |
| 260 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, 4); | 260 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, 4); |
| 261 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 261 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 262 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 262 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 263 } | 263 } |
| 264 | 264 |
| 265 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs0_0) { | 265 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs0_0) { |
| 266 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); | 266 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); |
| 267 SpecializedSetup<RenderbufferStorage, 0>(false); | 267 SpecializedSetup<cmds::RenderbufferStorage, 0>(false); |
| 268 RenderbufferStorage cmd; | 268 cmds::RenderbufferStorage cmd; |
| 269 cmd.Init(GL_FRAMEBUFFER, GL_RGBA4, 3, 4); | 269 cmd.Init(GL_FRAMEBUFFER, GL_RGBA4, 3, 4); |
| 270 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 270 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 271 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 271 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 272 } | 272 } |
| 273 | 273 |
| 274 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs2_0) { | 274 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs2_0) { |
| 275 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); | 275 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); |
| 276 SpecializedSetup<RenderbufferStorage, 0>(false); | 276 SpecializedSetup<cmds::RenderbufferStorage, 0>(false); |
| 277 RenderbufferStorage cmd; | 277 cmds::RenderbufferStorage cmd; |
| 278 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, -1, 4); | 278 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, -1, 4); |
| 279 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 279 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 280 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 280 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 281 } | 281 } |
| 282 | 282 |
| 283 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs3_0) { | 283 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs3_0) { |
| 284 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); | 284 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); |
| 285 SpecializedSetup<RenderbufferStorage, 0>(false); | 285 SpecializedSetup<cmds::RenderbufferStorage, 0>(false); |
| 286 RenderbufferStorage cmd; | 286 cmds::RenderbufferStorage cmd; |
| 287 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, -1); | 287 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, -1); |
| 288 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 288 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 289 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 289 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 290 } | 290 } |
| 291 | 291 |
| 292 TEST_F(GLES2DecoderTest2, SampleCoverageValidArgs) { | 292 TEST_F(GLES2DecoderTest2, SampleCoverageValidArgs) { |
| 293 EXPECT_CALL(*gl_, SampleCoverage(1, true)); | 293 EXPECT_CALL(*gl_, SampleCoverage(1, true)); |
| 294 SpecializedSetup<SampleCoverage, 0>(true); | 294 SpecializedSetup<cmds::SampleCoverage, 0>(true); |
| 295 SampleCoverage cmd; | 295 cmds::SampleCoverage cmd; |
| 296 cmd.Init(1, true); | 296 cmd.Init(1, true); |
| 297 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 297 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 298 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 298 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 299 } | 299 } |
| 300 | 300 |
| 301 TEST_F(GLES2DecoderTest2, ScissorValidArgs) { | 301 TEST_F(GLES2DecoderTest2, ScissorValidArgs) { |
| 302 EXPECT_CALL(*gl_, Scissor(1, 2, 3, 4)); | 302 EXPECT_CALL(*gl_, Scissor(1, 2, 3, 4)); |
| 303 SpecializedSetup<Scissor, 0>(true); | 303 SpecializedSetup<cmds::Scissor, 0>(true); |
| 304 Scissor cmd; | 304 cmds::Scissor cmd; |
| 305 cmd.Init(1, 2, 3, 4); | 305 cmd.Init(1, 2, 3, 4); |
| 306 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 306 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 307 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 307 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 308 } | 308 } |
| 309 | 309 |
| 310 TEST_F(GLES2DecoderTest2, ScissorInvalidArgs2_0) { | 310 TEST_F(GLES2DecoderTest2, ScissorInvalidArgs2_0) { |
| 311 EXPECT_CALL(*gl_, Scissor(_, _, _, _)).Times(0); | 311 EXPECT_CALL(*gl_, Scissor(_, _, _, _)).Times(0); |
| 312 SpecializedSetup<Scissor, 0>(false); | 312 SpecializedSetup<cmds::Scissor, 0>(false); |
| 313 Scissor cmd; | 313 cmds::Scissor cmd; |
| 314 cmd.Init(1, 2, -1, 4); | 314 cmd.Init(1, 2, -1, 4); |
| 315 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 315 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 316 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 316 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 317 } | 317 } |
| 318 | 318 |
| 319 TEST_F(GLES2DecoderTest2, ScissorInvalidArgs3_0) { | 319 TEST_F(GLES2DecoderTest2, ScissorInvalidArgs3_0) { |
| 320 EXPECT_CALL(*gl_, Scissor(_, _, _, _)).Times(0); | 320 EXPECT_CALL(*gl_, Scissor(_, _, _, _)).Times(0); |
| 321 SpecializedSetup<Scissor, 0>(false); | 321 SpecializedSetup<cmds::Scissor, 0>(false); |
| 322 Scissor cmd; | 322 cmds::Scissor cmd; |
| 323 cmd.Init(1, 2, 3, -1); | 323 cmd.Init(1, 2, 3, -1); |
| 324 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 324 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 325 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 325 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 326 } | 326 } |
| 327 // TODO(gman): ShaderBinary | 327 // TODO(gman): ShaderBinary |
| 328 | 328 |
| 329 // TODO(gman): ShaderSource | 329 // TODO(gman): ShaderSource |
| 330 | 330 |
| 331 // TODO(gman): ShaderSourceImmediate | 331 // TODO(gman): ShaderSourceImmediate |
| 332 | 332 |
| 333 // TODO(gman): ShaderSourceBucket | 333 // TODO(gman): ShaderSourceBucket |
| 334 | 334 |
| 335 TEST_F(GLES2DecoderTest2, StencilFuncValidArgs) { | 335 TEST_F(GLES2DecoderTest2, StencilFuncValidArgs) { |
| 336 EXPECT_CALL(*gl_, StencilFunc(GL_NEVER, 2, 3)); | 336 EXPECT_CALL(*gl_, StencilFunc(GL_NEVER, 2, 3)); |
| 337 SpecializedSetup<StencilFunc, 0>(true); | 337 SpecializedSetup<cmds::StencilFunc, 0>(true); |
| 338 StencilFunc cmd; | 338 cmds::StencilFunc cmd; |
| 339 cmd.Init(GL_NEVER, 2, 3); | 339 cmd.Init(GL_NEVER, 2, 3); |
| 340 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 340 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 341 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 341 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 342 } | 342 } |
| 343 | 343 |
| 344 TEST_F(GLES2DecoderTest2, StencilFuncSeparateValidArgs) { | 344 TEST_F(GLES2DecoderTest2, StencilFuncSeparateValidArgs) { |
| 345 EXPECT_CALL(*gl_, StencilFuncSeparate(GL_FRONT, GL_NEVER, 3, 4)); | 345 EXPECT_CALL(*gl_, StencilFuncSeparate(GL_FRONT, GL_NEVER, 3, 4)); |
| 346 SpecializedSetup<StencilFuncSeparate, 0>(true); | 346 SpecializedSetup<cmds::StencilFuncSeparate, 0>(true); |
| 347 StencilFuncSeparate cmd; | 347 cmds::StencilFuncSeparate cmd; |
| 348 cmd.Init(GL_FRONT, GL_NEVER, 3, 4); | 348 cmd.Init(GL_FRONT, GL_NEVER, 3, 4); |
| 349 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 349 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 350 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 350 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 351 } | 351 } |
| 352 | 352 |
| 353 TEST_F(GLES2DecoderTest2, StencilMaskValidArgs) { | 353 TEST_F(GLES2DecoderTest2, StencilMaskValidArgs) { |
| 354 SpecializedSetup<StencilMask, 0>(true); | 354 SpecializedSetup<cmds::StencilMask, 0>(true); |
| 355 StencilMask cmd; | 355 cmds::StencilMask cmd; |
| 356 cmd.Init(1); | 356 cmd.Init(1); |
| 357 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 357 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 358 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 358 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 359 } | 359 } |
| 360 | 360 |
| 361 TEST_F(GLES2DecoderTest2, StencilMaskSeparateValidArgs) { | 361 TEST_F(GLES2DecoderTest2, StencilMaskSeparateValidArgs) { |
| 362 SpecializedSetup<StencilMaskSeparate, 0>(true); | 362 SpecializedSetup<cmds::StencilMaskSeparate, 0>(true); |
| 363 StencilMaskSeparate cmd; | 363 cmds::StencilMaskSeparate cmd; |
| 364 cmd.Init(GL_FRONT, 2); | 364 cmd.Init(GL_FRONT, 2); |
| 365 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 365 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 366 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 366 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 367 } | 367 } |
| 368 | 368 |
| 369 TEST_F(GLES2DecoderTest2, StencilOpValidArgs) { | 369 TEST_F(GLES2DecoderTest2, StencilOpValidArgs) { |
| 370 EXPECT_CALL(*gl_, StencilOp(GL_KEEP, GL_INCR, GL_KEEP)); | 370 EXPECT_CALL(*gl_, StencilOp(GL_KEEP, GL_INCR, GL_KEEP)); |
| 371 SpecializedSetup<StencilOp, 0>(true); | 371 SpecializedSetup<cmds::StencilOp, 0>(true); |
| 372 StencilOp cmd; | 372 cmds::StencilOp cmd; |
| 373 cmd.Init(GL_KEEP, GL_INCR, GL_KEEP); | 373 cmd.Init(GL_KEEP, GL_INCR, GL_KEEP); |
| 374 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 374 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 375 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 375 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 376 } | 376 } |
| 377 | 377 |
| 378 TEST_F(GLES2DecoderTest2, StencilOpSeparateValidArgs) { | 378 TEST_F(GLES2DecoderTest2, StencilOpSeparateValidArgs) { |
| 379 EXPECT_CALL(*gl_, StencilOpSeparate(GL_FRONT, GL_INCR, GL_KEEP, GL_KEEP)); | 379 EXPECT_CALL(*gl_, StencilOpSeparate(GL_FRONT, GL_INCR, GL_KEEP, GL_KEEP)); |
| 380 SpecializedSetup<StencilOpSeparate, 0>(true); | 380 SpecializedSetup<cmds::StencilOpSeparate, 0>(true); |
| 381 StencilOpSeparate cmd; | 381 cmds::StencilOpSeparate cmd; |
| 382 cmd.Init(GL_FRONT, GL_INCR, GL_KEEP, GL_KEEP); | 382 cmd.Init(GL_FRONT, GL_INCR, GL_KEEP, GL_KEEP); |
| 383 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 383 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 384 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 384 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 385 } | 385 } |
| 386 // TODO(gman): TexImage2D | 386 // TODO(gman): TexImage2D |
| 387 | 387 |
| 388 // TODO(gman): TexImage2DImmediate | 388 // TODO(gman): TexImage2DImmediate |
| 389 | 389 |
| 390 | 390 |
| 391 TEST_F(GLES2DecoderTest2, TexParameterfValidArgs) { | 391 TEST_F(GLES2DecoderTest2, TexParameterfValidArgs) { |
| 392 EXPECT_CALL( | 392 EXPECT_CALL( |
| 393 *gl_, TexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); | 393 *gl_, TexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); |
| 394 SpecializedSetup<TexParameterf, 0>(true); | 394 SpecializedSetup<cmds::TexParameterf, 0>(true); |
| 395 TexParameterf cmd; | 395 cmds::TexParameterf cmd; |
| 396 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 396 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
| 397 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 397 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 398 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 398 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 399 } | 399 } |
| 400 | 400 |
| 401 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs0_0) { | 401 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs0_0) { |
| 402 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 402 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
| 403 SpecializedSetup<TexParameterf, 0>(false); | 403 SpecializedSetup<cmds::TexParameterf, 0>(false); |
| 404 TexParameterf cmd; | 404 cmds::TexParameterf cmd; |
| 405 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 405 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
| 406 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 406 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 407 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 407 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 408 } | 408 } |
| 409 | 409 |
| 410 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs0_1) { | 410 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs0_1) { |
| 411 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 411 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
| 412 SpecializedSetup<TexParameterf, 0>(false); | 412 SpecializedSetup<cmds::TexParameterf, 0>(false); |
| 413 TexParameterf cmd; | 413 cmds::TexParameterf cmd; |
| 414 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 414 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
| 415 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 415 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 416 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 416 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 417 } | 417 } |
| 418 | 418 |
| 419 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs1_0) { | 419 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs1_0) { |
| 420 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 420 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
| 421 SpecializedSetup<TexParameterf, 0>(false); | 421 SpecializedSetup<cmds::TexParameterf, 0>(false); |
| 422 TexParameterf cmd; | 422 cmds::TexParameterf cmd; |
| 423 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); | 423 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); |
| 424 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 424 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 425 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 425 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 426 } | 426 } |
| 427 | 427 |
| 428 TEST_F(GLES2DecoderTest2, TexParameterfvValidArgs) { | 428 TEST_F(GLES2DecoderTest2, TexParameterfvValidArgs) { |
| 429 EXPECT_CALL( | 429 EXPECT_CALL( |
| 430 *gl_, TexParameterfv( | 430 *gl_, TexParameterfv( |
| 431 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, | 431 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, |
| 432 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 432 reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 433 SpecializedSetup<TexParameterfv, 0>(true); | 433 SpecializedSetup<cmds::TexParameterfv, 0>(true); |
| 434 TexParameterfv cmd; | 434 cmds::TexParameterfv cmd; |
| 435 cmd.Init( | 435 cmd.Init( |
| 436 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 436 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
| 437 shared_memory_offset_); | 437 shared_memory_offset_); |
| 438 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 438 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
| 439 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 439 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 440 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 440 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 441 } | 441 } |
| 442 | 442 |
| 443 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs0_0) { | 443 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs0_0) { |
| 444 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 444 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
| 445 SpecializedSetup<TexParameterfv, 0>(false); | 445 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
| 446 TexParameterfv cmd; | 446 cmds::TexParameterfv cmd; |
| 447 cmd.Init( | 447 cmd.Init( |
| 448 GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 448 GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
| 449 shared_memory_offset_); | 449 shared_memory_offset_); |
| 450 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 450 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
| 451 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 451 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 452 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 452 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 453 } | 453 } |
| 454 | 454 |
| 455 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs0_1) { | 455 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs0_1) { |
| 456 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 456 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
| 457 SpecializedSetup<TexParameterfv, 0>(false); | 457 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
| 458 TexParameterfv cmd; | 458 cmds::TexParameterfv cmd; |
| 459 cmd.Init( | 459 cmd.Init( |
| 460 GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 460 GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
| 461 shared_memory_offset_); | 461 shared_memory_offset_); |
| 462 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 462 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
| 463 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 463 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 464 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 464 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 465 } | 465 } |
| 466 | 466 |
| 467 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs1_0) { | 467 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs1_0) { |
| 468 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 468 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
| 469 SpecializedSetup<TexParameterfv, 0>(false); | 469 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
| 470 TexParameterfv cmd; | 470 cmds::TexParameterfv cmd; |
| 471 cmd.Init( | 471 cmd.Init( |
| 472 GL_TEXTURE_2D, GL_GENERATE_MIPMAP, shared_memory_id_, | 472 GL_TEXTURE_2D, GL_GENERATE_MIPMAP, shared_memory_id_, |
| 473 shared_memory_offset_); | 473 shared_memory_offset_); |
| 474 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 474 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
| 475 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 475 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 476 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 476 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 477 } | 477 } |
| 478 | 478 |
| 479 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs2_0) { | 479 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs2_0) { |
| 480 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 480 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
| 481 SpecializedSetup<TexParameterfv, 0>(false); | 481 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
| 482 TexParameterfv cmd; | 482 cmds::TexParameterfv cmd; |
| 483 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); | 483 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); |
| 484 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 484 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
| 485 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 485 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 486 } | 486 } |
| 487 | 487 |
| 488 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs2_1) { | 488 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs2_1) { |
| 489 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 489 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
| 490 SpecializedSetup<TexParameterfv, 0>(false); | 490 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
| 491 TexParameterfv cmd; | 491 cmds::TexParameterfv cmd; |
| 492 cmd.Init( | 492 cmd.Init( |
| 493 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 493 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
| 494 kInvalidSharedMemoryOffset); | 494 kInvalidSharedMemoryOffset); |
| 495 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 495 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
| 496 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 496 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 497 } | 497 } |
| 498 | 498 |
| 499 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateValidArgs) { | 499 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateValidArgs) { |
| 500 TexParameterfvImmediate& cmd = *GetImmediateAs<TexParameterfvImmediate>(); | 500 cmds::TexParameterfvImmediate& cmd = |
| 501 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
| 501 EXPECT_CALL( | 502 EXPECT_CALL( |
| 502 *gl_, | 503 *gl_, |
| 503 TexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, | 504 TexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, |
| 504 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 505 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 505 SpecializedSetup<TexParameterfvImmediate, 0>(true); | 506 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(true); |
| 506 GLfloat temp[1] = { GL_NEAREST, }; | 507 GLfloat temp[1] = { GL_NEAREST, }; |
| 507 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 508 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
| 508 EXPECT_EQ(error::kNoError, | 509 EXPECT_EQ(error::kNoError, |
| 509 ExecuteImmediateCmd(cmd, sizeof(temp))); | 510 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 510 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 511 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 511 } | 512 } |
| 512 | 513 |
| 513 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_0) { | 514 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_0) { |
| 514 TexParameterfvImmediate& cmd = *GetImmediateAs<TexParameterfvImmediate>(); | 515 cmds::TexParameterfvImmediate& cmd = |
| 516 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
| 515 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 517 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
| 516 SpecializedSetup<TexParameterfvImmediate, 0>(false); | 518 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); |
| 517 GLfloat temp[1] = { GL_NEAREST, }; | 519 GLfloat temp[1] = { GL_NEAREST, }; |
| 518 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 520 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
| 519 EXPECT_EQ(error::kNoError, | 521 EXPECT_EQ(error::kNoError, |
| 520 ExecuteImmediateCmd(cmd, sizeof(temp))); | 522 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 521 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 523 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 522 } | 524 } |
| 523 | 525 |
| 524 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_1) { | 526 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_1) { |
| 525 TexParameterfvImmediate& cmd = *GetImmediateAs<TexParameterfvImmediate>(); | 527 cmds::TexParameterfvImmediate& cmd = |
| 528 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
| 526 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 529 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
| 527 SpecializedSetup<TexParameterfvImmediate, 0>(false); | 530 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); |
| 528 GLfloat temp[1] = { GL_NEAREST, }; | 531 GLfloat temp[1] = { GL_NEAREST, }; |
| 529 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 532 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
| 530 EXPECT_EQ(error::kNoError, | 533 EXPECT_EQ(error::kNoError, |
| 531 ExecuteImmediateCmd(cmd, sizeof(temp))); | 534 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 532 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 535 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 533 } | 536 } |
| 534 | 537 |
| 535 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs1_0) { | 538 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs1_0) { |
| 536 TexParameterfvImmediate& cmd = *GetImmediateAs<TexParameterfvImmediate>(); | 539 cmds::TexParameterfvImmediate& cmd = |
| 540 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
| 537 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 541 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
| 538 SpecializedSetup<TexParameterfvImmediate, 0>(false); | 542 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); |
| 539 GLfloat temp[1] = { GL_NEAREST, }; | 543 GLfloat temp[1] = { GL_NEAREST, }; |
| 540 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, &temp[0]); | 544 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, &temp[0]); |
| 541 EXPECT_EQ(error::kNoError, | 545 EXPECT_EQ(error::kNoError, |
| 542 ExecuteImmediateCmd(cmd, sizeof(temp))); | 546 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 543 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 547 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 544 } | 548 } |
| 545 | 549 |
| 546 TEST_F(GLES2DecoderTest2, TexParameteriValidArgs) { | 550 TEST_F(GLES2DecoderTest2, TexParameteriValidArgs) { |
| 547 EXPECT_CALL( | 551 EXPECT_CALL( |
| 548 *gl_, TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); | 552 *gl_, TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); |
| 549 SpecializedSetup<TexParameteri, 0>(true); | 553 SpecializedSetup<cmds::TexParameteri, 0>(true); |
| 550 TexParameteri cmd; | 554 cmds::TexParameteri cmd; |
| 551 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 555 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
| 552 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 556 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 553 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 557 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 554 } | 558 } |
| 555 | 559 |
| 556 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs0_0) { | 560 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs0_0) { |
| 557 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 561 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
| 558 SpecializedSetup<TexParameteri, 0>(false); | 562 SpecializedSetup<cmds::TexParameteri, 0>(false); |
| 559 TexParameteri cmd; | 563 cmds::TexParameteri cmd; |
| 560 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 564 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
| 561 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 565 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 562 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 566 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 563 } | 567 } |
| 564 | 568 |
| 565 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs0_1) { | 569 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs0_1) { |
| 566 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 570 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
| 567 SpecializedSetup<TexParameteri, 0>(false); | 571 SpecializedSetup<cmds::TexParameteri, 0>(false); |
| 568 TexParameteri cmd; | 572 cmds::TexParameteri cmd; |
| 569 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 573 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
| 570 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 574 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 571 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 575 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 572 } | 576 } |
| 573 | 577 |
| 574 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs1_0) { | 578 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs1_0) { |
| 575 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 579 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
| 576 SpecializedSetup<TexParameteri, 0>(false); | 580 SpecializedSetup<cmds::TexParameteri, 0>(false); |
| 577 TexParameteri cmd; | 581 cmds::TexParameteri cmd; |
| 578 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); | 582 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); |
| 579 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 583 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 580 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 584 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 581 } | 585 } |
| 582 | 586 |
| 583 TEST_F(GLES2DecoderTest2, TexParameterivValidArgs) { | 587 TEST_F(GLES2DecoderTest2, TexParameterivValidArgs) { |
| 584 EXPECT_CALL( | 588 EXPECT_CALL( |
| 585 *gl_, TexParameteriv( | 589 *gl_, TexParameteriv( |
| 586 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, reinterpret_cast<const GLint*>( | 590 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, reinterpret_cast<const GLint*>( |
| 587 shared_memory_address_))); | 591 shared_memory_address_))); |
| 588 SpecializedSetup<TexParameteriv, 0>(true); | 592 SpecializedSetup<cmds::TexParameteriv, 0>(true); |
| 589 TexParameteriv cmd; | 593 cmds::TexParameteriv cmd; |
| 590 cmd.Init( | 594 cmd.Init( |
| 591 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 595 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
| 592 shared_memory_offset_); | 596 shared_memory_offset_); |
| 593 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 597 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
| 594 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 598 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 595 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 599 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 596 } | 600 } |
| 597 | 601 |
| 598 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs0_0) { | 602 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs0_0) { |
| 599 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 603 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
| 600 SpecializedSetup<TexParameteriv, 0>(false); | 604 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
| 601 TexParameteriv cmd; | 605 cmds::TexParameteriv cmd; |
| 602 cmd.Init( | 606 cmd.Init( |
| 603 GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 607 GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
| 604 shared_memory_offset_); | 608 shared_memory_offset_); |
| 605 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 609 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
| 606 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 610 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 607 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 611 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 608 } | 612 } |
| 609 | 613 |
| 610 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs0_1) { | 614 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs0_1) { |
| 611 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 615 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
| 612 SpecializedSetup<TexParameteriv, 0>(false); | 616 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
| 613 TexParameteriv cmd; | 617 cmds::TexParameteriv cmd; |
| 614 cmd.Init( | 618 cmd.Init( |
| 615 GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 619 GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
| 616 shared_memory_offset_); | 620 shared_memory_offset_); |
| 617 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 621 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
| 618 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 622 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 619 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 623 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 620 } | 624 } |
| 621 | 625 |
| 622 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs1_0) { | 626 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs1_0) { |
| 623 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 627 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
| 624 SpecializedSetup<TexParameteriv, 0>(false); | 628 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
| 625 TexParameteriv cmd; | 629 cmds::TexParameteriv cmd; |
| 626 cmd.Init( | 630 cmd.Init( |
| 627 GL_TEXTURE_2D, GL_GENERATE_MIPMAP, shared_memory_id_, | 631 GL_TEXTURE_2D, GL_GENERATE_MIPMAP, shared_memory_id_, |
| 628 shared_memory_offset_); | 632 shared_memory_offset_); |
| 629 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 633 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
| 630 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 634 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 631 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 635 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 632 } | 636 } |
| 633 | 637 |
| 634 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs2_0) { | 638 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs2_0) { |
| 635 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 639 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
| 636 SpecializedSetup<TexParameteriv, 0>(false); | 640 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
| 637 TexParameteriv cmd; | 641 cmds::TexParameteriv cmd; |
| 638 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); | 642 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); |
| 639 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 643 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
| 640 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 644 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 641 } | 645 } |
| 642 | 646 |
| 643 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs2_1) { | 647 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs2_1) { |
| 644 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 648 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
| 645 SpecializedSetup<TexParameteriv, 0>(false); | 649 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
| 646 TexParameteriv cmd; | 650 cmds::TexParameteriv cmd; |
| 647 cmd.Init( | 651 cmd.Init( |
| 648 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 652 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
| 649 kInvalidSharedMemoryOffset); | 653 kInvalidSharedMemoryOffset); |
| 650 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 654 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
| 651 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 655 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 652 } | 656 } |
| 653 | 657 |
| 654 TEST_F(GLES2DecoderTest2, TexParameterivImmediateValidArgs) { | 658 TEST_F(GLES2DecoderTest2, TexParameterivImmediateValidArgs) { |
| 655 TexParameterivImmediate& cmd = *GetImmediateAs<TexParameterivImmediate>(); | 659 cmds::TexParameterivImmediate& cmd = |
| 660 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
| 656 EXPECT_CALL( | 661 EXPECT_CALL( |
| 657 *gl_, | 662 *gl_, |
| 658 TexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, | 663 TexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, |
| 659 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 664 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
| 660 SpecializedSetup<TexParameterivImmediate, 0>(true); | 665 SpecializedSetup<cmds::TexParameterivImmediate, 0>(true); |
| 661 GLint temp[1] = { GL_NEAREST, }; | 666 GLint temp[1] = { GL_NEAREST, }; |
| 662 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 667 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
| 663 EXPECT_EQ(error::kNoError, | 668 EXPECT_EQ(error::kNoError, |
| 664 ExecuteImmediateCmd(cmd, sizeof(temp))); | 669 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 665 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 670 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 666 } | 671 } |
| 667 | 672 |
| 668 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_0) { | 673 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_0) { |
| 669 TexParameterivImmediate& cmd = *GetImmediateAs<TexParameterivImmediate>(); | 674 cmds::TexParameterivImmediate& cmd = |
| 675 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
| 670 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 676 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
| 671 SpecializedSetup<TexParameterivImmediate, 0>(false); | 677 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); |
| 672 GLint temp[1] = { GL_NEAREST, }; | 678 GLint temp[1] = { GL_NEAREST, }; |
| 673 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 679 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
| 674 EXPECT_EQ(error::kNoError, | 680 EXPECT_EQ(error::kNoError, |
| 675 ExecuteImmediateCmd(cmd, sizeof(temp))); | 681 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 676 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 682 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 677 } | 683 } |
| 678 | 684 |
| 679 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_1) { | 685 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_1) { |
| 680 TexParameterivImmediate& cmd = *GetImmediateAs<TexParameterivImmediate>(); | 686 cmds::TexParameterivImmediate& cmd = |
| 687 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
| 681 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 688 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
| 682 SpecializedSetup<TexParameterivImmediate, 0>(false); | 689 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); |
| 683 GLint temp[1] = { GL_NEAREST, }; | 690 GLint temp[1] = { GL_NEAREST, }; |
| 684 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 691 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
| 685 EXPECT_EQ(error::kNoError, | 692 EXPECT_EQ(error::kNoError, |
| 686 ExecuteImmediateCmd(cmd, sizeof(temp))); | 693 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 687 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 694 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 688 } | 695 } |
| 689 | 696 |
| 690 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs1_0) { | 697 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs1_0) { |
| 691 TexParameterivImmediate& cmd = *GetImmediateAs<TexParameterivImmediate>(); | 698 cmds::TexParameterivImmediate& cmd = |
| 699 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
| 692 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 700 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
| 693 SpecializedSetup<TexParameterivImmediate, 0>(false); | 701 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); |
| 694 GLint temp[1] = { GL_NEAREST, }; | 702 GLint temp[1] = { GL_NEAREST, }; |
| 695 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, &temp[0]); | 703 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, &temp[0]); |
| 696 EXPECT_EQ(error::kNoError, | 704 EXPECT_EQ(error::kNoError, |
| 697 ExecuteImmediateCmd(cmd, sizeof(temp))); | 705 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 698 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 706 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 699 } | 707 } |
| 700 // TODO(gman): TexSubImage2D | 708 // TODO(gman): TexSubImage2D |
| 701 | 709 |
| 702 // TODO(gman): TexSubImage2DImmediate | 710 // TODO(gman): TexSubImage2DImmediate |
| 703 | 711 |
| 704 | 712 |
| 705 TEST_F(GLES2DecoderTest2, Uniform1fValidArgs) { | 713 TEST_F(GLES2DecoderTest2, Uniform1fValidArgs) { |
| 706 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); | 714 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); |
| 707 SpecializedSetup<Uniform1f, 0>(true); | 715 SpecializedSetup<cmds::Uniform1f, 0>(true); |
| 708 Uniform1f cmd; | 716 cmds::Uniform1f cmd; |
| 709 cmd.Init(1, 2); | 717 cmd.Init(1, 2); |
| 710 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 718 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 711 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 719 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 712 } | 720 } |
| 713 | 721 |
| 714 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgs) { | 722 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgs) { |
| 715 EXPECT_CALL( | 723 EXPECT_CALL( |
| 716 *gl_, Uniform1fv( | 724 *gl_, Uniform1fv( |
| 717 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 725 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 718 SpecializedSetup<Uniform1fv, 0>(true); | 726 SpecializedSetup<cmds::Uniform1fv, 0>(true); |
| 719 Uniform1fv cmd; | 727 cmds::Uniform1fv cmd; |
| 720 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 728 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
| 721 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 729 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 722 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 730 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 723 } | 731 } |
| 724 | 732 |
| 725 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs1_0) { | 733 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs1_0) { |
| 726 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); | 734 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); |
| 727 SpecializedSetup<Uniform1fv, 0>(false); | 735 SpecializedSetup<cmds::Uniform1fv, 0>(false); |
| 728 Uniform1fv cmd; | 736 cmds::Uniform1fv cmd; |
| 729 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 737 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
| 730 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 738 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 731 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 739 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 732 } | 740 } |
| 733 | 741 |
| 734 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_0) { | 742 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_0) { |
| 735 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); | 743 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); |
| 736 SpecializedSetup<Uniform1fv, 0>(false); | 744 SpecializedSetup<cmds::Uniform1fv, 0>(false); |
| 737 Uniform1fv cmd; | 745 cmds::Uniform1fv cmd; |
| 738 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 746 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
| 739 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 747 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 740 } | 748 } |
| 741 | 749 |
| 742 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_1) { | 750 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_1) { |
| 743 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); | 751 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); |
| 744 SpecializedSetup<Uniform1fv, 0>(false); | 752 SpecializedSetup<cmds::Uniform1fv, 0>(false); |
| 745 Uniform1fv cmd; | 753 cmds::Uniform1fv cmd; |
| 746 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 754 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 747 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 755 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 748 } | 756 } |
| 749 | 757 |
| 750 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgsCountTooLarge) { | 758 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgsCountTooLarge) { |
| 751 EXPECT_CALL( | 759 EXPECT_CALL( |
| 752 *gl_, Uniform1fv( | 760 *gl_, Uniform1fv( |
| 753 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 761 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 754 SpecializedSetup<Uniform1fv, 0>(true); | 762 SpecializedSetup<cmds::Uniform1fv, 0>(true); |
| 755 Uniform1fv cmd; | 763 cmds::Uniform1fv cmd; |
| 756 cmd.Init( | 764 cmd.Init( |
| 757 ProgramManager::MakeFakeLocation( | 765 ProgramManager::MakeFakeLocation( |
| 758 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 766 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
| 759 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 767 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 760 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 768 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 761 } | 769 } |
| 762 | 770 |
| 763 TEST_F(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) { | 771 TEST_F(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) { |
| 764 Uniform1fvImmediate& cmd = *GetImmediateAs<Uniform1fvImmediate>(); | 772 cmds::Uniform1fvImmediate& cmd = |
| 773 *GetImmediateAs<cmds::Uniform1fvImmediate>(); |
| 765 EXPECT_CALL( | 774 EXPECT_CALL( |
| 766 *gl_, | 775 *gl_, |
| 767 Uniform1fv(1, 2, | 776 Uniform1fv(1, 2, |
| 768 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 777 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 769 SpecializedSetup<Uniform1fvImmediate, 0>(true); | 778 SpecializedSetup<cmds::Uniform1fvImmediate, 0>(true); |
| 770 GLfloat temp[1 * 2] = { 0, }; | 779 GLfloat temp[1 * 2] = { 0, }; |
| 771 cmd.Init(1, 2, &temp[0]); | 780 cmd.Init(1, 2, &temp[0]); |
| 772 EXPECT_EQ(error::kNoError, | 781 EXPECT_EQ(error::kNoError, |
| 773 ExecuteImmediateCmd(cmd, sizeof(temp))); | 782 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 774 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 783 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 775 } | 784 } |
| 776 // TODO(gman): Uniform1i | 785 // TODO(gman): Uniform1i |
| 777 // TODO(gman): Uniform1iv | 786 // TODO(gman): Uniform1iv |
| 778 // TODO(gman): Uniform1ivImmediate | 787 // TODO(gman): Uniform1ivImmediate |
| 779 | 788 |
| 780 TEST_F(GLES2DecoderTest2, Uniform2fValidArgs) { | 789 TEST_F(GLES2DecoderTest2, Uniform2fValidArgs) { |
| 781 EXPECT_CALL(*gl_, Uniform2fv(1, 1, _)); | 790 EXPECT_CALL(*gl_, Uniform2fv(1, 1, _)); |
| 782 SpecializedSetup<Uniform2f, 0>(true); | 791 SpecializedSetup<cmds::Uniform2f, 0>(true); |
| 783 Uniform2f cmd; | 792 cmds::Uniform2f cmd; |
| 784 cmd.Init(1, 2, 3); | 793 cmd.Init(1, 2, 3); |
| 785 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 794 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 786 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 795 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 787 } | 796 } |
| 788 | 797 |
| 789 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgs) { | 798 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgs) { |
| 790 EXPECT_CALL( | 799 EXPECT_CALL( |
| 791 *gl_, Uniform2fv( | 800 *gl_, Uniform2fv( |
| 792 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 801 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 793 SpecializedSetup<Uniform2fv, 0>(true); | 802 SpecializedSetup<cmds::Uniform2fv, 0>(true); |
| 794 Uniform2fv cmd; | 803 cmds::Uniform2fv cmd; |
| 795 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 804 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
| 796 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 805 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 797 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 806 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 798 } | 807 } |
| 799 | 808 |
| 800 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs1_0) { | 809 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs1_0) { |
| 801 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); | 810 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); |
| 802 SpecializedSetup<Uniform2fv, 0>(false); | 811 SpecializedSetup<cmds::Uniform2fv, 0>(false); |
| 803 Uniform2fv cmd; | 812 cmds::Uniform2fv cmd; |
| 804 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 813 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
| 805 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 814 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 806 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 815 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 807 } | 816 } |
| 808 | 817 |
| 809 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_0) { | 818 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_0) { |
| 810 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); | 819 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); |
| 811 SpecializedSetup<Uniform2fv, 0>(false); | 820 SpecializedSetup<cmds::Uniform2fv, 0>(false); |
| 812 Uniform2fv cmd; | 821 cmds::Uniform2fv cmd; |
| 813 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 822 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
| 814 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 823 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 815 } | 824 } |
| 816 | 825 |
| 817 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_1) { | 826 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_1) { |
| 818 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); | 827 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); |
| 819 SpecializedSetup<Uniform2fv, 0>(false); | 828 SpecializedSetup<cmds::Uniform2fv, 0>(false); |
| 820 Uniform2fv cmd; | 829 cmds::Uniform2fv cmd; |
| 821 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 830 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 822 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 831 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 823 } | 832 } |
| 824 | 833 |
| 825 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgsCountTooLarge) { | 834 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgsCountTooLarge) { |
| 826 EXPECT_CALL( | 835 EXPECT_CALL( |
| 827 *gl_, Uniform2fv( | 836 *gl_, Uniform2fv( |
| 828 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 837 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 829 SpecializedSetup<Uniform2fv, 0>(true); | 838 SpecializedSetup<cmds::Uniform2fv, 0>(true); |
| 830 Uniform2fv cmd; | 839 cmds::Uniform2fv cmd; |
| 831 cmd.Init( | 840 cmd.Init( |
| 832 ProgramManager::MakeFakeLocation( | 841 ProgramManager::MakeFakeLocation( |
| 833 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 842 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
| 834 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 843 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 835 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 844 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 836 } | 845 } |
| 837 | 846 |
| 838 TEST_F(GLES2DecoderTest2, Uniform2fvImmediateValidArgs) { | 847 TEST_F(GLES2DecoderTest2, Uniform2fvImmediateValidArgs) { |
| 839 Uniform2fvImmediate& cmd = *GetImmediateAs<Uniform2fvImmediate>(); | 848 cmds::Uniform2fvImmediate& cmd = |
| 849 *GetImmediateAs<cmds::Uniform2fvImmediate>(); |
| 840 EXPECT_CALL( | 850 EXPECT_CALL( |
| 841 *gl_, | 851 *gl_, |
| 842 Uniform2fv(1, 2, | 852 Uniform2fv(1, 2, |
| 843 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 853 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 844 SpecializedSetup<Uniform2fvImmediate, 0>(true); | 854 SpecializedSetup<cmds::Uniform2fvImmediate, 0>(true); |
| 845 GLfloat temp[2 * 2] = { 0, }; | 855 GLfloat temp[2 * 2] = { 0, }; |
| 846 cmd.Init(1, 2, &temp[0]); | 856 cmd.Init(1, 2, &temp[0]); |
| 847 EXPECT_EQ(error::kNoError, | 857 EXPECT_EQ(error::kNoError, |
| 848 ExecuteImmediateCmd(cmd, sizeof(temp))); | 858 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 849 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 859 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 850 } | 860 } |
| 851 | 861 |
| 852 TEST_F(GLES2DecoderTest2, Uniform2iValidArgs) { | 862 TEST_F(GLES2DecoderTest2, Uniform2iValidArgs) { |
| 853 EXPECT_CALL(*gl_, Uniform2iv(1, 1, _)); | 863 EXPECT_CALL(*gl_, Uniform2iv(1, 1, _)); |
| 854 SpecializedSetup<Uniform2i, 0>(true); | 864 SpecializedSetup<cmds::Uniform2i, 0>(true); |
| 855 Uniform2i cmd; | 865 cmds::Uniform2i cmd; |
| 856 cmd.Init(1, 2, 3); | 866 cmd.Init(1, 2, 3); |
| 857 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 867 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 858 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 868 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 859 } | 869 } |
| 860 | 870 |
| 861 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgs) { | 871 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgs) { |
| 862 EXPECT_CALL( | 872 EXPECT_CALL( |
| 863 *gl_, Uniform2iv( | 873 *gl_, Uniform2iv( |
| 864 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); | 874 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); |
| 865 SpecializedSetup<Uniform2iv, 0>(true); | 875 SpecializedSetup<cmds::Uniform2iv, 0>(true); |
| 866 Uniform2iv cmd; | 876 cmds::Uniform2iv cmd; |
| 867 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 877 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
| 868 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 878 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 869 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 879 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 870 } | 880 } |
| 871 | 881 |
| 872 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs1_0) { | 882 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs1_0) { |
| 873 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); | 883 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); |
| 874 SpecializedSetup<Uniform2iv, 0>(false); | 884 SpecializedSetup<cmds::Uniform2iv, 0>(false); |
| 875 Uniform2iv cmd; | 885 cmds::Uniform2iv cmd; |
| 876 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 886 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
| 877 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 887 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 878 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 888 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 879 } | 889 } |
| 880 | 890 |
| 881 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_0) { | 891 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_0) { |
| 882 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); | 892 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); |
| 883 SpecializedSetup<Uniform2iv, 0>(false); | 893 SpecializedSetup<cmds::Uniform2iv, 0>(false); |
| 884 Uniform2iv cmd; | 894 cmds::Uniform2iv cmd; |
| 885 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 895 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
| 886 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 896 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 887 } | 897 } |
| 888 | 898 |
| 889 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_1) { | 899 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_1) { |
| 890 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); | 900 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); |
| 891 SpecializedSetup<Uniform2iv, 0>(false); | 901 SpecializedSetup<cmds::Uniform2iv, 0>(false); |
| 892 Uniform2iv cmd; | 902 cmds::Uniform2iv cmd; |
| 893 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 903 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 894 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 904 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 895 } | 905 } |
| 896 | 906 |
| 897 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgsCountTooLarge) { | 907 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgsCountTooLarge) { |
| 898 EXPECT_CALL( | 908 EXPECT_CALL( |
| 899 *gl_, Uniform2iv( | 909 *gl_, Uniform2iv( |
| 900 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); | 910 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); |
| 901 SpecializedSetup<Uniform2iv, 0>(true); | 911 SpecializedSetup<cmds::Uniform2iv, 0>(true); |
| 902 Uniform2iv cmd; | 912 cmds::Uniform2iv cmd; |
| 903 cmd.Init( | 913 cmd.Init( |
| 904 ProgramManager::MakeFakeLocation( | 914 ProgramManager::MakeFakeLocation( |
| 905 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 915 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
| 906 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 916 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 907 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 917 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 908 } | 918 } |
| 909 | 919 |
| 910 TEST_F(GLES2DecoderTest2, Uniform2ivImmediateValidArgs) { | 920 TEST_F(GLES2DecoderTest2, Uniform2ivImmediateValidArgs) { |
| 911 Uniform2ivImmediate& cmd = *GetImmediateAs<Uniform2ivImmediate>(); | 921 cmds::Uniform2ivImmediate& cmd = |
| 922 *GetImmediateAs<cmds::Uniform2ivImmediate>(); |
| 912 EXPECT_CALL( | 923 EXPECT_CALL( |
| 913 *gl_, | 924 *gl_, |
| 914 Uniform2iv(1, 2, | 925 Uniform2iv(1, 2, |
| 915 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 926 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
| 916 SpecializedSetup<Uniform2ivImmediate, 0>(true); | 927 SpecializedSetup<cmds::Uniform2ivImmediate, 0>(true); |
| 917 GLint temp[2 * 2] = { 0, }; | 928 GLint temp[2 * 2] = { 0, }; |
| 918 cmd.Init(1, 2, &temp[0]); | 929 cmd.Init(1, 2, &temp[0]); |
| 919 EXPECT_EQ(error::kNoError, | 930 EXPECT_EQ(error::kNoError, |
| 920 ExecuteImmediateCmd(cmd, sizeof(temp))); | 931 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 921 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 932 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 922 } | 933 } |
| 923 | 934 |
| 924 TEST_F(GLES2DecoderTest2, Uniform3fValidArgs) { | 935 TEST_F(GLES2DecoderTest2, Uniform3fValidArgs) { |
| 925 EXPECT_CALL(*gl_, Uniform3fv(1, 1, _)); | 936 EXPECT_CALL(*gl_, Uniform3fv(1, 1, _)); |
| 926 SpecializedSetup<Uniform3f, 0>(true); | 937 SpecializedSetup<cmds::Uniform3f, 0>(true); |
| 927 Uniform3f cmd; | 938 cmds::Uniform3f cmd; |
| 928 cmd.Init(1, 2, 3, 4); | 939 cmd.Init(1, 2, 3, 4); |
| 929 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 940 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 930 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 941 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 931 } | 942 } |
| 932 | 943 |
| 933 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgs) { | 944 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgs) { |
| 934 EXPECT_CALL( | 945 EXPECT_CALL( |
| 935 *gl_, Uniform3fv( | 946 *gl_, Uniform3fv( |
| 936 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 947 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 937 SpecializedSetup<Uniform3fv, 0>(true); | 948 SpecializedSetup<cmds::Uniform3fv, 0>(true); |
| 938 Uniform3fv cmd; | 949 cmds::Uniform3fv cmd; |
| 939 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 950 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
| 940 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 951 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 941 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 952 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 942 } | 953 } |
| 943 | 954 |
| 944 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs1_0) { | 955 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs1_0) { |
| 945 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); | 956 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); |
| 946 SpecializedSetup<Uniform3fv, 0>(false); | 957 SpecializedSetup<cmds::Uniform3fv, 0>(false); |
| 947 Uniform3fv cmd; | 958 cmds::Uniform3fv cmd; |
| 948 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 959 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
| 949 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 960 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 950 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 961 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 951 } | 962 } |
| 952 | 963 |
| 953 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_0) { | 964 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_0) { |
| 954 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); | 965 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); |
| 955 SpecializedSetup<Uniform3fv, 0>(false); | 966 SpecializedSetup<cmds::Uniform3fv, 0>(false); |
| 956 Uniform3fv cmd; | 967 cmds::Uniform3fv cmd; |
| 957 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 968 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
| 958 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 969 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 959 } | 970 } |
| 960 | 971 |
| 961 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_1) { | 972 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_1) { |
| 962 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); | 973 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); |
| 963 SpecializedSetup<Uniform3fv, 0>(false); | 974 SpecializedSetup<cmds::Uniform3fv, 0>(false); |
| 964 Uniform3fv cmd; | 975 cmds::Uniform3fv cmd; |
| 965 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 976 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 966 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 977 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 967 } | 978 } |
| 968 | 979 |
| 969 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgsCountTooLarge) { | 980 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgsCountTooLarge) { |
| 970 EXPECT_CALL( | 981 EXPECT_CALL( |
| 971 *gl_, Uniform3fv( | 982 *gl_, Uniform3fv( |
| 972 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 983 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 973 SpecializedSetup<Uniform3fv, 0>(true); | 984 SpecializedSetup<cmds::Uniform3fv, 0>(true); |
| 974 Uniform3fv cmd; | 985 cmds::Uniform3fv cmd; |
| 975 cmd.Init( | 986 cmd.Init( |
| 976 ProgramManager::MakeFakeLocation( | 987 ProgramManager::MakeFakeLocation( |
| 977 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 988 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
| 978 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 989 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 979 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 990 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 980 } | 991 } |
| 981 | 992 |
| 982 TEST_F(GLES2DecoderTest2, Uniform3fvImmediateValidArgs) { | 993 TEST_F(GLES2DecoderTest2, Uniform3fvImmediateValidArgs) { |
| 983 Uniform3fvImmediate& cmd = *GetImmediateAs<Uniform3fvImmediate>(); | 994 cmds::Uniform3fvImmediate& cmd = |
| 995 *GetImmediateAs<cmds::Uniform3fvImmediate>(); |
| 984 EXPECT_CALL( | 996 EXPECT_CALL( |
| 985 *gl_, | 997 *gl_, |
| 986 Uniform3fv(1, 2, | 998 Uniform3fv(1, 2, |
| 987 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 999 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 988 SpecializedSetup<Uniform3fvImmediate, 0>(true); | 1000 SpecializedSetup<cmds::Uniform3fvImmediate, 0>(true); |
| 989 GLfloat temp[3 * 2] = { 0, }; | 1001 GLfloat temp[3 * 2] = { 0, }; |
| 990 cmd.Init(1, 2, &temp[0]); | 1002 cmd.Init(1, 2, &temp[0]); |
| 991 EXPECT_EQ(error::kNoError, | 1003 EXPECT_EQ(error::kNoError, |
| 992 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1004 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 993 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1005 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 994 } | 1006 } |
| 995 | 1007 |
| 996 TEST_F(GLES2DecoderTest2, Uniform3iValidArgs) { | 1008 TEST_F(GLES2DecoderTest2, Uniform3iValidArgs) { |
| 997 EXPECT_CALL(*gl_, Uniform3iv(1, 1, _)); | 1009 EXPECT_CALL(*gl_, Uniform3iv(1, 1, _)); |
| 998 SpecializedSetup<Uniform3i, 0>(true); | 1010 SpecializedSetup<cmds::Uniform3i, 0>(true); |
| 999 Uniform3i cmd; | 1011 cmds::Uniform3i cmd; |
| 1000 cmd.Init(1, 2, 3, 4); | 1012 cmd.Init(1, 2, 3, 4); |
| 1001 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1013 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1002 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1014 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1003 } | 1015 } |
| 1004 | 1016 |
| 1005 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgs) { | 1017 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgs) { |
| 1006 EXPECT_CALL( | 1018 EXPECT_CALL( |
| 1007 *gl_, Uniform3iv( | 1019 *gl_, Uniform3iv( |
| 1008 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); | 1020 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); |
| 1009 SpecializedSetup<Uniform3iv, 0>(true); | 1021 SpecializedSetup<cmds::Uniform3iv, 0>(true); |
| 1010 Uniform3iv cmd; | 1022 cmds::Uniform3iv cmd; |
| 1011 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 1023 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
| 1012 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1024 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1013 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1025 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1014 } | 1026 } |
| 1015 | 1027 |
| 1016 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs1_0) { | 1028 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs1_0) { |
| 1017 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); | 1029 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); |
| 1018 SpecializedSetup<Uniform3iv, 0>(false); | 1030 SpecializedSetup<cmds::Uniform3iv, 0>(false); |
| 1019 Uniform3iv cmd; | 1031 cmds::Uniform3iv cmd; |
| 1020 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 1032 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
| 1021 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1033 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1022 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1034 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1023 } | 1035 } |
| 1024 | 1036 |
| 1025 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_0) { | 1037 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_0) { |
| 1026 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); | 1038 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); |
| 1027 SpecializedSetup<Uniform3iv, 0>(false); | 1039 SpecializedSetup<cmds::Uniform3iv, 0>(false); |
| 1028 Uniform3iv cmd; | 1040 cmds::Uniform3iv cmd; |
| 1029 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 1041 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
| 1030 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1042 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1031 } | 1043 } |
| 1032 | 1044 |
| 1033 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_1) { | 1045 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_1) { |
| 1034 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); | 1046 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); |
| 1035 SpecializedSetup<Uniform3iv, 0>(false); | 1047 SpecializedSetup<cmds::Uniform3iv, 0>(false); |
| 1036 Uniform3iv cmd; | 1048 cmds::Uniform3iv cmd; |
| 1037 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 1049 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 1038 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1050 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1039 } | 1051 } |
| 1040 | 1052 |
| 1041 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgsCountTooLarge) { | 1053 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgsCountTooLarge) { |
| 1042 EXPECT_CALL( | 1054 EXPECT_CALL( |
| 1043 *gl_, Uniform3iv( | 1055 *gl_, Uniform3iv( |
| 1044 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); | 1056 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); |
| 1045 SpecializedSetup<Uniform3iv, 0>(true); | 1057 SpecializedSetup<cmds::Uniform3iv, 0>(true); |
| 1046 Uniform3iv cmd; | 1058 cmds::Uniform3iv cmd; |
| 1047 cmd.Init( | 1059 cmd.Init( |
| 1048 ProgramManager::MakeFakeLocation( | 1060 ProgramManager::MakeFakeLocation( |
| 1049 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 1061 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
| 1050 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1062 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1051 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1063 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1052 } | 1064 } |
| 1053 | 1065 |
| 1054 TEST_F(GLES2DecoderTest2, Uniform3ivImmediateValidArgs) { | 1066 TEST_F(GLES2DecoderTest2, Uniform3ivImmediateValidArgs) { |
| 1055 Uniform3ivImmediate& cmd = *GetImmediateAs<Uniform3ivImmediate>(); | 1067 cmds::Uniform3ivImmediate& cmd = |
| 1068 *GetImmediateAs<cmds::Uniform3ivImmediate>(); |
| 1056 EXPECT_CALL( | 1069 EXPECT_CALL( |
| 1057 *gl_, | 1070 *gl_, |
| 1058 Uniform3iv(1, 2, | 1071 Uniform3iv(1, 2, |
| 1059 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 1072 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
| 1060 SpecializedSetup<Uniform3ivImmediate, 0>(true); | 1073 SpecializedSetup<cmds::Uniform3ivImmediate, 0>(true); |
| 1061 GLint temp[3 * 2] = { 0, }; | 1074 GLint temp[3 * 2] = { 0, }; |
| 1062 cmd.Init(1, 2, &temp[0]); | 1075 cmd.Init(1, 2, &temp[0]); |
| 1063 EXPECT_EQ(error::kNoError, | 1076 EXPECT_EQ(error::kNoError, |
| 1064 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1077 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1065 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1078 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1066 } | 1079 } |
| 1067 | 1080 |
| 1068 TEST_F(GLES2DecoderTest2, Uniform4fValidArgs) { | 1081 TEST_F(GLES2DecoderTest2, Uniform4fValidArgs) { |
| 1069 EXPECT_CALL(*gl_, Uniform4fv(1, 1, _)); | 1082 EXPECT_CALL(*gl_, Uniform4fv(1, 1, _)); |
| 1070 SpecializedSetup<Uniform4f, 0>(true); | 1083 SpecializedSetup<cmds::Uniform4f, 0>(true); |
| 1071 Uniform4f cmd; | 1084 cmds::Uniform4f cmd; |
| 1072 cmd.Init(1, 2, 3, 4, 5); | 1085 cmd.Init(1, 2, 3, 4, 5); |
| 1073 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1086 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1074 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1087 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1075 } | 1088 } |
| 1076 | 1089 |
| 1077 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgs) { | 1090 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgs) { |
| 1078 EXPECT_CALL( | 1091 EXPECT_CALL( |
| 1079 *gl_, Uniform4fv( | 1092 *gl_, Uniform4fv( |
| 1080 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1093 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 1081 SpecializedSetup<Uniform4fv, 0>(true); | 1094 SpecializedSetup<cmds::Uniform4fv, 0>(true); |
| 1082 Uniform4fv cmd; | 1095 cmds::Uniform4fv cmd; |
| 1083 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 1096 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
| 1084 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1097 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1085 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1098 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1086 } | 1099 } |
| 1087 | 1100 |
| 1088 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs1_0) { | 1101 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs1_0) { |
| 1089 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); | 1102 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); |
| 1090 SpecializedSetup<Uniform4fv, 0>(false); | 1103 SpecializedSetup<cmds::Uniform4fv, 0>(false); |
| 1091 Uniform4fv cmd; | 1104 cmds::Uniform4fv cmd; |
| 1092 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 1105 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
| 1093 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1106 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1094 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1107 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1095 } | 1108 } |
| 1096 | 1109 |
| 1097 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_0) { | 1110 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_0) { |
| 1098 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); | 1111 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); |
| 1099 SpecializedSetup<Uniform4fv, 0>(false); | 1112 SpecializedSetup<cmds::Uniform4fv, 0>(false); |
| 1100 Uniform4fv cmd; | 1113 cmds::Uniform4fv cmd; |
| 1101 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 1114 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
| 1102 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1115 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1103 } | 1116 } |
| 1104 | 1117 |
| 1105 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_1) { | 1118 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_1) { |
| 1106 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); | 1119 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); |
| 1107 SpecializedSetup<Uniform4fv, 0>(false); | 1120 SpecializedSetup<cmds::Uniform4fv, 0>(false); |
| 1108 Uniform4fv cmd; | 1121 cmds::Uniform4fv cmd; |
| 1109 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 1122 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 1110 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1123 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1111 } | 1124 } |
| 1112 | 1125 |
| 1113 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgsCountTooLarge) { | 1126 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgsCountTooLarge) { |
| 1114 EXPECT_CALL( | 1127 EXPECT_CALL( |
| 1115 *gl_, Uniform4fv( | 1128 *gl_, Uniform4fv( |
| 1116 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1129 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 1117 SpecializedSetup<Uniform4fv, 0>(true); | 1130 SpecializedSetup<cmds::Uniform4fv, 0>(true); |
| 1118 Uniform4fv cmd; | 1131 cmds::Uniform4fv cmd; |
| 1119 cmd.Init( | 1132 cmd.Init( |
| 1120 ProgramManager::MakeFakeLocation( | 1133 ProgramManager::MakeFakeLocation( |
| 1121 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 1134 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
| 1122 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1135 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1123 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1136 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1124 } | 1137 } |
| 1125 | 1138 |
| 1126 TEST_F(GLES2DecoderTest2, Uniform4fvImmediateValidArgs) { | 1139 TEST_F(GLES2DecoderTest2, Uniform4fvImmediateValidArgs) { |
| 1127 Uniform4fvImmediate& cmd = *GetImmediateAs<Uniform4fvImmediate>(); | 1140 cmds::Uniform4fvImmediate& cmd = |
| 1141 *GetImmediateAs<cmds::Uniform4fvImmediate>(); |
| 1128 EXPECT_CALL( | 1142 EXPECT_CALL( |
| 1129 *gl_, | 1143 *gl_, |
| 1130 Uniform4fv(1, 2, | 1144 Uniform4fv(1, 2, |
| 1131 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1145 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1132 SpecializedSetup<Uniform4fvImmediate, 0>(true); | 1146 SpecializedSetup<cmds::Uniform4fvImmediate, 0>(true); |
| 1133 GLfloat temp[4 * 2] = { 0, }; | 1147 GLfloat temp[4 * 2] = { 0, }; |
| 1134 cmd.Init(1, 2, &temp[0]); | 1148 cmd.Init(1, 2, &temp[0]); |
| 1135 EXPECT_EQ(error::kNoError, | 1149 EXPECT_EQ(error::kNoError, |
| 1136 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1150 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1137 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1151 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1138 } | 1152 } |
| 1139 | 1153 |
| 1140 TEST_F(GLES2DecoderTest2, Uniform4iValidArgs) { | 1154 TEST_F(GLES2DecoderTest2, Uniform4iValidArgs) { |
| 1141 EXPECT_CALL(*gl_, Uniform4iv(1, 1, _)); | 1155 EXPECT_CALL(*gl_, Uniform4iv(1, 1, _)); |
| 1142 SpecializedSetup<Uniform4i, 0>(true); | 1156 SpecializedSetup<cmds::Uniform4i, 0>(true); |
| 1143 Uniform4i cmd; | 1157 cmds::Uniform4i cmd; |
| 1144 cmd.Init(1, 2, 3, 4, 5); | 1158 cmd.Init(1, 2, 3, 4, 5); |
| 1145 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1159 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1146 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1160 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1147 } | 1161 } |
| 1148 | 1162 |
| 1149 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgs) { | 1163 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgs) { |
| 1150 EXPECT_CALL( | 1164 EXPECT_CALL( |
| 1151 *gl_, Uniform4iv( | 1165 *gl_, Uniform4iv( |
| 1152 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); | 1166 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); |
| 1153 SpecializedSetup<Uniform4iv, 0>(true); | 1167 SpecializedSetup<cmds::Uniform4iv, 0>(true); |
| 1154 Uniform4iv cmd; | 1168 cmds::Uniform4iv cmd; |
| 1155 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 1169 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
| 1156 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1170 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1157 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1171 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1158 } | 1172 } |
| 1159 | 1173 |
| 1160 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs1_0) { | 1174 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs1_0) { |
| 1161 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); | 1175 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); |
| 1162 SpecializedSetup<Uniform4iv, 0>(false); | 1176 SpecializedSetup<cmds::Uniform4iv, 0>(false); |
| 1163 Uniform4iv cmd; | 1177 cmds::Uniform4iv cmd; |
| 1164 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 1178 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
| 1165 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1179 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1166 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1180 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1167 } | 1181 } |
| 1168 | 1182 |
| 1169 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_0) { | 1183 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_0) { |
| 1170 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); | 1184 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); |
| 1171 SpecializedSetup<Uniform4iv, 0>(false); | 1185 SpecializedSetup<cmds::Uniform4iv, 0>(false); |
| 1172 Uniform4iv cmd; | 1186 cmds::Uniform4iv cmd; |
| 1173 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 1187 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
| 1174 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1188 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1175 } | 1189 } |
| 1176 | 1190 |
| 1177 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_1) { | 1191 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_1) { |
| 1178 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); | 1192 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); |
| 1179 SpecializedSetup<Uniform4iv, 0>(false); | 1193 SpecializedSetup<cmds::Uniform4iv, 0>(false); |
| 1180 Uniform4iv cmd; | 1194 cmds::Uniform4iv cmd; |
| 1181 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 1195 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 1182 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1196 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1183 } | 1197 } |
| 1184 | 1198 |
| 1185 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgsCountTooLarge) { | 1199 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgsCountTooLarge) { |
| 1186 EXPECT_CALL( | 1200 EXPECT_CALL( |
| 1187 *gl_, Uniform4iv( | 1201 *gl_, Uniform4iv( |
| 1188 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); | 1202 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); |
| 1189 SpecializedSetup<Uniform4iv, 0>(true); | 1203 SpecializedSetup<cmds::Uniform4iv, 0>(true); |
| 1190 Uniform4iv cmd; | 1204 cmds::Uniform4iv cmd; |
| 1191 cmd.Init( | 1205 cmd.Init( |
| 1192 ProgramManager::MakeFakeLocation( | 1206 ProgramManager::MakeFakeLocation( |
| 1193 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 1207 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
| 1194 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1208 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1195 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1209 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1196 } | 1210 } |
| 1197 | 1211 |
| 1198 TEST_F(GLES2DecoderTest2, Uniform4ivImmediateValidArgs) { | 1212 TEST_F(GLES2DecoderTest2, Uniform4ivImmediateValidArgs) { |
| 1199 Uniform4ivImmediate& cmd = *GetImmediateAs<Uniform4ivImmediate>(); | 1213 cmds::Uniform4ivImmediate& cmd = |
| 1214 *GetImmediateAs<cmds::Uniform4ivImmediate>(); |
| 1200 EXPECT_CALL( | 1215 EXPECT_CALL( |
| 1201 *gl_, | 1216 *gl_, |
| 1202 Uniform4iv(1, 2, | 1217 Uniform4iv(1, 2, |
| 1203 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 1218 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
| 1204 SpecializedSetup<Uniform4ivImmediate, 0>(true); | 1219 SpecializedSetup<cmds::Uniform4ivImmediate, 0>(true); |
| 1205 GLint temp[4 * 2] = { 0, }; | 1220 GLint temp[4 * 2] = { 0, }; |
| 1206 cmd.Init(1, 2, &temp[0]); | 1221 cmd.Init(1, 2, &temp[0]); |
| 1207 EXPECT_EQ(error::kNoError, | 1222 EXPECT_EQ(error::kNoError, |
| 1208 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1223 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1209 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1224 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1210 } | 1225 } |
| 1211 | 1226 |
| 1212 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgs) { | 1227 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgs) { |
| 1213 EXPECT_CALL( | 1228 EXPECT_CALL( |
| 1214 *gl_, UniformMatrix2fv( | 1229 *gl_, UniformMatrix2fv( |
| 1215 1, 2, false, reinterpret_cast<const GLfloat*>( | 1230 1, 2, false, reinterpret_cast<const GLfloat*>( |
| 1216 shared_memory_address_))); | 1231 shared_memory_address_))); |
| 1217 SpecializedSetup<UniformMatrix2fv, 0>(true); | 1232 SpecializedSetup<cmds::UniformMatrix2fv, 0>(true); |
| 1218 UniformMatrix2fv cmd; | 1233 cmds::UniformMatrix2fv cmd; |
| 1219 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); | 1234 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); |
| 1220 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1235 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1221 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1236 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1222 } | 1237 } |
| 1223 | 1238 |
| 1224 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs1_0) { | 1239 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs1_0) { |
| 1225 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1240 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
| 1226 SpecializedSetup<UniformMatrix2fv, 0>(false); | 1241 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); |
| 1227 UniformMatrix2fv cmd; | 1242 cmds::UniformMatrix2fv cmd; |
| 1228 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); | 1243 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); |
| 1229 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1244 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1230 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1245 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1231 } | 1246 } |
| 1232 | 1247 |
| 1233 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs2_0) { | 1248 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs2_0) { |
| 1234 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1249 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
| 1235 SpecializedSetup<UniformMatrix2fv, 0>(false); | 1250 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); |
| 1236 UniformMatrix2fv cmd; | 1251 cmds::UniformMatrix2fv cmd; |
| 1237 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); | 1252 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); |
| 1238 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1253 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1239 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1254 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 1240 } | 1255 } |
| 1241 | 1256 |
| 1242 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_0) { | 1257 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_0) { |
| 1243 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1258 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
| 1244 SpecializedSetup<UniformMatrix2fv, 0>(false); | 1259 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); |
| 1245 UniformMatrix2fv cmd; | 1260 cmds::UniformMatrix2fv cmd; |
| 1246 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); | 1261 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); |
| 1247 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1262 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1248 } | 1263 } |
| 1249 | 1264 |
| 1250 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_1) { | 1265 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_1) { |
| 1251 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1266 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
| 1252 SpecializedSetup<UniformMatrix2fv, 0>(false); | 1267 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); |
| 1253 UniformMatrix2fv cmd; | 1268 cmds::UniformMatrix2fv cmd; |
| 1254 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); | 1269 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 1255 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1270 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1256 } | 1271 } |
| 1257 | 1272 |
| 1258 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgsCountTooLarge) { | 1273 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgsCountTooLarge) { |
| 1259 EXPECT_CALL( | 1274 EXPECT_CALL( |
| 1260 *gl_, UniformMatrix2fv( | 1275 *gl_, UniformMatrix2fv( |
| 1261 3, 3, false, reinterpret_cast<const GLfloat*>( | 1276 3, 3, false, reinterpret_cast<const GLfloat*>( |
| 1262 shared_memory_address_))); | 1277 shared_memory_address_))); |
| 1263 SpecializedSetup<UniformMatrix2fv, 0>(true); | 1278 SpecializedSetup<cmds::UniformMatrix2fv, 0>(true); |
| 1264 UniformMatrix2fv cmd; | 1279 cmds::UniformMatrix2fv cmd; |
| 1265 cmd.Init( | 1280 cmd.Init( |
| 1266 ProgramManager::MakeFakeLocation( | 1281 ProgramManager::MakeFakeLocation( |
| 1267 1, 1), 5, false, shared_memory_id_, shared_memory_offset_); | 1282 1, 1), 5, false, shared_memory_id_, shared_memory_offset_); |
| 1268 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1283 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1269 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1284 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1270 } | 1285 } |
| 1271 | 1286 |
| 1272 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateValidArgs) { | 1287 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateValidArgs) { |
| 1273 UniformMatrix2fvImmediate& cmd = | 1288 cmds::UniformMatrix2fvImmediate& cmd = |
| 1274 *GetImmediateAs<UniformMatrix2fvImmediate>(); | 1289 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); |
| 1275 EXPECT_CALL( | 1290 EXPECT_CALL( |
| 1276 *gl_, | 1291 *gl_, |
| 1277 UniformMatrix2fv(1, 2, false, | 1292 UniformMatrix2fv(1, 2, false, |
| 1278 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1293 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1279 SpecializedSetup<UniformMatrix2fvImmediate, 0>(true); | 1294 SpecializedSetup<cmds::UniformMatrix2fvImmediate, 0>(true); |
| 1280 GLfloat temp[4 * 2] = { 0, }; | 1295 GLfloat temp[4 * 2] = { 0, }; |
| 1281 cmd.Init(1, 2, false, &temp[0]); | 1296 cmd.Init(1, 2, false, &temp[0]); |
| 1282 EXPECT_EQ(error::kNoError, | 1297 EXPECT_EQ(error::kNoError, |
| 1283 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1298 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1284 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1299 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1285 } | 1300 } |
| 1286 | 1301 |
| 1287 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateInvalidArgs2_0) { | 1302 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateInvalidArgs2_0) { |
| 1288 UniformMatrix2fvImmediate& cmd = | 1303 cmds::UniformMatrix2fvImmediate& cmd = |
| 1289 *GetImmediateAs<UniformMatrix2fvImmediate>(); | 1304 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); |
| 1290 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1305 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
| 1291 SpecializedSetup<UniformMatrix2fvImmediate, 0>(false); | 1306 SpecializedSetup<cmds::UniformMatrix2fvImmediate, 0>(false); |
| 1292 GLfloat temp[4 * 2] = { 0, }; | 1307 GLfloat temp[4 * 2] = { 0, }; |
| 1293 cmd.Init(1, 2, true, &temp[0]); | 1308 cmd.Init(1, 2, true, &temp[0]); |
| 1294 EXPECT_EQ(error::kNoError, | 1309 EXPECT_EQ(error::kNoError, |
| 1295 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1310 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1296 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1311 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 1297 } | 1312 } |
| 1298 | 1313 |
| 1299 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgs) { | 1314 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgs) { |
| 1300 EXPECT_CALL( | 1315 EXPECT_CALL( |
| 1301 *gl_, UniformMatrix3fv( | 1316 *gl_, UniformMatrix3fv( |
| 1302 1, 2, false, reinterpret_cast<const GLfloat*>( | 1317 1, 2, false, reinterpret_cast<const GLfloat*>( |
| 1303 shared_memory_address_))); | 1318 shared_memory_address_))); |
| 1304 SpecializedSetup<UniformMatrix3fv, 0>(true); | 1319 SpecializedSetup<cmds::UniformMatrix3fv, 0>(true); |
| 1305 UniformMatrix3fv cmd; | 1320 cmds::UniformMatrix3fv cmd; |
| 1306 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); | 1321 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); |
| 1307 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1322 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1308 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1323 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1309 } | 1324 } |
| 1310 | 1325 |
| 1311 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs1_0) { | 1326 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs1_0) { |
| 1312 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1327 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
| 1313 SpecializedSetup<UniformMatrix3fv, 0>(false); | 1328 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); |
| 1314 UniformMatrix3fv cmd; | 1329 cmds::UniformMatrix3fv cmd; |
| 1315 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); | 1330 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); |
| 1316 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1331 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1317 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1332 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1318 } | 1333 } |
| 1319 | 1334 |
| 1320 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs2_0) { | 1335 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs2_0) { |
| 1321 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1336 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
| 1322 SpecializedSetup<UniformMatrix3fv, 0>(false); | 1337 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); |
| 1323 UniformMatrix3fv cmd; | 1338 cmds::UniformMatrix3fv cmd; |
| 1324 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); | 1339 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); |
| 1325 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1340 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1326 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1341 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 1327 } | 1342 } |
| 1328 | 1343 |
| 1329 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_0) { | 1344 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_0) { |
| 1330 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1345 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
| 1331 SpecializedSetup<UniformMatrix3fv, 0>(false); | 1346 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); |
| 1332 UniformMatrix3fv cmd; | 1347 cmds::UniformMatrix3fv cmd; |
| 1333 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); | 1348 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); |
| 1334 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1349 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1335 } | 1350 } |
| 1336 | 1351 |
| 1337 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_1) { | 1352 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_1) { |
| 1338 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1353 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
| 1339 SpecializedSetup<UniformMatrix3fv, 0>(false); | 1354 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); |
| 1340 UniformMatrix3fv cmd; | 1355 cmds::UniformMatrix3fv cmd; |
| 1341 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); | 1356 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 1342 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1357 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1343 } | 1358 } |
| 1344 | 1359 |
| 1345 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgsCountTooLarge) { | 1360 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgsCountTooLarge) { |
| 1346 EXPECT_CALL( | 1361 EXPECT_CALL( |
| 1347 *gl_, UniformMatrix3fv( | 1362 *gl_, UniformMatrix3fv( |
| 1348 3, 3, false, reinterpret_cast<const GLfloat*>( | 1363 3, 3, false, reinterpret_cast<const GLfloat*>( |
| 1349 shared_memory_address_))); | 1364 shared_memory_address_))); |
| 1350 SpecializedSetup<UniformMatrix3fv, 0>(true); | 1365 SpecializedSetup<cmds::UniformMatrix3fv, 0>(true); |
| 1351 UniformMatrix3fv cmd; | 1366 cmds::UniformMatrix3fv cmd; |
| 1352 cmd.Init( | 1367 cmd.Init( |
| 1353 ProgramManager::MakeFakeLocation( | 1368 ProgramManager::MakeFakeLocation( |
| 1354 1, 1), 5, false, shared_memory_id_, shared_memory_offset_); | 1369 1, 1), 5, false, shared_memory_id_, shared_memory_offset_); |
| 1355 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1370 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1356 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1371 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1357 } | 1372 } |
| 1358 | 1373 |
| 1359 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateValidArgs) { | 1374 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateValidArgs) { |
| 1360 UniformMatrix3fvImmediate& cmd = | 1375 cmds::UniformMatrix3fvImmediate& cmd = |
| 1361 *GetImmediateAs<UniformMatrix3fvImmediate>(); | 1376 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); |
| 1362 EXPECT_CALL( | 1377 EXPECT_CALL( |
| 1363 *gl_, | 1378 *gl_, |
| 1364 UniformMatrix3fv(1, 2, false, | 1379 UniformMatrix3fv(1, 2, false, |
| 1365 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1380 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1366 SpecializedSetup<UniformMatrix3fvImmediate, 0>(true); | 1381 SpecializedSetup<cmds::UniformMatrix3fvImmediate, 0>(true); |
| 1367 GLfloat temp[9 * 2] = { 0, }; | 1382 GLfloat temp[9 * 2] = { 0, }; |
| 1368 cmd.Init(1, 2, false, &temp[0]); | 1383 cmd.Init(1, 2, false, &temp[0]); |
| 1369 EXPECT_EQ(error::kNoError, | 1384 EXPECT_EQ(error::kNoError, |
| 1370 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1385 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1371 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1386 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1372 } | 1387 } |
| 1373 | 1388 |
| 1374 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateInvalidArgs2_0) { | 1389 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateInvalidArgs2_0) { |
| 1375 UniformMatrix3fvImmediate& cmd = | 1390 cmds::UniformMatrix3fvImmediate& cmd = |
| 1376 *GetImmediateAs<UniformMatrix3fvImmediate>(); | 1391 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); |
| 1377 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1392 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
| 1378 SpecializedSetup<UniformMatrix3fvImmediate, 0>(false); | 1393 SpecializedSetup<cmds::UniformMatrix3fvImmediate, 0>(false); |
| 1379 GLfloat temp[9 * 2] = { 0, }; | 1394 GLfloat temp[9 * 2] = { 0, }; |
| 1380 cmd.Init(1, 2, true, &temp[0]); | 1395 cmd.Init(1, 2, true, &temp[0]); |
| 1381 EXPECT_EQ(error::kNoError, | 1396 EXPECT_EQ(error::kNoError, |
| 1382 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1397 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1383 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1398 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 1384 } | 1399 } |
| 1385 | 1400 |
| 1386 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgs) { | 1401 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgs) { |
| 1387 EXPECT_CALL( | 1402 EXPECT_CALL( |
| 1388 *gl_, UniformMatrix4fv( | 1403 *gl_, UniformMatrix4fv( |
| 1389 1, 2, false, reinterpret_cast<const GLfloat*>( | 1404 1, 2, false, reinterpret_cast<const GLfloat*>( |
| 1390 shared_memory_address_))); | 1405 shared_memory_address_))); |
| 1391 SpecializedSetup<UniformMatrix4fv, 0>(true); | 1406 SpecializedSetup<cmds::UniformMatrix4fv, 0>(true); |
| 1392 UniformMatrix4fv cmd; | 1407 cmds::UniformMatrix4fv cmd; |
| 1393 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); | 1408 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); |
| 1394 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1409 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1395 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1410 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1396 } | 1411 } |
| 1397 | 1412 |
| 1398 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs1_0) { | 1413 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs1_0) { |
| 1399 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1414 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
| 1400 SpecializedSetup<UniformMatrix4fv, 0>(false); | 1415 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); |
| 1401 UniformMatrix4fv cmd; | 1416 cmds::UniformMatrix4fv cmd; |
| 1402 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); | 1417 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); |
| 1403 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1418 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1404 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1419 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1405 } | 1420 } |
| 1406 | 1421 |
| 1407 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs2_0) { | 1422 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs2_0) { |
| 1408 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1423 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
| 1409 SpecializedSetup<UniformMatrix4fv, 0>(false); | 1424 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); |
| 1410 UniformMatrix4fv cmd; | 1425 cmds::UniformMatrix4fv cmd; |
| 1411 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); | 1426 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); |
| 1412 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1427 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1413 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1428 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 1414 } | 1429 } |
| 1415 | 1430 |
| 1416 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_0) { | 1431 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_0) { |
| 1417 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1432 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
| 1418 SpecializedSetup<UniformMatrix4fv, 0>(false); | 1433 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); |
| 1419 UniformMatrix4fv cmd; | 1434 cmds::UniformMatrix4fv cmd; |
| 1420 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); | 1435 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); |
| 1421 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1436 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1422 } | 1437 } |
| 1423 | 1438 |
| 1424 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_1) { | 1439 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_1) { |
| 1425 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1440 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
| 1426 SpecializedSetup<UniformMatrix4fv, 0>(false); | 1441 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); |
| 1427 UniformMatrix4fv cmd; | 1442 cmds::UniformMatrix4fv cmd; |
| 1428 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); | 1443 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 1429 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1444 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1430 } | 1445 } |
| 1431 | 1446 |
| 1432 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgsCountTooLarge) { | 1447 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgsCountTooLarge) { |
| 1433 EXPECT_CALL( | 1448 EXPECT_CALL( |
| 1434 *gl_, UniformMatrix4fv( | 1449 *gl_, UniformMatrix4fv( |
| 1435 3, 3, false, reinterpret_cast<const GLfloat*>( | 1450 3, 3, false, reinterpret_cast<const GLfloat*>( |
| 1436 shared_memory_address_))); | 1451 shared_memory_address_))); |
| 1437 SpecializedSetup<UniformMatrix4fv, 0>(true); | 1452 SpecializedSetup<cmds::UniformMatrix4fv, 0>(true); |
| 1438 UniformMatrix4fv cmd; | 1453 cmds::UniformMatrix4fv cmd; |
| 1439 cmd.Init( | 1454 cmd.Init( |
| 1440 ProgramManager::MakeFakeLocation( | 1455 ProgramManager::MakeFakeLocation( |
| 1441 1, 1), 5, false, shared_memory_id_, shared_memory_offset_); | 1456 1, 1), 5, false, shared_memory_id_, shared_memory_offset_); |
| 1442 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1457 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1443 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1458 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1444 } | 1459 } |
| 1445 | 1460 |
| 1446 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateValidArgs) { | 1461 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateValidArgs) { |
| 1447 UniformMatrix4fvImmediate& cmd = | 1462 cmds::UniformMatrix4fvImmediate& cmd = |
| 1448 *GetImmediateAs<UniformMatrix4fvImmediate>(); | 1463 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); |
| 1449 EXPECT_CALL( | 1464 EXPECT_CALL( |
| 1450 *gl_, | 1465 *gl_, |
| 1451 UniformMatrix4fv(1, 2, false, | 1466 UniformMatrix4fv(1, 2, false, |
| 1452 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1467 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1453 SpecializedSetup<UniformMatrix4fvImmediate, 0>(true); | 1468 SpecializedSetup<cmds::UniformMatrix4fvImmediate, 0>(true); |
| 1454 GLfloat temp[16 * 2] = { 0, }; | 1469 GLfloat temp[16 * 2] = { 0, }; |
| 1455 cmd.Init(1, 2, false, &temp[0]); | 1470 cmd.Init(1, 2, false, &temp[0]); |
| 1456 EXPECT_EQ(error::kNoError, | 1471 EXPECT_EQ(error::kNoError, |
| 1457 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1472 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1458 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1473 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1459 } | 1474 } |
| 1460 | 1475 |
| 1461 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateInvalidArgs2_0) { | 1476 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateInvalidArgs2_0) { |
| 1462 UniformMatrix4fvImmediate& cmd = | 1477 cmds::UniformMatrix4fvImmediate& cmd = |
| 1463 *GetImmediateAs<UniformMatrix4fvImmediate>(); | 1478 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); |
| 1464 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1479 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
| 1465 SpecializedSetup<UniformMatrix4fvImmediate, 0>(false); | 1480 SpecializedSetup<cmds::UniformMatrix4fvImmediate, 0>(false); |
| 1466 GLfloat temp[16 * 2] = { 0, }; | 1481 GLfloat temp[16 * 2] = { 0, }; |
| 1467 cmd.Init(1, 2, true, &temp[0]); | 1482 cmd.Init(1, 2, true, &temp[0]); |
| 1468 EXPECT_EQ(error::kNoError, | 1483 EXPECT_EQ(error::kNoError, |
| 1469 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1484 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1470 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1485 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 1471 } | 1486 } |
| 1472 // TODO(gman): UseProgram | 1487 // TODO(gman): UseProgram |
| 1473 | 1488 |
| 1474 TEST_F(GLES2DecoderTest2, ValidateProgramValidArgs) { | 1489 TEST_F(GLES2DecoderTest2, ValidateProgramValidArgs) { |
| 1475 EXPECT_CALL(*gl_, ValidateProgram(kServiceProgramId)); | 1490 EXPECT_CALL(*gl_, ValidateProgram(kServiceProgramId)); |
| 1476 SpecializedSetup<ValidateProgram, 0>(true); | 1491 SpecializedSetup<cmds::ValidateProgram, 0>(true); |
| 1477 ValidateProgram cmd; | 1492 cmds::ValidateProgram cmd; |
| 1478 cmd.Init(client_program_id_); | 1493 cmd.Init(client_program_id_); |
| 1479 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1494 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1480 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1495 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1481 } | 1496 } |
| 1482 | 1497 |
| 1483 TEST_F(GLES2DecoderTest2, VertexAttrib1fValidArgs) { | 1498 TEST_F(GLES2DecoderTest2, VertexAttrib1fValidArgs) { |
| 1484 EXPECT_CALL(*gl_, VertexAttrib1f(1, 2)); | 1499 EXPECT_CALL(*gl_, VertexAttrib1f(1, 2)); |
| 1485 SpecializedSetup<VertexAttrib1f, 0>(true); | 1500 SpecializedSetup<cmds::VertexAttrib1f, 0>(true); |
| 1486 VertexAttrib1f cmd; | 1501 cmds::VertexAttrib1f cmd; |
| 1487 cmd.Init(1, 2); | 1502 cmd.Init(1, 2); |
| 1488 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1503 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1489 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1504 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1490 } | 1505 } |
| 1491 | 1506 |
| 1492 TEST_F(GLES2DecoderTest2, VertexAttrib1fvValidArgs) { | 1507 TEST_F(GLES2DecoderTest2, VertexAttrib1fvValidArgs) { |
| 1493 EXPECT_CALL( | 1508 EXPECT_CALL( |
| 1494 *gl_, VertexAttrib1fv( | 1509 *gl_, VertexAttrib1fv( |
| 1495 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1510 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 1496 SpecializedSetup<VertexAttrib1fv, 0>(true); | 1511 SpecializedSetup<cmds::VertexAttrib1fv, 0>(true); |
| 1497 VertexAttrib1fv cmd; | 1512 cmds::VertexAttrib1fv cmd; |
| 1498 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | 1513 cmd.Init(1, shared_memory_id_, shared_memory_offset_); |
| 1499 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1514 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
| 1500 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1515 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1501 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1516 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1502 } | 1517 } |
| 1503 | 1518 |
| 1504 TEST_F(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_0) { | 1519 TEST_F(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_0) { |
| 1505 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); | 1520 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); |
| 1506 SpecializedSetup<VertexAttrib1fv, 0>(false); | 1521 SpecializedSetup<cmds::VertexAttrib1fv, 0>(false); |
| 1507 VertexAttrib1fv cmd; | 1522 cmds::VertexAttrib1fv cmd; |
| 1508 cmd.Init(1, kInvalidSharedMemoryId, 0); | 1523 cmd.Init(1, kInvalidSharedMemoryId, 0); |
| 1509 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1524 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
| 1510 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1525 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1511 } | 1526 } |
| 1512 | 1527 |
| 1513 TEST_F(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_1) { | 1528 TEST_F(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_1) { |
| 1514 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); | 1529 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); |
| 1515 SpecializedSetup<VertexAttrib1fv, 0>(false); | 1530 SpecializedSetup<cmds::VertexAttrib1fv, 0>(false); |
| 1516 VertexAttrib1fv cmd; | 1531 cmds::VertexAttrib1fv cmd; |
| 1517 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | 1532 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 1518 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1533 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
| 1519 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1534 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1520 } | 1535 } |
| 1521 | 1536 |
| 1522 TEST_F(GLES2DecoderTest2, VertexAttrib1fvImmediateValidArgs) { | 1537 TEST_F(GLES2DecoderTest2, VertexAttrib1fvImmediateValidArgs) { |
| 1523 VertexAttrib1fvImmediate& cmd = *GetImmediateAs<VertexAttrib1fvImmediate>(); | 1538 cmds::VertexAttrib1fvImmediate& cmd = |
| 1539 *GetImmediateAs<cmds::VertexAttrib1fvImmediate>(); |
| 1524 EXPECT_CALL( | 1540 EXPECT_CALL( |
| 1525 *gl_, | 1541 *gl_, |
| 1526 VertexAttrib1fv(1, | 1542 VertexAttrib1fv(1, |
| 1527 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1543 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1528 SpecializedSetup<VertexAttrib1fvImmediate, 0>(true); | 1544 SpecializedSetup<cmds::VertexAttrib1fvImmediate, 0>(true); |
| 1529 GLfloat temp[1] = { 0, }; | 1545 GLfloat temp[1] = { 0, }; |
| 1530 cmd.Init(1, &temp[0]); | 1546 cmd.Init(1, &temp[0]); |
| 1531 EXPECT_EQ(error::kNoError, | 1547 EXPECT_EQ(error::kNoError, |
| 1532 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1548 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1533 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1549 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1534 } | 1550 } |
| 1535 | 1551 |
| 1536 TEST_F(GLES2DecoderTest2, VertexAttrib2fValidArgs) { | 1552 TEST_F(GLES2DecoderTest2, VertexAttrib2fValidArgs) { |
| 1537 EXPECT_CALL(*gl_, VertexAttrib2f(1, 2, 3)); | 1553 EXPECT_CALL(*gl_, VertexAttrib2f(1, 2, 3)); |
| 1538 SpecializedSetup<VertexAttrib2f, 0>(true); | 1554 SpecializedSetup<cmds::VertexAttrib2f, 0>(true); |
| 1539 VertexAttrib2f cmd; | 1555 cmds::VertexAttrib2f cmd; |
| 1540 cmd.Init(1, 2, 3); | 1556 cmd.Init(1, 2, 3); |
| 1541 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1557 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1542 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1558 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1543 } | 1559 } |
| 1544 | 1560 |
| 1545 TEST_F(GLES2DecoderTest2, VertexAttrib2fvValidArgs) { | 1561 TEST_F(GLES2DecoderTest2, VertexAttrib2fvValidArgs) { |
| 1546 EXPECT_CALL( | 1562 EXPECT_CALL( |
| 1547 *gl_, VertexAttrib2fv( | 1563 *gl_, VertexAttrib2fv( |
| 1548 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1564 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 1549 SpecializedSetup<VertexAttrib2fv, 0>(true); | 1565 SpecializedSetup<cmds::VertexAttrib2fv, 0>(true); |
| 1550 VertexAttrib2fv cmd; | 1566 cmds::VertexAttrib2fv cmd; |
| 1551 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | 1567 cmd.Init(1, shared_memory_id_, shared_memory_offset_); |
| 1552 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1568 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
| 1553 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1569 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1554 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1570 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1555 } | 1571 } |
| 1556 | 1572 |
| 1557 TEST_F(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_0) { | 1573 TEST_F(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_0) { |
| 1558 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); | 1574 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); |
| 1559 SpecializedSetup<VertexAttrib2fv, 0>(false); | 1575 SpecializedSetup<cmds::VertexAttrib2fv, 0>(false); |
| 1560 VertexAttrib2fv cmd; | 1576 cmds::VertexAttrib2fv cmd; |
| 1561 cmd.Init(1, kInvalidSharedMemoryId, 0); | 1577 cmd.Init(1, kInvalidSharedMemoryId, 0); |
| 1562 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1578 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
| 1563 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1579 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1564 } | 1580 } |
| 1565 | 1581 |
| 1566 TEST_F(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_1) { | 1582 TEST_F(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_1) { |
| 1567 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); | 1583 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); |
| 1568 SpecializedSetup<VertexAttrib2fv, 0>(false); | 1584 SpecializedSetup<cmds::VertexAttrib2fv, 0>(false); |
| 1569 VertexAttrib2fv cmd; | 1585 cmds::VertexAttrib2fv cmd; |
| 1570 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | 1586 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 1571 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1587 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
| 1572 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1588 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1573 } | 1589 } |
| 1574 | 1590 |
| 1575 TEST_F(GLES2DecoderTest2, VertexAttrib2fvImmediateValidArgs) { | 1591 TEST_F(GLES2DecoderTest2, VertexAttrib2fvImmediateValidArgs) { |
| 1576 VertexAttrib2fvImmediate& cmd = *GetImmediateAs<VertexAttrib2fvImmediate>(); | 1592 cmds::VertexAttrib2fvImmediate& cmd = |
| 1593 *GetImmediateAs<cmds::VertexAttrib2fvImmediate>(); |
| 1577 EXPECT_CALL( | 1594 EXPECT_CALL( |
| 1578 *gl_, | 1595 *gl_, |
| 1579 VertexAttrib2fv(1, | 1596 VertexAttrib2fv(1, |
| 1580 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1597 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1581 SpecializedSetup<VertexAttrib2fvImmediate, 0>(true); | 1598 SpecializedSetup<cmds::VertexAttrib2fvImmediate, 0>(true); |
| 1582 GLfloat temp[2] = { 0, }; | 1599 GLfloat temp[2] = { 0, }; |
| 1583 cmd.Init(1, &temp[0]); | 1600 cmd.Init(1, &temp[0]); |
| 1584 EXPECT_EQ(error::kNoError, | 1601 EXPECT_EQ(error::kNoError, |
| 1585 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1602 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1586 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1603 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1587 } | 1604 } |
| 1588 | 1605 |
| 1589 TEST_F(GLES2DecoderTest2, VertexAttrib3fValidArgs) { | 1606 TEST_F(GLES2DecoderTest2, VertexAttrib3fValidArgs) { |
| 1590 EXPECT_CALL(*gl_, VertexAttrib3f(1, 2, 3, 4)); | 1607 EXPECT_CALL(*gl_, VertexAttrib3f(1, 2, 3, 4)); |
| 1591 SpecializedSetup<VertexAttrib3f, 0>(true); | 1608 SpecializedSetup<cmds::VertexAttrib3f, 0>(true); |
| 1592 VertexAttrib3f cmd; | 1609 cmds::VertexAttrib3f cmd; |
| 1593 cmd.Init(1, 2, 3, 4); | 1610 cmd.Init(1, 2, 3, 4); |
| 1594 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1611 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1595 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1612 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1596 } | 1613 } |
| 1597 | 1614 |
| 1598 TEST_F(GLES2DecoderTest2, VertexAttrib3fvValidArgs) { | 1615 TEST_F(GLES2DecoderTest2, VertexAttrib3fvValidArgs) { |
| 1599 EXPECT_CALL( | 1616 EXPECT_CALL( |
| 1600 *gl_, VertexAttrib3fv( | 1617 *gl_, VertexAttrib3fv( |
| 1601 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1618 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 1602 SpecializedSetup<VertexAttrib3fv, 0>(true); | 1619 SpecializedSetup<cmds::VertexAttrib3fv, 0>(true); |
| 1603 VertexAttrib3fv cmd; | 1620 cmds::VertexAttrib3fv cmd; |
| 1604 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | 1621 cmd.Init(1, shared_memory_id_, shared_memory_offset_); |
| 1605 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1622 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
| 1606 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1623 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1607 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1624 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1608 } | 1625 } |
| 1609 | 1626 |
| 1610 TEST_F(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_0) { | 1627 TEST_F(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_0) { |
| 1611 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); | 1628 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); |
| 1612 SpecializedSetup<VertexAttrib3fv, 0>(false); | 1629 SpecializedSetup<cmds::VertexAttrib3fv, 0>(false); |
| 1613 VertexAttrib3fv cmd; | 1630 cmds::VertexAttrib3fv cmd; |
| 1614 cmd.Init(1, kInvalidSharedMemoryId, 0); | 1631 cmd.Init(1, kInvalidSharedMemoryId, 0); |
| 1615 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1632 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
| 1616 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1633 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1617 } | 1634 } |
| 1618 | 1635 |
| 1619 TEST_F(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_1) { | 1636 TEST_F(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_1) { |
| 1620 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); | 1637 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); |
| 1621 SpecializedSetup<VertexAttrib3fv, 0>(false); | 1638 SpecializedSetup<cmds::VertexAttrib3fv, 0>(false); |
| 1622 VertexAttrib3fv cmd; | 1639 cmds::VertexAttrib3fv cmd; |
| 1623 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | 1640 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 1624 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1641 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
| 1625 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1642 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1626 } | 1643 } |
| 1627 | 1644 |
| 1628 TEST_F(GLES2DecoderTest2, VertexAttrib3fvImmediateValidArgs) { | 1645 TEST_F(GLES2DecoderTest2, VertexAttrib3fvImmediateValidArgs) { |
| 1629 VertexAttrib3fvImmediate& cmd = *GetImmediateAs<VertexAttrib3fvImmediate>(); | 1646 cmds::VertexAttrib3fvImmediate& cmd = |
| 1647 *GetImmediateAs<cmds::VertexAttrib3fvImmediate>(); |
| 1630 EXPECT_CALL( | 1648 EXPECT_CALL( |
| 1631 *gl_, | 1649 *gl_, |
| 1632 VertexAttrib3fv(1, | 1650 VertexAttrib3fv(1, |
| 1633 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1651 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1634 SpecializedSetup<VertexAttrib3fvImmediate, 0>(true); | 1652 SpecializedSetup<cmds::VertexAttrib3fvImmediate, 0>(true); |
| 1635 GLfloat temp[3] = { 0, }; | 1653 GLfloat temp[3] = { 0, }; |
| 1636 cmd.Init(1, &temp[0]); | 1654 cmd.Init(1, &temp[0]); |
| 1637 EXPECT_EQ(error::kNoError, | 1655 EXPECT_EQ(error::kNoError, |
| 1638 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1656 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1639 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1657 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1640 } | 1658 } |
| 1641 | 1659 |
| 1642 TEST_F(GLES2DecoderTest2, VertexAttrib4fValidArgs) { | 1660 TEST_F(GLES2DecoderTest2, VertexAttrib4fValidArgs) { |
| 1643 EXPECT_CALL(*gl_, VertexAttrib4f(1, 2, 3, 4, 5)); | 1661 EXPECT_CALL(*gl_, VertexAttrib4f(1, 2, 3, 4, 5)); |
| 1644 SpecializedSetup<VertexAttrib4f, 0>(true); | 1662 SpecializedSetup<cmds::VertexAttrib4f, 0>(true); |
| 1645 VertexAttrib4f cmd; | 1663 cmds::VertexAttrib4f cmd; |
| 1646 cmd.Init(1, 2, 3, 4, 5); | 1664 cmd.Init(1, 2, 3, 4, 5); |
| 1647 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1665 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1648 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1666 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1649 } | 1667 } |
| 1650 | 1668 |
| 1651 TEST_F(GLES2DecoderTest2, VertexAttrib4fvValidArgs) { | 1669 TEST_F(GLES2DecoderTest2, VertexAttrib4fvValidArgs) { |
| 1652 EXPECT_CALL( | 1670 EXPECT_CALL( |
| 1653 *gl_, VertexAttrib4fv( | 1671 *gl_, VertexAttrib4fv( |
| 1654 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1672 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
| 1655 SpecializedSetup<VertexAttrib4fv, 0>(true); | 1673 SpecializedSetup<cmds::VertexAttrib4fv, 0>(true); |
| 1656 VertexAttrib4fv cmd; | 1674 cmds::VertexAttrib4fv cmd; |
| 1657 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | 1675 cmd.Init(1, shared_memory_id_, shared_memory_offset_); |
| 1658 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1676 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
| 1659 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1677 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1660 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1678 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1661 } | 1679 } |
| 1662 | 1680 |
| 1663 TEST_F(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_0) { | 1681 TEST_F(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_0) { |
| 1664 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); | 1682 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); |
| 1665 SpecializedSetup<VertexAttrib4fv, 0>(false); | 1683 SpecializedSetup<cmds::VertexAttrib4fv, 0>(false); |
| 1666 VertexAttrib4fv cmd; | 1684 cmds::VertexAttrib4fv cmd; |
| 1667 cmd.Init(1, kInvalidSharedMemoryId, 0); | 1685 cmd.Init(1, kInvalidSharedMemoryId, 0); |
| 1668 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1686 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
| 1669 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1687 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1670 } | 1688 } |
| 1671 | 1689 |
| 1672 TEST_F(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_1) { | 1690 TEST_F(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_1) { |
| 1673 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); | 1691 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); |
| 1674 SpecializedSetup<VertexAttrib4fv, 0>(false); | 1692 SpecializedSetup<cmds::VertexAttrib4fv, 0>(false); |
| 1675 VertexAttrib4fv cmd; | 1693 cmds::VertexAttrib4fv cmd; |
| 1676 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | 1694 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); |
| 1677 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1695 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
| 1678 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1696 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
| 1679 } | 1697 } |
| 1680 | 1698 |
| 1681 TEST_F(GLES2DecoderTest2, VertexAttrib4fvImmediateValidArgs) { | 1699 TEST_F(GLES2DecoderTest2, VertexAttrib4fvImmediateValidArgs) { |
| 1682 VertexAttrib4fvImmediate& cmd = *GetImmediateAs<VertexAttrib4fvImmediate>(); | 1700 cmds::VertexAttrib4fvImmediate& cmd = |
| 1701 *GetImmediateAs<cmds::VertexAttrib4fvImmediate>(); |
| 1683 EXPECT_CALL( | 1702 EXPECT_CALL( |
| 1684 *gl_, | 1703 *gl_, |
| 1685 VertexAttrib4fv(1, | 1704 VertexAttrib4fv(1, |
| 1686 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1705 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1687 SpecializedSetup<VertexAttrib4fvImmediate, 0>(true); | 1706 SpecializedSetup<cmds::VertexAttrib4fvImmediate, 0>(true); |
| 1688 GLfloat temp[4] = { 0, }; | 1707 GLfloat temp[4] = { 0, }; |
| 1689 cmd.Init(1, &temp[0]); | 1708 cmd.Init(1, &temp[0]); |
| 1690 EXPECT_EQ(error::kNoError, | 1709 EXPECT_EQ(error::kNoError, |
| 1691 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1710 ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1692 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1711 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1693 } | 1712 } |
| 1694 // TODO(gman): VertexAttribPointer | 1713 // TODO(gman): VertexAttribPointer |
| 1695 | 1714 |
| 1696 | 1715 |
| 1697 TEST_F(GLES2DecoderTest2, ViewportValidArgs) { | 1716 TEST_F(GLES2DecoderTest2, ViewportValidArgs) { |
| 1698 EXPECT_CALL(*gl_, Viewport(1, 2, 3, 4)); | 1717 EXPECT_CALL(*gl_, Viewport(1, 2, 3, 4)); |
| 1699 SpecializedSetup<Viewport, 0>(true); | 1718 SpecializedSetup<cmds::Viewport, 0>(true); |
| 1700 Viewport cmd; | 1719 cmds::Viewport cmd; |
| 1701 cmd.Init(1, 2, 3, 4); | 1720 cmd.Init(1, 2, 3, 4); |
| 1702 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1721 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1703 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1722 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1704 } | 1723 } |
| 1705 | 1724 |
| 1706 TEST_F(GLES2DecoderTest2, ViewportInvalidArgs2_0) { | 1725 TEST_F(GLES2DecoderTest2, ViewportInvalidArgs2_0) { |
| 1707 EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); | 1726 EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); |
| 1708 SpecializedSetup<Viewport, 0>(false); | 1727 SpecializedSetup<cmds::Viewport, 0>(false); |
| 1709 Viewport cmd; | 1728 cmds::Viewport cmd; |
| 1710 cmd.Init(1, 2, -1, 4); | 1729 cmd.Init(1, 2, -1, 4); |
| 1711 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1730 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1712 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1731 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 1713 } | 1732 } |
| 1714 | 1733 |
| 1715 TEST_F(GLES2DecoderTest2, ViewportInvalidArgs3_0) { | 1734 TEST_F(GLES2DecoderTest2, ViewportInvalidArgs3_0) { |
| 1716 EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); | 1735 EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); |
| 1717 SpecializedSetup<Viewport, 0>(false); | 1736 SpecializedSetup<cmds::Viewport, 0>(false); |
| 1718 Viewport cmd; | 1737 cmds::Viewport cmd; |
| 1719 cmd.Init(1, 2, 3, -1); | 1738 cmd.Init(1, 2, 3, -1); |
| 1720 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1739 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1721 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1740 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 1722 } | 1741 } |
| 1723 // TODO(gman): BlitFramebufferEXT | 1742 // TODO(gman): BlitFramebufferEXT |
| 1724 // TODO(gman): RenderbufferStorageMultisampleEXT | 1743 // TODO(gman): RenderbufferStorageMultisampleEXT |
| 1725 // TODO(gman): TexStorage2DEXT | 1744 // TODO(gman): TexStorage2DEXT |
| 1726 // TODO(gman): GenQueriesEXT | 1745 // TODO(gman): GenQueriesEXT |
| 1727 // TODO(gman): GenQueriesEXTImmediate | 1746 // TODO(gman): GenQueriesEXTImmediate |
| 1728 // TODO(gman): DeleteQueriesEXT | 1747 // TODO(gman): DeleteQueriesEXT |
| 1729 // TODO(gman): DeleteQueriesEXTImmediate | 1748 // TODO(gman): DeleteQueriesEXTImmediate |
| 1730 // TODO(gman): BeginQueryEXT | 1749 // TODO(gman): BeginQueryEXT |
| 1731 | 1750 |
| 1732 // TODO(gman): EndQueryEXT | 1751 // TODO(gman): EndQueryEXT |
| 1733 | 1752 |
| 1734 // TODO(gman): InsertEventMarkerEXT | 1753 // TODO(gman): InsertEventMarkerEXT |
| 1735 | 1754 |
| 1736 // TODO(gman): PushGroupMarkerEXT | 1755 // TODO(gman): PushGroupMarkerEXT |
| 1737 | 1756 |
| 1738 | 1757 |
| 1739 TEST_F(GLES2DecoderTest2, PopGroupMarkerEXTValidArgs) { | 1758 TEST_F(GLES2DecoderTest2, PopGroupMarkerEXTValidArgs) { |
| 1740 SpecializedSetup<PopGroupMarkerEXT, 0>(true); | 1759 SpecializedSetup<cmds::PopGroupMarkerEXT, 0>(true); |
| 1741 PopGroupMarkerEXT cmd; | 1760 cmds::PopGroupMarkerEXT cmd; |
| 1742 cmd.Init(); | 1761 cmd.Init(); |
| 1743 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1762 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1744 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1763 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1745 } | 1764 } |
| 1746 // TODO(gman): GenVertexArraysOES | 1765 // TODO(gman): GenVertexArraysOES |
| 1747 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 1766 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
| 1748 | 1767 |
| OLD | NEW |