Commit e36850e1 authored by Robert Phillips's avatar Robert Phillips Committed by Commit Bot

Switch to using GrBackendTextures in MakeFromYUVTexturesCopy calls

GrBackendObject is deprecated and going away in Skia so switch to its
replacement: GrBackendTexture.

This does rely on the following Skia CL having rolled into Chrome:
    https://skia-review.googlesource.com/c/skia/+/82823 (Update SkImage::MakeFromYUVTexturesCopy to GrBackendTexture)

Change-Id: I3a6445ac44d4799ce6f4d10d1ff19cda6743f955
Reviewed-on: https://chromium-review.googlesource.com/824563Reviewed-by: default avatarChrome Cunningham <chcunningham@chromium.org>
Reviewed-by: default avatarBrian Salomon <bsalomon@chromium.org>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Cr-Commit-Position: refs/heads/master@{#524128}
parent 8c29b757
...@@ -137,11 +137,18 @@ sk_sp<SkImage> NewSkImageFromVideoFrameYUVTextures( ...@@ -137,11 +137,18 @@ sk_sp<SkImage> NewSkImageFromVideoFrameYUVTextures(
source_textures[i].fTarget = GL_TEXTURE_2D; source_textures[i].fTarget = GL_TEXTURE_2D;
} }
} }
GrPixelConfig config = video_frame->format() == PIXEL_FORMAT_NV12
? kRGBA_8888_GrPixelConfig
: kAlpha_8_GrPixelConfig;
context_3d.gr_context->resetContext(kTextureBinding_GrGLBackendState); context_3d.gr_context->resetContext(kTextureBinding_GrGLBackendState);
GrBackendObject handles[3] = { GrBackendTexture textures[3] = {
skia::GrGLTextureInfoToGrBackendObject(source_textures[0]), GrBackendTexture(ya_tex_size.width(), ya_tex_size.height(), config,
skia::GrGLTextureInfoToGrBackendObject(source_textures[1]), source_textures[0]),
skia::GrGLTextureInfoToGrBackendObject(source_textures[2])}; GrBackendTexture(uv_tex_size.width(), uv_tex_size.height(), config,
source_textures[1]),
GrBackendTexture(uv_tex_size.width(), uv_tex_size.height(), config,
source_textures[2]),
};
SkISize yuvSizes[] = { SkISize yuvSizes[] = {
{ya_tex_size.width(), ya_tex_size.height()}, {ya_tex_size.width(), ya_tex_size.height()},
...@@ -158,11 +165,11 @@ sk_sp<SkImage> NewSkImageFromVideoFrameYUVTextures( ...@@ -158,11 +165,11 @@ sk_sp<SkImage> NewSkImageFromVideoFrameYUVTextures(
sk_sp<SkImage> img; sk_sp<SkImage> img;
if (video_frame->format() == PIXEL_FORMAT_NV12) { if (video_frame->format() == PIXEL_FORMAT_NV12) {
img = SkImage::MakeFromNV12TexturesCopy(context_3d.gr_context, color_space, img = SkImage::MakeFromNV12TexturesCopy(context_3d.gr_context, color_space,
handles, yuvSizes, textures, yuvSizes,
kTopLeft_GrSurfaceOrigin); kTopLeft_GrSurfaceOrigin);
} else { } else {
img = SkImage::MakeFromYUVTexturesCopy(context_3d.gr_context, color_space, img = SkImage::MakeFromYUVTexturesCopy(context_3d.gr_context, color_space,
handles, yuvSizes, textures, yuvSizes,
kTopLeft_GrSurfaceOrigin); kTopLeft_GrSurfaceOrigin);
} }
for (size_t i = 0; i < video_frame->NumTextures(); ++i) { for (size_t i = 0; i < video_frame->NumTextures(); ++i) {
......
...@@ -9,12 +9,7 @@ ...@@ -9,12 +9,7 @@
namespace skia { namespace skia {
// TODO(bsalomon): Remove both of these conversions when Skia bug 5019 is fixed. // TODO(bsalomon): Remove this conversion when Skia bug 5019 is fixed.
inline GrBackendObject GrGLTextureInfoToGrBackendObject(
const GrGLTextureInfo& info) {
return reinterpret_cast<GrBackendObject>(&info);
}
inline const GrGLTextureInfo* GrBackendObjectToGrGLTextureInfo( inline const GrGLTextureInfo* GrBackendObjectToGrGLTextureInfo(
GrBackendObject object) { GrBackendObject object) {
return reinterpret_cast<const GrGLTextureInfo*>(object); return reinterpret_cast<const GrGLTextureInfo*>(object);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment