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 |