|
Reland "gpu: Fix Vivante's "hisilicon" GPUs"
This fixes "Hisilicon" GPUs, which is an instance of a
Vivante's GPU design. This involves enabling virtual
contexts, since they don't support share-groups, and further
adds a work-around for switching surfaces. Without the work-
around the view surface "inherits" the size of the last
bound surface (which for Chrome tends to be a 1x1 pbuffer)
resulting in a black screen. The following steps "repair"
the view surface every time it is made current:
- Make it current.
- Bind the default frame-buffer.
- Make it not current.
- Destroy/recreate it from the native handle.
- Make it current again.
NOTE: The "Recreate" function is added to surface because
the Destroy/Initialize may be intercepted or modified by
wrapper surface classes. Recreate is similar to resize,
which after being forwarded by a wrapper can call
Destroy/Initialize on the 'real' surface.
BUG= 179250
NOTRY=true
No-try, as all the relevant bots are already green.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=195349
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+103 lines, -2 lines) |
Patch |
 |
M |
content/gpu/gpu_info_collector_android.cc
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/feature_info.cc
|
View
|
|
3 chunks |
+5 lines, -0 lines |
1 comment
|
Download
|
 |
M |
gpu/command_buffer/service/gl_context_virtual.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gl_context_virtual.cc
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder.cc
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gpu_driver_bug_workaround_type.h
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/gl/gl_context.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/gl/gl_context.cc
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/gl/gl_context_egl.h
|
View
|
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/gl/gl_context_egl.cc
|
View
|
|
3 chunks |
+47 lines, -1 line |
0 comments
|
Download
|
 |
M |
ui/gl/gl_surface.h
|
View
|
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/gl/gl_surface.cc
|
View
|
|
2 chunks |
+9 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/gl/gl_surface_egl.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
ui/gl/gl_surface_egl.cc
|
View
|
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
Total messages: 7 (0 generated)
|