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

Unified Diff: cc/output/gl_renderer.cc

Issue 13445009: cc: Move video upload to VideoResourceUpdater. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: consume textures that were produced 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/output/delegating_renderer_unittest.cc ('k') | cc/quads/draw_quad_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/gl_renderer.cc
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc
index d449ee7cd703d8deb735859c0b3180f1ebccee5a..14b53657f8f8e4f743ff2de81fd729e90b33aee6 100644
--- a/cc/output/gl_renderer.cc
+++ b/cc/output/gl_renderer.cc
@@ -1342,19 +1342,15 @@ void GLRenderer::DrawYUVVideoQuad(const DrawingFrame* frame,
const VideoYUVProgram* program = GetVideoYUVProgram(texCoordPrecision);
DCHECK(program && (program->initialized() || IsContextLost()));
- const VideoLayerImpl::FramePlane& y_plane = quad->y_plane;
- const VideoLayerImpl::FramePlane& u_plane = quad->u_plane;
- const VideoLayerImpl::FramePlane& v_plane = quad->v_plane;
-
GLC(Context(), Context()->activeTexture(GL_TEXTURE1));
ResourceProvider::ScopedSamplerGL y_plane_lock(
- resource_provider_, y_plane.resource_id, GL_TEXTURE_2D, GL_LINEAR);
+ resource_provider_, quad->y_plane_resource_id, GL_TEXTURE_2D, GL_LINEAR);
GLC(Context(), Context()->activeTexture(GL_TEXTURE2));
ResourceProvider::ScopedSamplerGL u_plane_lock(
- resource_provider_, u_plane.resource_id, GL_TEXTURE_2D, GL_LINEAR);
+ resource_provider_, quad->u_plane_resource_id, GL_TEXTURE_2D, GL_LINEAR);
GLC(Context(), Context()->activeTexture(GL_TEXTURE3));
ResourceProvider::ScopedSamplerGL v_plane_lock(
- resource_provider_, v_plane.resource_id, GL_TEXTURE_2D, GL_LINEAR);
+ resource_provider_, quad->v_plane_resource_id, GL_TEXTURE_2D, GL_LINEAR);
SetUseProgram(program->program());
@@ -1424,8 +1420,10 @@ void GLRenderer::DrawStreamVideoQuad(const DrawingFrame* frame,
Context()->uniformMatrix4fv(
program->vertex_shader().tex_matrix_location(), 1, false, gl_matrix));
+ ResourceProvider::ScopedReadLockGL lock(resource_provider_,
+ quad->resource_id);
GLC(Context(),
- Context()->bindTexture(GL_TEXTURE_EXTERNAL_OES, quad->texture_id));
+ Context()->bindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id()));
GLC(Context(),
Context()->uniform1i(program->fragment_shader().sampler_location(), 0));
@@ -1722,9 +1720,11 @@ void GLRenderer::DrawIOSurfaceQuad(const DrawingFrame* frame,
Context()->uniform1fv(
binding.vertex_opacity_location, 4, vertex_opacity));
+ ResourceProvider::ScopedReadLockGL lock(resource_provider_,
+ quad->io_surface_resource_id);
GLC(Context(),
Context()->bindTexture(GL_TEXTURE_RECTANGLE_ARB,
- quad->io_surface_texture_id));
+ lock.texture_id()));
DrawQuadGeometry(
frame, quad->quadTransform(), quad->rect, binding.matrix_location);
« no previous file with comments | « cc/output/delegating_renderer_unittest.cc ('k') | cc/quads/draw_quad_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698