Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(181)

Side by Side Diff: cc/layers/texture_layer_impl.cc

Issue 13870013: Pass texture target to CreateResourceFromExternalTexture (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 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 "cc/layers/texture_layer_impl.h" 5 #include "cc/layers/texture_layer_impl.h"
6 6
7 #include "base/stringprintf.h" 7 #include "base/stringprintf.h"
8 #include "cc/layers/quad_sink.h" 8 #include "cc/layers/quad_sink.h"
9 #include "cc/output/renderer.h" 9 #include "cc/output/renderer.h"
10 #include "cc/quads/texture_draw_quad.h" 10 #include "cc/quads/texture_draw_quad.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 } else { 61 } else {
62 texture_layer->set_texture_id(texture_id_); 62 texture_layer->set_texture_id(texture_id_);
63 } 63 }
64 } 64 }
65 65
66 void TextureLayerImpl::WillDraw(ResourceProvider* resource_provider) { 66 void TextureLayerImpl::WillDraw(ResourceProvider* resource_provider) {
67 if (uses_mailbox_ || !texture_id_) 67 if (uses_mailbox_ || !texture_id_)
68 return; 68 return;
69 DCHECK(!external_texture_resource_); 69 DCHECK(!external_texture_resource_);
70 external_texture_resource_ = 70 external_texture_resource_ =
71 resource_provider->CreateResourceFromExternalTexture(texture_id_); 71 resource_provider->CreateResourceFromExternalTexture(
72 GL_TEXTURE_2D,
73 texture_id_);
72 } 74 }
73 75
74 void TextureLayerImpl::AppendQuads(QuadSink* quad_sink, 76 void TextureLayerImpl::AppendQuads(QuadSink* quad_sink,
75 AppendQuadsData* append_quads_data) { 77 AppendQuadsData* append_quads_data) {
76 if (!external_texture_resource_) 78 if (!external_texture_resource_)
77 return; 79 return;
78 80
79 SharedQuadState* shared_quad_state = 81 SharedQuadState* shared_quad_state =
80 quad_sink->UseSharedQuadState(CreateSharedQuadState()); 82 quad_sink->UseSharedQuadState(CreateSharedQuadState());
81 AppendDebugBorderQuad(quad_sink, shared_quad_state, append_quads_data); 83 AppendDebugBorderQuad(quad_sink, shared_quad_state, append_quads_data);
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 } else if (external_texture_resource_) { 156 } else if (external_texture_resource_) {
155 DCHECK(!own_mailbox_); 157 DCHECK(!own_mailbox_);
156 ResourceProvider* resource_provider = 158 ResourceProvider* resource_provider =
157 layer_tree_impl()->resource_provider(); 159 layer_tree_impl()->resource_provider();
158 resource_provider->DeleteResource(external_texture_resource_); 160 resource_provider->DeleteResource(external_texture_resource_);
159 external_texture_resource_ = 0; 161 external_texture_resource_ = 0;
160 } 162 }
161 } 163 }
162 164
163 } // namespace cc 165 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698