| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #include "gpu/command_buffer/service/texture_manager.h" | 5 #include "gpu/command_buffer/service/texture_manager.h" |
| 6 #include "testing/gtest/include/gtest/gtest.h" | 6 #include "testing/gtest/include/gtest/gtest.h" |
| 7 | 7 |
| 8 namespace gpu { | 8 namespace gpu { |
| 9 namespace gles2 { | 9 namespace gles2 { |
| 10 | 10 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 const GLint TextureManagerTest::kMaxTextureSize; | 34 const GLint TextureManagerTest::kMaxTextureSize; |
| 35 const GLint TextureManagerTest::kMaxCubeMapTextureSize; | 35 const GLint TextureManagerTest::kMaxCubeMapTextureSize; |
| 36 const GLint TextureManagerTest::kMax2dLevels; | 36 const GLint TextureManagerTest::kMax2dLevels; |
| 37 const GLint TextureManagerTest::kMaxCubeMapLevels; | 37 const GLint TextureManagerTest::kMaxCubeMapLevels; |
| 38 #endif | 38 #endif |
| 39 | 39 |
| 40 TEST_F(TextureManagerTest, Basic) { | 40 TEST_F(TextureManagerTest, Basic) { |
| 41 const GLuint kClient1Id = 1; | 41 const GLuint kClient1Id = 1; |
| 42 const GLuint kService1Id = 11; | 42 const GLuint kService1Id = 11; |
| 43 const GLuint kClient2Id = 2; | 43 const GLuint kClient2Id = 2; |
| 44 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
| 44 // Check we can create texture. | 45 // Check we can create texture. |
| 45 manager_.CreateTextureInfo(kClient1Id, kService1Id); | 46 manager_.CreateTextureInfo(kClient1Id, kService1Id); |
| 46 // Check texture got created. | 47 // Check texture got created. |
| 47 TextureManager::TextureInfo* info1 = manager_.GetTextureInfo(kClient1Id); | 48 TextureManager::TextureInfo* info1 = manager_.GetTextureInfo(kClient1Id); |
| 48 ASSERT_TRUE(info1 != NULL); | 49 ASSERT_TRUE(info1 != NULL); |
| 49 EXPECT_EQ(kService1Id, info1->service_id()); | 50 EXPECT_EQ(kService1Id, info1->service_id()); |
| 50 GLuint client_id = 0; | 51 GLuint client_id = 0; |
| 51 EXPECT_TRUE(manager_.GetClientId(info1->service_id(), &client_id)); | 52 EXPECT_TRUE(manager_.GetClientId(info1->service_id(), &client_id)); |
| 52 EXPECT_EQ(kClient1Id, client_id); | 53 EXPECT_EQ(kClient1Id, client_id); |
| 53 // Check we get nothing for a non-existent texture. | 54 // Check we get nothing for a non-existent texture. |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 TextureManager::TextureInfo* info_; | 141 TextureManager::TextureInfo* info_; |
| 141 }; | 142 }; |
| 142 | 143 |
| 143 TEST_F(TextureInfoTest, Basic) { | 144 TEST_F(TextureInfoTest, Basic) { |
| 144 EXPECT_EQ(0u, info_->target()); | 145 EXPECT_EQ(0u, info_->target()); |
| 145 EXPECT_FALSE(info_->texture_complete()); | 146 EXPECT_FALSE(info_->texture_complete()); |
| 146 EXPECT_FALSE(info_->cube_complete()); | 147 EXPECT_FALSE(info_->cube_complete()); |
| 147 EXPECT_FALSE(info_->CanGenerateMipmaps()); | 148 EXPECT_FALSE(info_->CanGenerateMipmaps()); |
| 148 EXPECT_FALSE(info_->npot()); | 149 EXPECT_FALSE(info_->npot()); |
| 149 EXPECT_FALSE(info_->CanRender()); | 150 EXPECT_FALSE(info_->CanRender()); |
| 151 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 150 } | 152 } |
| 151 | 153 |
| 152 TEST_F(TextureInfoTest, POT2D) { | 154 TEST_F(TextureInfoTest, POT2D) { |
| 153 manager_.SetInfoTarget(info_, GL_TEXTURE_2D); | 155 manager_.SetInfoTarget(info_, GL_TEXTURE_2D); |
| 154 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info_->target()); | 156 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info_->target()); |
| 155 // Check Setting level 0 to POT | 157 // Check Setting level 0 to POT |
| 156 info_->SetLevelInfo( | 158 manager_.SetLevelInfo(info_, |
| 157 GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 159 GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 158 EXPECT_FALSE(info_->npot()); | 160 EXPECT_FALSE(info_->npot()); |
| 159 EXPECT_FALSE(info_->texture_complete()); | 161 EXPECT_FALSE(info_->texture_complete()); |
| 160 EXPECT_FALSE(info_->CanRender()); | 162 EXPECT_FALSE(info_->CanRender()); |
| 163 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 161 // Set filters to something that will work with a single mip. | 164 // Set filters to something that will work with a single mip. |
| 162 info_->SetParameter(GL_TEXTURE_MIN_FILTER, GL_LINEAR); | 165 manager_.SetParameter(info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR); |
| 163 EXPECT_TRUE(info_->CanRender()); | 166 EXPECT_TRUE(info_->CanRender()); |
| 167 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
| 164 // Set them back. | 168 // Set them back. |
| 165 info_->SetParameter(GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); | 169 manager_.SetParameter(info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); |
| 170 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 166 | 171 |
| 167 EXPECT_TRUE(info_->CanGenerateMipmaps()); | 172 EXPECT_TRUE(info_->CanGenerateMipmaps()); |
| 168 // Make mips. | 173 // Make mips. |
| 169 EXPECT_TRUE(info_->MarkMipmapsGenerated()); | 174 EXPECT_TRUE(manager_.MarkMipmapsGenerated(info_)); |
| 170 EXPECT_TRUE(info_->texture_complete()); | 175 EXPECT_TRUE(info_->texture_complete()); |
| 171 EXPECT_TRUE(info_->CanRender()); | 176 EXPECT_TRUE(info_->CanRender()); |
| 177 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
| 172 // Change a mip. | 178 // Change a mip. |
| 173 info_->SetLevelInfo( | 179 manager_.SetLevelInfo(info_, |
| 174 GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 180 GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 175 EXPECT_FALSE(info_->npot()); | 181 EXPECT_FALSE(info_->npot()); |
| 176 EXPECT_FALSE(info_->texture_complete()); | 182 EXPECT_FALSE(info_->texture_complete()); |
| 177 EXPECT_TRUE(info_->CanGenerateMipmaps()); | 183 EXPECT_TRUE(info_->CanGenerateMipmaps()); |
| 178 EXPECT_FALSE(info_->CanRender()); | 184 EXPECT_FALSE(info_->CanRender()); |
| 185 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 179 // Set a level past the number of mips that would get generated. | 186 // Set a level past the number of mips that would get generated. |
| 180 info_->SetLevelInfo( | 187 manager_.SetLevelInfo(info_, |
| 181 GL_TEXTURE_2D, 3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 188 GL_TEXTURE_2D, 3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 182 EXPECT_TRUE(info_->CanGenerateMipmaps()); | 189 EXPECT_TRUE(info_->CanGenerateMipmaps()); |
| 183 // Make mips. | 190 // Make mips. |
| 184 EXPECT_TRUE(info_->MarkMipmapsGenerated()); | 191 EXPECT_TRUE(manager_.MarkMipmapsGenerated(info_)); |
| 185 EXPECT_FALSE(info_->CanRender()); | 192 EXPECT_FALSE(info_->CanRender()); |
| 186 EXPECT_FALSE(info_->texture_complete()); | 193 EXPECT_FALSE(info_->texture_complete()); |
| 194 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 187 } | 195 } |
| 188 | 196 |
| 189 TEST_F(TextureInfoTest, NPOT2D) { | 197 TEST_F(TextureInfoTest, NPOT2D) { |
| 190 manager_.SetInfoTarget(info_, GL_TEXTURE_2D); | 198 manager_.SetInfoTarget(info_, GL_TEXTURE_2D); |
| 191 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info_->target()); | 199 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info_->target()); |
| 192 // Check Setting level 0 to NPOT | 200 // Check Setting level 0 to NPOT |
| 193 info_->SetLevelInfo( | 201 manager_.SetLevelInfo(info_, |
| 194 GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 202 GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 195 EXPECT_TRUE(info_->npot()); | 203 EXPECT_TRUE(info_->npot()); |
| 196 EXPECT_FALSE(info_->texture_complete()); | 204 EXPECT_FALSE(info_->texture_complete()); |
| 197 EXPECT_FALSE(info_->CanGenerateMipmaps()); | 205 EXPECT_FALSE(info_->CanGenerateMipmaps()); |
| 198 EXPECT_FALSE(info_->CanRender()); | 206 EXPECT_FALSE(info_->CanRender()); |
| 199 info_->SetParameter(GL_TEXTURE_MIN_FILTER, GL_LINEAR); | 207 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 208 manager_.SetParameter(info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR); |
| 200 EXPECT_FALSE(info_->CanRender()); | 209 EXPECT_FALSE(info_->CanRender()); |
| 201 info_->SetParameter(GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); | 210 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 211 manager_.SetParameter(info_, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); |
| 202 EXPECT_FALSE(info_->CanRender()); | 212 EXPECT_FALSE(info_->CanRender()); |
| 203 info_->SetParameter(GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); | 213 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 214 manager_.SetParameter(info_, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); |
| 204 EXPECT_TRUE(info_->CanRender()); | 215 EXPECT_TRUE(info_->CanRender()); |
| 216 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
| 205 // Change it to POT. | 217 // Change it to POT. |
| 206 info_->SetLevelInfo( | 218 manager_.SetLevelInfo(info_, |
| 207 GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 219 GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 208 EXPECT_FALSE(info_->npot()); | 220 EXPECT_FALSE(info_->npot()); |
| 209 EXPECT_FALSE(info_->texture_complete()); | 221 EXPECT_FALSE(info_->texture_complete()); |
| 210 EXPECT_TRUE(info_->CanGenerateMipmaps()); | 222 EXPECT_TRUE(info_->CanGenerateMipmaps()); |
| 223 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
| 211 } | 224 } |
| 212 | 225 |
| 213 TEST_F(TextureInfoTest, POTCubeMap) { | 226 TEST_F(TextureInfoTest, POTCubeMap) { |
| 214 manager_.SetInfoTarget(info_, GL_TEXTURE_CUBE_MAP); | 227 manager_.SetInfoTarget(info_, GL_TEXTURE_CUBE_MAP); |
| 215 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), info_->target()); | 228 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), info_->target()); |
| 216 // Check Setting level 0 each face to POT | 229 // Check Setting level 0 each face to POT |
| 217 info_->SetLevelInfo( | 230 manager_.SetLevelInfo(info_, |
| 218 GL_TEXTURE_CUBE_MAP_POSITIVE_X, | 231 GL_TEXTURE_CUBE_MAP_POSITIVE_X, |
| 219 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 232 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 220 EXPECT_FALSE(info_->npot()); | 233 EXPECT_FALSE(info_->npot()); |
| 221 EXPECT_FALSE(info_->texture_complete()); | 234 EXPECT_FALSE(info_->texture_complete()); |
| 222 EXPECT_FALSE(info_->cube_complete()); | 235 EXPECT_FALSE(info_->cube_complete()); |
| 223 EXPECT_FALSE(info_->CanGenerateMipmaps()); | 236 EXPECT_FALSE(info_->CanGenerateMipmaps()); |
| 224 EXPECT_FALSE(info_->CanRender()); | 237 EXPECT_FALSE(info_->CanRender()); |
| 225 info_->SetLevelInfo( | 238 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 239 manager_.SetLevelInfo(info_, |
| 226 GL_TEXTURE_CUBE_MAP_NEGATIVE_X, | 240 GL_TEXTURE_CUBE_MAP_NEGATIVE_X, |
| 227 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 241 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 228 EXPECT_FALSE(info_->npot()); | 242 EXPECT_FALSE(info_->npot()); |
| 229 EXPECT_FALSE(info_->texture_complete()); | 243 EXPECT_FALSE(info_->texture_complete()); |
| 230 EXPECT_FALSE(info_->cube_complete()); | 244 EXPECT_FALSE(info_->cube_complete()); |
| 231 EXPECT_FALSE(info_->CanGenerateMipmaps()); | 245 EXPECT_FALSE(info_->CanGenerateMipmaps()); |
| 232 EXPECT_FALSE(info_->CanRender()); | 246 EXPECT_FALSE(info_->CanRender()); |
| 233 info_->SetLevelInfo( | 247 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 248 manager_.SetLevelInfo(info_, |
| 234 GL_TEXTURE_CUBE_MAP_POSITIVE_Y, | 249 GL_TEXTURE_CUBE_MAP_POSITIVE_Y, |
| 235 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 250 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 236 EXPECT_FALSE(info_->npot()); | 251 EXPECT_FALSE(info_->npot()); |
| 237 EXPECT_FALSE(info_->texture_complete()); | 252 EXPECT_FALSE(info_->texture_complete()); |
| 238 EXPECT_FALSE(info_->cube_complete()); | 253 EXPECT_FALSE(info_->cube_complete()); |
| 239 EXPECT_FALSE(info_->CanGenerateMipmaps()); | 254 EXPECT_FALSE(info_->CanGenerateMipmaps()); |
| 240 EXPECT_FALSE(info_->CanRender()); | 255 EXPECT_FALSE(info_->CanRender()); |
| 241 info_->SetLevelInfo( | 256 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 257 manager_.SetLevelInfo(info_, |
| 242 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, | 258 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, |
| 243 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 259 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 244 EXPECT_FALSE(info_->npot()); | 260 EXPECT_FALSE(info_->npot()); |
| 245 EXPECT_FALSE(info_->texture_complete()); | 261 EXPECT_FALSE(info_->texture_complete()); |
| 246 EXPECT_FALSE(info_->cube_complete()); | 262 EXPECT_FALSE(info_->cube_complete()); |
| 247 EXPECT_FALSE(info_->CanRender()); | 263 EXPECT_FALSE(info_->CanRender()); |
| 248 EXPECT_FALSE(info_->CanGenerateMipmaps()); | 264 EXPECT_FALSE(info_->CanGenerateMipmaps()); |
| 249 info_->SetLevelInfo( | 265 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 266 manager_.SetLevelInfo(info_, |
| 250 GL_TEXTURE_CUBE_MAP_POSITIVE_Z, | 267 GL_TEXTURE_CUBE_MAP_POSITIVE_Z, |
| 251 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 268 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 252 EXPECT_FALSE(info_->npot()); | 269 EXPECT_FALSE(info_->npot()); |
| 253 EXPECT_FALSE(info_->texture_complete()); | 270 EXPECT_FALSE(info_->texture_complete()); |
| 254 EXPECT_FALSE(info_->cube_complete()); | 271 EXPECT_FALSE(info_->cube_complete()); |
| 255 EXPECT_FALSE(info_->CanGenerateMipmaps()); | 272 EXPECT_FALSE(info_->CanGenerateMipmaps()); |
| 256 EXPECT_FALSE(info_->CanRender()); | 273 EXPECT_FALSE(info_->CanRender()); |
| 257 info_->SetLevelInfo( | 274 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 275 manager_.SetLevelInfo(info_, |
| 258 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, | 276 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
| 259 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 277 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 260 EXPECT_FALSE(info_->npot()); | 278 EXPECT_FALSE(info_->npot()); |
| 261 EXPECT_FALSE(info_->texture_complete()); | 279 EXPECT_FALSE(info_->texture_complete()); |
| 262 EXPECT_TRUE(info_->cube_complete()); | 280 EXPECT_TRUE(info_->cube_complete()); |
| 263 EXPECT_TRUE(info_->CanGenerateMipmaps()); | 281 EXPECT_TRUE(info_->CanGenerateMipmaps()); |
| 264 EXPECT_FALSE(info_->CanRender()); | 282 EXPECT_FALSE(info_->CanRender()); |
| 283 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
| 265 | 284 |
| 266 // Make mips. | 285 // Make mips. |
| 267 EXPECT_TRUE(info_->MarkMipmapsGenerated()); | 286 EXPECT_TRUE(manager_.MarkMipmapsGenerated(info_)); |
| 268 EXPECT_TRUE(info_->texture_complete()); | 287 EXPECT_TRUE(info_->texture_complete()); |
| 269 EXPECT_TRUE(info_->cube_complete()); | 288 EXPECT_TRUE(info_->cube_complete()); |
| 289 EXPECT_TRUE(info_->CanRender()); |
| 290 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
| 270 | 291 |
| 271 // Change a mip. | 292 // Change a mip. |
| 272 info_->SetLevelInfo( | 293 manager_.SetLevelInfo(info_, |
| 273 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, | 294 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
| 274 1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 295 1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 275 EXPECT_FALSE(info_->npot()); | 296 EXPECT_FALSE(info_->npot()); |
| 276 EXPECT_FALSE(info_->texture_complete()); | 297 EXPECT_FALSE(info_->texture_complete()); |
| 277 EXPECT_TRUE(info_->cube_complete()); | 298 EXPECT_TRUE(info_->cube_complete()); |
| 278 EXPECT_TRUE(info_->CanGenerateMipmaps()); | 299 EXPECT_TRUE(info_->CanGenerateMipmaps()); |
| 279 // Set a level past the number of mips that would get generated. | 300 // Set a level past the number of mips that would get generated. |
| 280 info_->SetLevelInfo( | 301 manager_.SetLevelInfo(info_, |
| 281 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, | 302 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
| 282 3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 303 3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 283 EXPECT_TRUE(info_->CanGenerateMipmaps()); | 304 EXPECT_TRUE(info_->CanGenerateMipmaps()); |
| 284 // Make mips. | 305 // Make mips. |
| 285 EXPECT_TRUE(info_->MarkMipmapsGenerated()); | 306 EXPECT_TRUE(manager_.MarkMipmapsGenerated(info_)); |
| 286 EXPECT_FALSE(info_->texture_complete()); | 307 EXPECT_FALSE(info_->texture_complete()); |
| 287 EXPECT_TRUE(info_->cube_complete()); | 308 EXPECT_TRUE(info_->cube_complete()); |
| 288 } | 309 } |
| 289 | 310 |
| 290 TEST_F(TextureInfoTest, GetLevelSize) { | 311 TEST_F(TextureInfoTest, GetLevelSize) { |
| 291 manager_.SetInfoTarget(info_, GL_TEXTURE_2D); | 312 manager_.SetInfoTarget(info_, GL_TEXTURE_2D); |
| 292 info_->SetLevelInfo( | 313 manager_.SetLevelInfo(info_, |
| 293 GL_TEXTURE_2D, 1, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); | 314 GL_TEXTURE_2D, 1, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE); |
| 294 GLsizei width = -1; | 315 GLsizei width = -1; |
| 295 GLsizei height = -1; | 316 GLsizei height = -1; |
| 296 EXPECT_FALSE(info_->GetLevelSize(GL_TEXTURE_2D, -1, &width, &height)); | 317 EXPECT_FALSE(info_->GetLevelSize(GL_TEXTURE_2D, -1, &width, &height)); |
| 297 EXPECT_FALSE(info_->GetLevelSize(GL_TEXTURE_2D, 1000, &width, &height)); | 318 EXPECT_FALSE(info_->GetLevelSize(GL_TEXTURE_2D, 1000, &width, &height)); |
| 298 EXPECT_TRUE(info_->GetLevelSize(GL_TEXTURE_2D, 0, &width, &height)); | 319 EXPECT_TRUE(info_->GetLevelSize(GL_TEXTURE_2D, 0, &width, &height)); |
| 299 EXPECT_EQ(0, width); | 320 EXPECT_EQ(0, width); |
| 300 EXPECT_EQ(0, height); | 321 EXPECT_EQ(0, height); |
| 301 EXPECT_TRUE(info_->GetLevelSize(GL_TEXTURE_2D, 1, &width, &height)); | 322 EXPECT_TRUE(info_->GetLevelSize(GL_TEXTURE_2D, 1, &width, &height)); |
| 302 EXPECT_EQ(4, width); | 323 EXPECT_EQ(4, width); |
| 303 EXPECT_EQ(5, height); | 324 EXPECT_EQ(5, height); |
| 304 manager_.RemoveTextureInfo(kClient1Id); | 325 manager_.RemoveTextureInfo(kClient1Id); |
| 305 EXPECT_FALSE(info_->GetLevelSize(GL_TEXTURE_2D, 1, &width, &height)); | 326 EXPECT_FALSE(info_->GetLevelSize(GL_TEXTURE_2D, 1, &width, &height)); |
| 306 } | 327 } |
| 307 | 328 |
| 308 } // namespace gles2 | 329 } // namespace gles2 |
| 309 } // namespace gpu | 330 } // namespace gpu |
| 310 | 331 |
| 311 | 332 |
| OLD | NEW |