Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/framebuffer_manager.h" | 5 #include "gpu/command_buffer/service/framebuffer_manager.h" |
| 6 #include "base/logging.h" | 6 #include "base/logging.h" |
| 7 #include "base/strings/stringprintf.h" | 7 #include "base/strings/stringprintf.h" |
| 8 #include "gpu/command_buffer/common/gles2_cmd_utils.h" | 8 #include "gpu/command_buffer/common/gles2_cmd_utils.h" |
| 9 #include "gpu/command_buffer/service/renderbuffer_manager.h" | 9 #include "gpu/command_buffer/service/renderbuffer_manager.h" |
| 10 #include "gpu/command_buffer/service/texture_manager.h" | 10 #include "gpu/command_buffer/service/texture_manager.h" |
| (...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 499 } | 499 } |
| 500 | 500 |
| 501 // This does not mean the framebuffer is actually complete. It just means our | 501 // This does not mean the framebuffer is actually complete. It just means our |
| 502 // checks passed. | 502 // checks passed. |
| 503 return GL_FRAMEBUFFER_COMPLETE; | 503 return GL_FRAMEBUFFER_COMPLETE; |
| 504 } | 504 } |
| 505 | 505 |
| 506 GLenum Framebuffer::GetStatus( | 506 GLenum Framebuffer::GetStatus( |
| 507 TextureManager* texture_manager, GLenum target) const { | 507 TextureManager* texture_manager, GLenum target) const { |
| 508 // Check if we have this combo already. | 508 // Check if we have this combo already. |
| 509 std::string signature; | 509 std::string signature; |
|
vmiura
2014/09/23 20:26:47
I think it would help to pre-reserve enough space
David Yen
2014/09/23 20:45:24
Since I will be adding structures for the binary b
| |
| 510 if (allow_framebuffer_combo_complete_map_) { | 510 if (allow_framebuffer_combo_complete_map_) { |
| 511 signature = base::StringPrintf("|FBO|target=%04x", target); | 511 signature.append("|Target|"); |
| 512 signature.append(reinterpret_cast<const char*>(&target), sizeof(target)); | |
| 513 signature.push_back('|'); | |
|
vmiura
2014/09/23 20:26:47
I think we could remove fillers like "|Target|" an
David Yen
2014/09/23 20:45:24
I think it's a good idea to keep marker tags to en
vmiura
2014/09/23 22:37:17
I'd think we need to keep them in the attachments
David Yen
2014/09/23 22:42:51
Done. Removed it in the last patch.
| |
| 512 for (AttachmentMap::const_iterator it = attachments_.begin(); | 514 for (AttachmentMap::const_iterator it = attachments_.begin(); |
| 513 it != attachments_.end(); ++it) { | 515 it != attachments_.end(); ++it) { |
| 514 Attachment* attachment = it->second.get(); | 516 Attachment* attachment = it->second.get(); |
| 515 signature += | 517 signature.append(reinterpret_cast<const char*>(&it->first), |
| 516 base::StringPrintf("|Attachment|attachmentpoint=%04x", it->first); | 518 sizeof(it->first)); |
| 517 attachment->AddToSignature(texture_manager, &signature); | 519 attachment->AddToSignature(texture_manager, &signature); |
| 518 } | 520 } |
| 519 | 521 |
| 520 if (!framebuffer_combo_complete_map_) { | 522 if (!framebuffer_combo_complete_map_) { |
| 521 framebuffer_combo_complete_map_ = new FramebufferComboCompleteMap(); | 523 framebuffer_combo_complete_map_ = new FramebufferComboCompleteMap(); |
| 522 } | 524 } |
| 523 | 525 |
| 524 FramebufferComboCompleteMap::const_iterator it = | 526 FramebufferComboCompleteMap::const_iterator it = |
| 525 framebuffer_combo_complete_map_->find(signature); | 527 framebuffer_combo_complete_map_->find(signature); |
| 526 if (it != framebuffer_combo_complete_map_->end()) { | 528 if (it != framebuffer_combo_complete_map_->end()) { |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 735 ++it) { | 737 ++it) { |
| 736 TextureDetachObserver* observer = *it; | 738 TextureDetachObserver* observer = *it; |
| 737 observer->OnTextureRefDetachedFromFramebuffer(texture); | 739 observer->OnTextureRefDetachedFromFramebuffer(texture); |
| 738 } | 740 } |
| 739 } | 741 } |
| 740 | 742 |
| 741 } // namespace gles2 | 743 } // namespace gles2 |
| 742 } // namespace gpu | 744 } // namespace gpu |
| 743 | 745 |
| 744 | 746 |
| OLD | NEW |