| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 432 void WebGLFramebuffer::setAttachmentInternal(GLenum target, | 432 void WebGLFramebuffer::setAttachmentInternal(GLenum target, |
| 433 GLenum attachment, | 433 GLenum attachment, |
| 434 GLenum texTarget, | 434 GLenum texTarget, |
| 435 WebGLTexture* texture, | 435 WebGLTexture* texture, |
| 436 GLint level, | 436 GLint level, |
| 437 GLint layer) { | 437 GLint layer) { |
| 438 DCHECK(isBound(target)); | 438 DCHECK(isBound(target)); |
| 439 DCHECK(m_object); | 439 DCHECK(m_object); |
| 440 removeAttachmentInternal(target, attachment); | 440 removeAttachmentInternal(target, attachment); |
| 441 if (texture && texture->object()) { | 441 if (texture && texture->object()) { |
| 442 m_attachments.add(attachment, WebGLTextureAttachment::create( | 442 m_attachments.add( |
| 443 texture, texTarget, level, layer)); | 443 attachment, TraceWrapperMember<WebGLAttachment>( |
| 444 this, WebGLTextureAttachment::create(texture, texTarget, |
| 445 level, layer))); |
| 444 drawBuffersIfNecessary(false); | 446 drawBuffersIfNecessary(false); |
| 445 texture->onAttached(); | 447 texture->onAttached(); |
| 446 } | 448 } |
| 447 } | 449 } |
| 448 | 450 |
| 449 void WebGLFramebuffer::setAttachmentInternal(GLenum target, | 451 void WebGLFramebuffer::setAttachmentInternal(GLenum target, |
| 450 GLenum attachment, | 452 GLenum attachment, |
| 451 WebGLRenderbuffer* renderbuffer) { | 453 WebGLRenderbuffer* renderbuffer) { |
| 452 DCHECK(isBound(target)); | 454 DCHECK(isBound(target)); |
| 453 DCHECK(m_object); | 455 DCHECK(m_object); |
| 454 removeAttachmentInternal(target, attachment); | 456 removeAttachmentInternal(target, attachment); |
| 455 if (renderbuffer && renderbuffer->object()) { | 457 if (renderbuffer && renderbuffer->object()) { |
| 456 m_attachments.add(attachment, | 458 m_attachments.add( |
| 457 WebGLRenderbufferAttachment::create(renderbuffer)); | 459 attachment, |
| 460 TraceWrapperMember<WebGLAttachment>( |
| 461 this, WebGLRenderbufferAttachment::create(renderbuffer))); |
| 458 drawBuffersIfNecessary(false); | 462 drawBuffersIfNecessary(false); |
| 459 renderbuffer->onAttached(); | 463 renderbuffer->onAttached(); |
| 460 } | 464 } |
| 461 } | 465 } |
| 462 | 466 |
| 463 void WebGLFramebuffer::removeAttachmentInternal(GLenum target, | 467 void WebGLFramebuffer::removeAttachmentInternal(GLenum target, |
| 464 GLenum attachment) { | 468 GLenum attachment) { |
| 465 DCHECK(isBound(target)); | 469 DCHECK(isBound(target)); |
| 466 DCHECK(m_object); | 470 DCHECK(m_object); |
| 467 | 471 |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 546 } | 550 } |
| 547 | 551 |
| 548 DEFINE_TRACE_WRAPPERS(WebGLFramebuffer) { | 552 DEFINE_TRACE_WRAPPERS(WebGLFramebuffer) { |
| 549 for (const auto& attachment : m_attachments) { | 553 for (const auto& attachment : m_attachments) { |
| 550 visitor->traceWrappers(attachment.value->object()); | 554 visitor->traceWrappers(attachment.value->object()); |
| 551 } | 555 } |
| 552 WebGLContextObject::traceWrappers(visitor); | 556 WebGLContextObject::traceWrappers(visitor); |
| 553 } | 557 } |
| 554 | 558 |
| 555 } // namespace blink | 559 } // namespace blink |
| OLD | NEW |