Flutter Engine
 
Loading...
Searching...
No Matches
workarounds_vk.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_WORKAROUNDS_VK_H_
6#define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_WORKAROUNDS_VK_H_
7
9
10namespace impeller {
11
12/// A non-exhaustive set of driver specific workarounds.
14 // Adreno GPUs exhibit terrible performance when primitive
15 // restart is used. This was confirmed up to Adreno 640 (Pixel 4).
16 // Because this feature is fairly marginal, we disable it for _all_
17 // Adreno GPUs until we have an upper bound for this bug.
19
20 /// Early 600 series Adreno drivers would deadlock if a command
21 /// buffer submission had too much work attached to it, this
22 /// requires the renderer to split up command buffers that could
23 /// be logically combined.
25
26 /// On older 600 Series Adreno the input attachment / self dependency
27 /// cycle for programmable blending is broken.
28 ///
29 /// Also broken on newer PowerVR.
31
32 /// Almost all Adreno series GPU (from 600 up to 800) have problems
33 /// generating mipmaps, resulting in corruption of the mip levels.
34 /// See:
35 /// * https://github.com/flutter/flutter/issues/160441
36 /// * https://github.com/flutter/flutter/issues/159876
37 /// * https://github.com/flutter/flutter/issues/160587
39};
40
42
43} // namespace impeller
44
45#endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_WORKAROUNDS_VK_H_
Get information about the Vulkan driver.
WorkaroundsVK GetWorkaroundsFromDriverInfo(DriverInfoVK &driver_info)
A non-exhaustive set of driver specific workarounds.