Index: cc/output/gl_renderer.cc |
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc |
index f0ea96c1e0bc77904afc00f8593f0966f954d133..93ba47e7bf1c8bf775dfee26c5c84cb6e7c09bbc 100644 |
--- a/cc/output/gl_renderer.cc |
+++ b/cc/output/gl_renderer.cc |
@@ -50,6 +50,7 @@ |
#include "third_party/skia/include/gpu/GrTexture.h" |
#include "third_party/skia/include/gpu/GrTextureProvider.h" |
#include "third_party/skia/include/gpu/gl/GrGLInterface.h" |
+#include "third_party/skia/include/gpu/gl/GrGLTypes.h" |
#include "ui/gfx/geometry/quad_f.h" |
#include "ui/gfx/geometry/rect_conversions.h" |
@@ -615,11 +616,15 @@ static skia::RefPtr<SkImage> ApplyImageFilter( |
// Wrap the source texture in a Ganesh platform texture. |
GrBackendTextureDesc backend_texture_description; |
+ GrGLTextureInfo texture_info; |
+ texture_info.fTarget = lock.target(); |
+ texture_info.fID = lock.texture_id(); |
backend_texture_description.fWidth = source_texture_resource->size().width(); |
backend_texture_description.fHeight = |
source_texture_resource->size().height(); |
backend_texture_description.fConfig = kSkia8888_GrPixelConfig; |
- backend_texture_description.fTextureHandle = lock.texture_id(); |
+ backend_texture_description.fTextureHandle = |
+ reinterpret_cast<GrBackendObject>(&texture_info); |
backend_texture_description.fOrigin = kBottomLeft_GrSurfaceOrigin; |
skia::RefPtr<SkImage> srcImage = skia::AdoptRef(SkImage::NewFromTexture( |
@@ -927,7 +932,9 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
background_image = |
ApplyBackgroundFilters(frame, quad, background_texture.get()); |
if (background_image) |
- background_image_id = background_image->getTextureHandle(true); |
+ background_image_id = reinterpret_cast<const GrGLTextureInfo*>( |
+ background_image->getTextureHandle(true)) |
+ ->fID; |
DCHECK(background_image_id); |
} |
} |
@@ -983,7 +990,9 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
ScopedUseGrContext::Create(this, frame), resource_provider_, |
quad->rect, quad->filters_scale, filter.get(), contents_texture); |
if (filter_image) { |
- filter_image_id = filter_image->getTextureHandle(true); |
+ filter_image_id = reinterpret_cast<const GrGLTextureInfo*>( |
+ filter_image->getTextureHandle(true)) |
+ ->fID; |
DCHECK(filter_image_id); |
} |
} |