New issue
Advanced search Search tips
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
link

Issue 900941: Support virtualized gl context with SkiaRenderer + SkDDL

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

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.
 

Comment 1 by rjkroege@chromium.org, Nov 1

Labels: Proj-Vulkanize

Comment 2 by vmi...@chromium.org, Nov 2

Labels: -Type-Bug Type-Feature
Status: Assigned (was: Untriaged)

Comment 3 by rjkroege@chromium.org, Nov 6

Blocking: -899750 644851

Comment 4 by bugdroid1@chromium.org, Nov 9

Project Member
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

Comment 6 by penghuang@chromium.org, Dec 13

Blockedon: 914495

Comment 7 by penghuang@chromium.org, Jan 16

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