• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by gen_features.py using data from frontend_features.json.
3 //
4 // Copyright 2022 The ANGLE Project Authors. All rights reserved.
5 // Use of this source code is governed by a BSD-style license that can be
6 // found in the LICENSE file.
7 //
8 // FrontendFeatures_autogen.h: Features/workarounds for driver bugs and other behaviors seen
9 // on all platforms.
10 
11 #ifndef ANGLE_PLATFORM_AUTOGEN_FRONTENDFEATURES_H_
12 #define ANGLE_PLATFORM_AUTOGEN_FRONTENDFEATURES_H_
13 
14 #include "platform/Feature.h"
15 
16 namespace angle
17 {
18 
19 struct FrontendFeatures : FeatureSetBase
20 {
21     FrontendFeatures();
22     ~FrontendFeatures();
23 
24     FeatureInfo loseContextOnOutOfMemory = {
25         "loseContextOnOutOfMemory",
26         FeatureCategory::FrontendWorkarounds,
27         "Some users rely on a lost context notification if a GL_OUT_OF_MEMORY error occurs",
28         &members,
29     };
30 
31     FeatureInfo disableProgramCachingForTransformFeedback = {
32         "disableProgramCachingForTransformFeedback",
33         FeatureCategory::FrontendWorkarounds,
34         "On some GPUs, program binaries don't contain transform feedback varyings",
35         &members,
36     };
37 
38     FeatureInfo disableProgramBinary = {
39         "disableProgramBinary",
40         FeatureCategory::FrontendFeatures,
41         "Disable support for GL_OES_get_program_binary",
42         &members, "http://anglebug.com/5007"
43     };
44 
45     FeatureInfo disableDrawBuffersIndexed = {
46         "disableDrawBuffersIndexed",
47         FeatureCategory::FrontendFeatures,
48         "Disable support for OES_draw_buffers_indexed and EXT_draw_buffers_indexed",
49         &members, "http://anglebug.com/7724"
50     };
51 
52     FeatureInfo disableAnisotropicFiltering = {
53         "disableAnisotropicFiltering",
54         FeatureCategory::FrontendWorkarounds,
55         "Disable support for anisotropic filtering",
56         &members,
57     };
58 
59     FeatureInfo allowCompressedFormats = {
60         "allowCompressedFormats",
61         FeatureCategory::FrontendWorkarounds,
62         "Allow compressed formats",
63         &members,
64     };
65 
66     FeatureInfo singleThreadedTextureDecompression = {
67         "singleThreadedTextureDecompression",
68         FeatureCategory::FrontendWorkarounds,
69         "Disables multi-threaded decompression of compressed texture formats",
70         &members,
71     };
72 
73     FeatureInfo forceDepthAttachmentInitOnClear = {
74         "forceDepthAttachmentInitOnClear",
75         FeatureCategory::FrontendWorkarounds,
76         "Force depth attachment initialization on clear ops",
77         &members, "https://anglebug.com/7246"
78     };
79 
80     FeatureInfo enableCaptureLimits = {
81         "enableCaptureLimits",
82         FeatureCategory::FrontendFeatures,
83         "Set the context limits like frame capturing was enabled",
84         &members, "http://anglebug.com/5750"
85     };
86 
87     FeatureInfo forceRobustResourceInit = {
88         "forceRobustResourceInit",
89         FeatureCategory::FrontendFeatures,
90         "Force-enable robust resource init",
91         &members, "http://anglebug.com/6041"
92     };
93 
94     FeatureInfo forceInitShaderVariables = {
95         "forceInitShaderVariables",
96         FeatureCategory::FrontendFeatures,
97         "Force-enable shader variable initialization",
98         &members,
99     };
100 
101     FeatureInfo enableProgramBinaryForCapture = {
102         "enableProgramBinaryForCapture",
103         FeatureCategory::FrontendFeatures,
104         "Even if FrameCapture is enabled, enable GL_OES_get_program_binary",
105         &members, "http://anglebug.com/5658"
106     };
107 
108     FeatureInfo forceGlErrorChecking = {
109         "forceGlErrorChecking",
110         FeatureCategory::FrontendFeatures,
111         "Force GL error checking (i.e. prevent applications from disabling error checking",
112         &members, "https://issuetracker.google.com/220069903"
113     };
114 
115     FeatureInfo emulatePixelLocalStorage = {
116         "emulatePixelLocalStorage",
117         FeatureCategory::FrontendFeatures,
118         "Emulate ANGLE_shader_pixel_local_storage using shader images",
119         &members, "http://anglebug.com/7279"
120     };
121 
122     FeatureInfo cacheCompiledShader = {
123         "cacheCompiledShader",
124         FeatureCategory::FrontendFeatures,
125         "Enable to cache compiled shaders",
126         &members, "http://anglebug.com/7036"
127     };
128 
129     FeatureInfo dumpShaderSource = {
130         "dumpShaderSource",
131         FeatureCategory::FrontendFeatures,
132         "Write shader source to temp directory",
133         &members, "http://anglebug.com/7760"
134     };
135 
136     FeatureInfo enableShaderSubstitution = {
137         "enableShaderSubstitution",
138         FeatureCategory::FrontendWorkarounds,
139         "Check the filesystem for shaders to use instead of those provided through glShaderSource",
140         &members, "http://anglebug.com/7761"
141     };
142 
143     FeatureInfo disableProgramCaching = {
144         "disableProgramCaching",
145         FeatureCategory::FrontendFeatures,
146         "Disables saving programs to the cache",
147         &members, "http://anglebug.com/1423136"
148     };
149 
150     FeatureInfo dumpTranslatedShaders = {
151         "dumpTranslatedShaders",
152         FeatureCategory::FrontendFeatures,
153         "Write translated shaders to temp directory",
154         &members, "http://anglebug.com/8280"
155     };
156 
157     FeatureInfo enableTranslatedShaderSubstitution = {
158         "enableTranslatedShaderSubstitution",
159         FeatureCategory::FrontendWorkarounds,
160         "Check the filesystem for translated shaders to use instead of the shader translator's",
161         &members, "http://anglebug.com/8280"
162     };
163 
164 };
165 
166 inline FrontendFeatures::FrontendFeatures()  = default;
167 inline FrontendFeatures::~FrontendFeatures() = default;
168 
169 }  // namespace angle
170 
171 #endif  // ANGLE_PLATFORM_AUTOGEN_FRONTENDFEATURES_H_
172