1 //
2 // Copyright (c) 2016 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 
7 // Workarounds.h: Workarounds for driver bugs and other behaviors seen
8 // on all platforms.
9 
10 #ifndef LIBANGLE_WORKAROUNDS_H_
11 #define LIBANGLE_WORKAROUNDS_H_
12 
13 namespace gl
14 {
15 
16 struct Workarounds
17 {
18     // Force the context to be lost (via KHR_robustness) if a GL_OUT_OF_MEMORY error occurs. The
19     // driver may be in an inconsistent state if this happens, and some users of ANGLE rely on this
20     // notification to prevent further execution.
21     bool loseContextOnOutOfMemory = false;
22 
23     // Program binaries don't contain transform feedback varyings on Qualcomm GPUs.
24     // Work around this by disabling the program cache for programs with transform feedback.
25     bool disableProgramCachingForTransformFeedback = false;
26 };
27 }  // namespace gl
28 
29 #endif  // LIBANGLE_WORKAROUNDS_H_
30