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 #include "gpu/command_buffer/service/texture_definition.h" | 5 #include "gpu/command_buffer/service/texture_definition.h" |
6 | 6 |
7 #include <list> | 7 #include <list> |
8 | 8 |
9 #include "base/memory/linked_ptr.h" | 9 #include "base/memory/linked_ptr.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 width(width), | 271 width(width), |
272 height(height), | 272 height(height), |
273 depth(depth), | 273 depth(depth), |
274 border(border), | 274 border(border), |
275 format(format), | 275 format(format), |
276 type(type), | 276 type(type), |
277 cleared(cleared) {} | 277 cleared(cleared) {} |
278 | 278 |
279 TextureDefinition::LevelInfo::~LevelInfo() {} | 279 TextureDefinition::LevelInfo::~LevelInfo() {} |
280 | 280 |
| 281 TextureDefinition::TextureDefinition() |
| 282 : version_(0), |
| 283 target_(0), |
| 284 min_filter_(0), |
| 285 mag_filter_(0), |
| 286 wrap_s_(0), |
| 287 wrap_t_(0), |
| 288 usage_(0), |
| 289 immutable_(true) { |
| 290 } |
| 291 |
281 TextureDefinition::TextureDefinition( | 292 TextureDefinition::TextureDefinition( |
282 GLenum target, | |
283 Texture* texture, | 293 Texture* texture, |
284 unsigned int version, | 294 unsigned int version, |
285 const scoped_refptr<NativeImageBuffer>& image_buffer) | 295 const scoped_refptr<NativeImageBuffer>& image_buffer) |
286 : version_(version), | 296 : version_(version), |
287 target_(target), | 297 target_(texture->target()), |
288 image_buffer_(image_buffer.get() | 298 image_buffer_(image_buffer.get() |
289 ? image_buffer | 299 ? image_buffer |
290 : NativeImageBuffer::Create(texture->service_id())), | 300 : NativeImageBuffer::Create(texture->service_id())), |
291 min_filter_(texture->min_filter()), | 301 min_filter_(texture->min_filter()), |
292 mag_filter_(texture->mag_filter()), | 302 mag_filter_(texture->mag_filter()), |
293 wrap_s_(texture->wrap_s()), | 303 wrap_s_(texture->wrap_s()), |
294 wrap_t_(texture->wrap_t()), | 304 wrap_t_(texture->wrap_t()), |
295 usage_(texture->usage()), | 305 usage_(texture->usage()), |
296 immutable_(texture->IsImmutable()) { | 306 immutable_(texture->IsImmutable()) { |
297 // TODO | 307 // TODO |
298 DCHECK(!texture->face_infos_.empty()); | 308 DCHECK(!texture->face_infos_.empty()); |
299 DCHECK(!texture->face_infos_[0].level_infos.empty()); | 309 DCHECK(!texture->face_infos_[0].level_infos.empty()); |
300 DCHECK(!texture->NeedsMips()); | 310 DCHECK(!texture->NeedsMips()); |
301 DCHECK(texture->face_infos_[0].level_infos[0].width); | 311 DCHECK(texture->face_infos_[0].level_infos[0].width); |
302 DCHECK(texture->face_infos_[0].level_infos[0].height); | 312 DCHECK(texture->face_infos_[0].level_infos[0].height); |
303 | 313 |
304 const Texture::FaceInfo& first_face = texture->face_infos_[0]; | 314 const Texture::FaceInfo& first_face = texture->face_infos_[0]; |
305 scoped_refptr<gfx::GLImage> gl_image( | 315 scoped_refptr<gfx::GLImage> gl_image( |
306 new GLImageSync(image_buffer_, | 316 new GLImageSync(image_buffer_, |
307 gfx::Size(first_face.level_infos[0].width, | 317 gfx::Size(first_face.level_infos[0].width, |
308 first_face.level_infos[0].height))); | 318 first_face.level_infos[0].height))); |
309 texture->SetLevelImage(NULL, target, 0, gl_image.get()); | 319 texture->SetLevelImage(NULL, target_, 0, gl_image.get()); |
310 | 320 |
311 // TODO: all levels | 321 // TODO: all levels |
312 level_infos_.clear(); | 322 level_infos_.clear(); |
313 const Texture::LevelInfo& level = first_face.level_infos[0]; | 323 const Texture::LevelInfo& level = first_face.level_infos[0]; |
314 LevelInfo info(level.target, | 324 LevelInfo info(level.target, |
315 level.internal_format, | 325 level.internal_format, |
316 level.width, | 326 level.width, |
317 level.height, | 327 level.height, |
318 level.depth, | 328 level.depth, |
319 level.border, | 329 level.border, |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 | 419 |
410 // All structural changes should have orphaned the texture. | 420 // All structural changes should have orphaned the texture. |
411 if (image_buffer_.get() && !texture->GetLevelImage(texture->target(), 0)) | 421 if (image_buffer_.get() && !texture->GetLevelImage(texture->target(), 0)) |
412 return false; | 422 return false; |
413 | 423 |
414 return true; | 424 return true; |
415 } | 425 } |
416 | 426 |
417 } // namespace gles2 | 427 } // namespace gles2 |
418 } // namespace gpu | 428 } // namespace gpu |
OLD | NEW |