New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 601753 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Framebuffer discard should probably be disabled for NVIDIA, Linux, ChromeOS, Android

Project Member Reported by kkinnu...@nvidia.com, Apr 8 2016

Issue description

EXT_framebuffer_discard should probably be disabled for modern NVIDIA devices. It probably does not have an effect in many cases.

There also was a bug in framebuffer discard that would lock up the
system, if it was done on framebuffer with mixed samples (N:M, N != M,
N=color samples, M=stencil samples). The bug was fixed ~year ago. This would come up when GPU rasterization would use NVPR and mixed samples.
Due to branching and organizational complexities, determining the exact driver numbers that the fix ships in would be cumbersome.
 
On windows, it was disabled in  bug 570897 .

 
Cc: zmo@chromium.org
If it's needed, I can of course dig the driver version numbers. It would take quite some time, so I'd prefer not to, as the extension is anyway disabled on Windows, for example.

Comment 2 by zmo@chromium.org, Apr 8 2016

Cc: kbr@chromium.org piman@chromium.org siev...@chromium.org vmi...@chromium.org
My main concern is the perf regression on the platforms where it does have an effect, especially on Android.
So it's already disabled on all of Windows and CrOS (looks like because of Mali somebody disabled it on all of CrOS), and on many Android drivers.

Are you suggesting to disable it for all of NVIDIA also?
Maybe there is also something else that's conservative and we could use to avoid the driver version based blacklist where we know the drivers are good (like Android releases, or OSes).

Of course you'd know better if it's not worth it and the performance benefits are not interesting, which you original comment seems to suggest :)

Then we can just filter by NVIDIA.

On a related note: The 'disable_discard_framebuffer' blacklisting logic has become a bit unwieldy.
It's only for NVIDIA, newer chips.
The feature disable exists for Windows. If the rationale is correct, it should exist for all platforms for the similar HW.

The code is in:
https://codereview.chromium.org/1873763002/
Project Member

Comment 6 by bugdroid1@chromium.org, Apr 14 2016

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

commit a5ef831af7c5f339a22dcefac50f9bdae8788c36
Author: kkinnunen <kkinnunen@nvidia.com>
Date: Thu Apr 14 12:41:54 2016

gpu: Disable framebuffer discard on NVIDIA, Android, ChromeOS and Linux

Disable framebuffer discard on NVIDIA devices. "Kepler" architecture is
non-tiling for the most part, and does not benefit greatly from
framebuffer discard.

There also was a bug in framebuffer discard that would lock up the
system, if it was done on framebuffer with mixed samples (N:M, N != M,
N=color samples, M=stencil samples). The bug was fixed ~year ago.

Disable it for "Kepler" based devices by filtering with GLES 3.0 and
later versions. Devices with chips of earlier architectures will
probably not get GLES 3.0.

Add so many entries:
1) Disable on Linux GL devices (imitate disabling on desktop Windows
   rule)
2) Disable on Linux GLES 3.0 devices
3) Disable on ChromeOS GLES 3.0 devices
4) Disable on Android GLES 3.0 devices

BUG= 601753 
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel

Review URL: https://codereview.chromium.org/1873763002

Cr-Commit-Position: refs/heads/master@{#387294}

[modify] https://crrev.com/a5ef831af7c5f339a22dcefac50f9bdae8788c36/gpu/config/gpu_driver_bug_list_json.cc

Labels: -Needs-Feedback
Status: Fixed (was: Started)

Sign in to add a comment