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