New issue
Advanced search Search tips

Issue 900941 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 16
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Feature

Blocked on:
issue 914495

Blocking:
issue 644851



Sign in to add a comment

Support virtualized gl context with SkiaRenderer + SkDDL

Project Member Reported by penghuang@chromium.org, Nov 1

Issue description

For some driver issue, chrome is using virtualized gl context for Mac, most android devices and Linux with Nvidia video card. With SkiaRenderer + SkDDL, chrome shares one GL context between all raster decoders and display compositor. So in most case, we just create one gl context. However, if users are visiting WebGL pages, chrome will create more than one GL contexts. So we need support virtualized gl context.
 
Labels: Proj-Vulkanize
Labels: -Type-Bug Type-Feature
Status: Assigned (was: Untriaged)
Blocking: -899750 644851
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bea0d6b3c467e05183fb88d06a829a6d7e7d136a

commit bea0d6b3c467e05183fb88d06a829a6d7e7d136a
Author: Peng Huang <penghuang@chromium.org>
Date: Fri Nov 09 10:03:03 2018

Move context state related methods out of DecoderContext

This CL adds a new GLContextVirtualDelegate interface to contain all
context state related methods from DecoderContext. After this one, I am
going to implement GLContextVirtualDelegate in RasterDecoderContextState
and only create one GLContextVirtual for all raster decoder and display
compositor.

Bug:  900941 ,  902904 
Change-Id: I10d80bea8531885c449a2e676ce0552e9363b34c
Reviewed-on: https://chromium-review.googlesource.com/c/1312338
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606777}
[modify] https://crrev.com/bea0d6b3c467e05183fb88d06a829a6d7e7d136a/gpu/command_buffer/service/BUILD.gn
[modify] https://crrev.com/bea0d6b3c467e05183fb88d06a829a6d7e7d136a/gpu/command_buffer/service/decoder_context.h
[modify] https://crrev.com/bea0d6b3c467e05183fb88d06a829a6d7e7d136a/gpu/command_buffer/service/gl_context_virtual.cc
[modify] https://crrev.com/bea0d6b3c467e05183fb88d06a829a6d7e7d136a/gpu/command_buffer/service/gl_context_virtual.h
[add] https://crrev.com/bea0d6b3c467e05183fb88d06a829a6d7e7d136a/gpu/command_buffer/service/gl_context_virtual_delegate.h
[modify] https://crrev.com/bea0d6b3c467e05183fb88d06a829a6d7e7d136a/gpu/command_buffer/service/gl_state_restorer_impl.cc
[modify] https://crrev.com/bea0d6b3c467e05183fb88d06a829a6d7e7d136a/gpu/command_buffer/service/gl_state_restorer_impl.h
[modify] https://crrev.com/bea0d6b3c467e05183fb88d06a829a6d7e7d136a/gpu/command_buffer/service/raster_decoder.cc
[modify] https://crrev.com/bea0d6b3c467e05183fb88d06a829a6d7e7d136a/gpu/command_buffer/service/raster_decoder_context_state.cc
[modify] https://crrev.com/bea0d6b3c467e05183fb88d06a829a6d7e7d136a/gpu/command_buffer/service/raster_decoder_context_state.h
[modify] https://crrev.com/bea0d6b3c467e05183fb88d06a829a6d7e7d136a/gpu/command_buffer/service/wrapped_sk_image.cc

Blockedon: 914495

Comment 7 by penghuang@chromium.org, Jan 16 (6 days ago)

Status: Fixed (was: Assigned)
I think this issue has been fixed. Next, we will remove GLContextVirtual and make decoders, display compositor, etc to use GLContext directly. I will file a new issue for it.

Sign in to add a comment