ScalerImpl::Execute: Don't assume what texture unit is active
This code assumed texture unit 0 was active. In fact, sometimes the current texture unit is different; in this case, the active texture unit was 2, because Skia set it here: gpu::gles2::GLES2Implementation::ActiveTexture(unsigned int) skia_bindings::GLES2ImplementationWithGrContextSupport::ActiveTexture(unsigned int) GrGLFunction<void (unsigned int)>::GrGLFunction<GrGLFunction<void (unsigned int)> (anonymous namespace)::gles_bind<void, unsigned int>(void (gpu::gles2::GLES2Interface::*)(unsigned int), gpu::gles2::GLES2Interface*, gpu::ContextSupport*)::'lambda'(unsigned int)>(void)::'lambda'(void const*, unsigned int)::__invoke(void const*, unsigned int) GrGLGpu::setTextureUnit(int) GrGLGpu::bindTexture(int, GrSamplerState, GrSwizzle const&, GrGLTexture*) _ZNSt4__Cr10__function16__policy_invokerIFvRK15GrTextureEffectEE11__call_implINS0_20__default_alloc_funcIZN11GrGLProgram12bindTexturesERK20GrPrimitiveProcessorPKPK14GrSurfaceProxyRK10GrPipelineE3$_1S5_EEEEvPKNS0_16__policy_storageES4_ GrFragmentProcessor::visitTextureEffects(std::__Cr::function<void (GrTextureEffect const&)> const&) const GrFragmentProcessor::visitTextureEffects(std::__Cr::function<void (GrTextureEffect const&)> const&) const GrFragmentProcessor::visitTextureEffects(std::__Cr::function<void (GrTextureEffect const&)> const&) const GrPipeline::visitTextureEffects(std::__Cr::function<void (GrTextureEffect const&)> const&) const GrGLProgram::bindTextures(GrPrimitiveProcessor const&, GrSurfaceProxy const* const*, GrPipeline const&) GrGLOpsRenderPass::onBindTextures(GrPrimitiveProcessor const&, GrSurfaceProxy const* const*, GrPipeline const&) GrOpsRenderPass::bindTextures(GrPrimitiveProcessor const&, GrSurfaceProxy const* const*, GrPipeline const&) (anonymous namespace)::FillRectOp::onExecute(GrOpFlushState*, SkRect const&) GrOp::execute(GrOpFlushState*, SkRect const&) GrOpsTask::onExecute(GrOpFlushState*) GrDrawingManager::executeRenderTasks(int, int, GrOpFlushState*, int*) GrDrawingManager::flush(GrSurfaceProxy**, int, SkSurface::BackendSurfaceAccess, GrFlushInfo const&, GrBackendSurfaceMutableState const*) GrDirectContext::flush(GrFlushInfo const&) media::VideoFrameYUVConverter::ConvertFromVideoFrameYUVSkia(media::VideoFrame const*, viz::RasterContextProvider*, unsigned int, unsigned int) media::VideoFrameYUVConverter::ConvertFromVideoFrameYUVWithGrContext(media::VideoFrame const*, viz::RasterContextProvider*, gpu::MailboxHolder const&) media::VideoFrameYUVConverter::ConvertYUVVideoFrame(media::VideoFrame const*, viz::RasterContextProvider*, gpu::MailboxHolder const&) media::PaintCanvasVideoRenderer::CopyVideoFrameYUVDataToGLTexture(viz::RasterContextProvider*, gpu::gles2::GLES2Interface*, media::VideoFrame const&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, int, bool, bool) blink::WebMediaPlayerMS::CopyVideoYUVDataToPlatformTexture(gpu::gles2::GLES2Interface*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, int, bool, bool, int, blink::WebMediaPlayer::VideoFrameUploadMetadata*) non-virtual thunk to blink::WebMediaPlayerMS::CopyVideoYUVDataToPlatformTexture(gpu::gles2::GLES2Interface*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, int, bool, bool, int, blink::WebMediaPlayer::VideoFrameUploadMetadata*) blink::WebGLRenderingContextBase::TexImageHelperHTMLVideoElement(blink::SecurityOrigin const*, blink::WebGLRenderingContextBase::TexImageFunctionID, unsigned int, int, int, unsigned int, unsigned int, int, int, int, blink::HTMLVideoElement*, blink::IntRect const&, int, int, blink::ExceptionState&) blink::WebGLRenderingContextBase::texImage2D(blink::ExecutionContext*, unsigned int, int, int, unsigned int, unsigned int, blink::HTMLVideoElement*, blink::ExceptionState&) blink::WebGL2RenderingContextBase::texImage2D(blink::ExecutionContext*, unsigned int, int, int, unsigned int, unsigned int, blink::HTMLVideoElement*, blink::ExceptionState&) Bug: 1103385 Change-Id: I3a4bdd41613de448effcaa676870b60d7190cb64 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2522119 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by:Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#825000}
Showing
Please register or sign in to comment