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(
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);
GrBackendObject handles[3] = {
skia::GrGLTextureInfoToGrBackendObject(source_textures[0]),
skia::GrGLTextureInfoToGrBackendObject(source_textures[1]),
skia::GrGLTextureInfoToGrBackendObject(source_textures[2])};
GrBackendTexture textures[3] = {
GrBackendTexture(ya_tex_size.width(), ya_tex_size.height(), config,
source_textures[0]),
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[] = {
{ya_tex_size.width(), ya_tex_size.height()},
......@@ -158,11 +165,11 @@ sk_sp<SkImage> NewSkImageFromVideoFrameYUVTextures(
sk_sp<SkImage> img;
if (video_frame->format() == PIXEL_FORMAT_NV12) {
img = SkImage::MakeFromNV12TexturesCopy(context_3d.gr_context, color_space,
handles, yuvSizes,
textures, yuvSizes,
kTopLeft_GrSurfaceOrigin);
} else {
img = SkImage::MakeFromYUVTexturesCopy(context_3d.gr_context, color_space,
handles, yuvSizes,
textures, yuvSizes,
kTopLeft_GrSurfaceOrigin);
}
for (size_t i = 0; i < video_frame->NumTextures(); ++i) {
......
......@@ -9,12 +9,7 @@
namespace skia {
// TODO(bsalomon): Remove both of these conversions when Skia bug 5019 is fixed.
inline GrBackendObject GrGLTextureInfoToGrBackendObject(
const GrGLTextureInfo& info) {
return reinterpret_cast<GrBackendObject>(&info);
}
// TODO(bsalomon): Remove this conversion when Skia bug 5019 is fixed.
inline const GrGLTextureInfo* GrBackendObjectToGrGLTextureInfo(
GrBackendObject 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