Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(418)

Issue 2335903004: Fix SGI_video_sync cpu usage and rendering issues with Nvidia driver. (Closed)

Created:
4 years, 3 months ago by sunnyps
Modified:
4 years, 3 months ago
CC:
chromium-reviews
Target Ref:
refs/pending/branch-heads/2840
Project:
chromium
Visibility:
Public.

Description

Fix SGI_video_sync cpu usage and rendering issues with Nvidia driver. Using the GLX_SGI_video_sync extension has caused high cpu usage and rendering problems. The cpu usage was worked around by throttling the use of the extension to once every 5 seconds. The rendering problems started happening with Nvidia driver 361.42 and was being worked around by not using the extension. This CL fixes both problems by doing the following: 1. Using a separate unmapped child window (and GLX drawable) for use with SGI_video_sync. 2. Create a dummy unmapped window on both the main X Display and the video sync Display before the sandbox is set up. 3. Whitelist the Nvidia device files that are opened after the sandbox is set up. This CL also makes all vsync providers use a single GLXContext because there's only one thread that's used for all of them. R=piman@chromium.org,rickyz@chromium.org BUG=636644, 483721 TEST=manual testing with i3 wm (no compositing) Review-Url: https://codereview.chromium.org/2291373002 Cr-Commit-Position: refs/heads/master@{#417747} (cherry picked from commit ffc0e467329470df9c2da085d133d59cc8ae2414)

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+142 lines, -93 lines) Patch
M content/common/sandbox_linux/bpf_gpu_policy_linux.cc View 6 chunks +36 lines, -18 lines 0 comments Download
M ui/gl/gl_surface_glx.cc View 17 chunks +106 lines, -75 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
sunnyps
4 years, 3 months ago (2016-09-13 18:22:33 UTC) #1
Message was sent while issue was closed.
Committed patchset #1 (id:1) to pending queue manually as
edb9272179079049476f9d97d72983297a389959.

Powered by Google App Engine
This is Rietveld 408576698