| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "gpu/command_buffer/common/gles2_cmd_utils.h" | 7 #include "gpu/command_buffer/common/gles2_cmd_utils.h" |
| 8 | 8 |
| 9 namespace gpu { | 9 namespace gpu { |
| 10 namespace gles2 { | 10 namespace gles2 { |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 | 56 |
| 57 virtual bool CanRenderTo() const { | 57 virtual bool CanRenderTo() const { |
| 58 return true; | 58 return true; |
| 59 } | 59 } |
| 60 | 60 |
| 61 virtual void DetachFromFramebuffer() { | 61 virtual void DetachFromFramebuffer() { |
| 62 // Nothing to do for renderbuffers. | 62 // Nothing to do for renderbuffers. |
| 63 } | 63 } |
| 64 | 64 |
| 65 virtual bool ValidForAttachmentType(GLenum attachment_type) { | 65 virtual bool ValidForAttachmentType(GLenum attachment_type) { |
| 66 // TODO(gman): Fill this out. | 66 uint32 need = GLES2Util::GetChannelsNeededForAttachmentType( |
| 67 return true; | 67 attachment_type); |
| 68 uint32 have = GLES2Util::GetChannelsForFormat(internal_format()); |
| 69 return (need & have) != 0; |
| 68 } | 70 } |
| 69 | 71 |
| 70 RenderbufferManager::RenderbufferInfo* renderbuffer() const { | 72 RenderbufferManager::RenderbufferInfo* renderbuffer() const { |
| 71 return renderbuffer_.get(); | 73 return renderbuffer_.get(); |
| 72 } | 74 } |
| 73 | 75 |
| 74 private: | 76 private: |
| 75 RenderbufferManager::RenderbufferInfo::Ref renderbuffer_; | 77 RenderbufferManager::RenderbufferInfo::Ref renderbuffer_; |
| 76 | 78 |
| 77 DISALLOW_COPY_AND_ASSIGN(RenderbufferAttachment); | 79 DISALLOW_COPY_AND_ASSIGN(RenderbufferAttachment); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 | 141 |
| 140 virtual bool CanRenderTo() const { | 142 virtual bool CanRenderTo() const { |
| 141 return texture_->CanRenderTo(); | 143 return texture_->CanRenderTo(); |
| 142 } | 144 } |
| 143 | 145 |
| 144 virtual void DetachFromFramebuffer() { | 146 virtual void DetachFromFramebuffer() { |
| 145 texture_->DetachFromFramebuffer(); | 147 texture_->DetachFromFramebuffer(); |
| 146 } | 148 } |
| 147 | 149 |
| 148 virtual bool ValidForAttachmentType(GLenum attachment_type) { | 150 virtual bool ValidForAttachmentType(GLenum attachment_type) { |
| 149 // TODO(gman): Fill this out. | 151 GLenum type = 0; |
| 150 return true; | 152 GLenum internal_format = 0; |
| 153 if (!texture_->GetLevelType(target_, level_, &type, &internal_format)) { |
| 154 return false; |
| 155 } |
| 156 uint32 need = GLES2Util::GetChannelsNeededForAttachmentType( |
| 157 attachment_type); |
| 158 uint32 have = GLES2Util::GetChannelsForFormat(internal_format); |
| 159 return (need & have) != 0; |
| 151 } | 160 } |
| 152 | 161 |
| 153 private: | 162 private: |
| 154 TextureManager::TextureInfo::Ref texture_; | 163 TextureManager::TextureInfo::Ref texture_; |
| 155 GLenum target_; | 164 GLenum target_; |
| 156 GLint level_; | 165 GLint level_; |
| 157 | 166 |
| 158 DISALLOW_COPY_AND_ASSIGN(TextureAttachment); | 167 DISALLOW_COPY_AND_ASSIGN(TextureAttachment); |
| 159 }; | 168 }; |
| 160 | 169 |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 427 FramebufferManager::FramebufferInfo* framebuffer) { | 436 FramebufferManager::FramebufferInfo* framebuffer) { |
| 428 DCHECK(framebuffer); | 437 DCHECK(framebuffer); |
| 429 return framebuffer->framebuffer_complete_state_count_id() == | 438 return framebuffer->framebuffer_complete_state_count_id() == |
| 430 framebuffer_state_change_count_; | 439 framebuffer_state_change_count_; |
| 431 } | 440 } |
| 432 | 441 |
| 433 } // namespace gles2 | 442 } // namespace gles2 |
| 434 } // namespace gpu | 443 } // namespace gpu |
| 435 | 444 |
| 436 | 445 |
| OLD | NEW |