disable_chromium_framebuffer_multisample not working well with WebGL |
|||
Issue description
Chrome Version: 71.0.3576.0 (locally built content_shell)
OS: Linux
What steps will reproduce the problem?
(1) Enable the disable_chromium_framebuffer_multisample workaround, only way I've managed to do that is to manually add an entry to gpu/config/gpu_driver_bug_list.json [1].
(2) Build content_shell
(3) Run: ./content_shell 'data:text/html,<!doctype html><script>document.write("gl.getError(): " + document.createElement("canvas").getContext("webgl").getError())</script>'
What is the expected result?
getError() should return 0 when the context is just created.
What happens instead?
It returns 1280 and I get the following error in the log:
ERROR:gles2_cmd_decoder_autogen.h(1606)] [.WebGL-0x3514c3c61500]GL ERROR :GL_INVALID_ENUM : glGetIntegerv: pname was GL_MAX_SAMPLES_ANGLE
Additional information:
The problem was introduced by https://chromium-review.googlesource.com/1075167, more specifically by the change in third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc that moved gl_->GetIntegerv(GL_MAX_SAMPLES_ANGLE, &max_sample_count); out from the use_multisampling if clause.
Not sure if it is as simple as moving it back into that clause or if there are other issues with that.
[1]
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
index 632fb8ec039c..ab904dc074ee 100644
--- a/gpu/config/gpu_driver_bug_list.json
+++ b/gpu/config/gpu_driver_bug_list.json
@@ -3024,6 +3024,13 @@
"features": [
"disable_overlay_ca_layers"
]
+ },
+ {
+ "id": 5000,
+ "description": "test",
+ "features": [
+ "disable_chromium_framebuffer_multisample"
+ ]
}
]
}
,
Oct 11
Thanks for reporting this. Your analysis is right. It's a bug caused by my CL. I should have done GL_MAX_SAMPLES_ANGLE query only if the extension is available.
,
Oct 12
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/87da10ae482f4ee7efea00cb0e25ed51af997df6 commit 87da10ae482f4ee7efea00cb0e25ed51af997df6 Author: jchen10 <jie.a.chen@intel.com> Date: Fri Oct 12 20:46:00 2018 Fix GL_MAX_SAMPLES_ANGLE query Only query it if the extension is enabled. Bug: 894049 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I5c2be0c41c2361ef06381a7e73c2025baa63e191 Reviewed-on: https://chromium-review.googlesource.com/c/1275299 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#599340} [modify] https://crrev.com/87da10ae482f4ee7efea00cb0e25ed51af997df6/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc
,
Oct 12
This should be fixed now. The fix will show up on Chrome Canary first.
,
Oct 15
Verified, works like a charm, thanks. |
|||
►
Sign in to add a comment |
|||
Comment 1 by kbr@chromium.org
, Oct 10Owner: jie.a.c...@intel.com
Status: Assigned (was: Untriaged)