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.h: Features/workarounds for driver bugs and other behaviors seen 9 // on all platforms. 10 11 #ifndef ANGLE_PLATFORM_FRONTENDFEATURES_H_ 12 #define ANGLE_PLATFORM_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 scalarizeVecAndMatConstructorArgs = { 39 "scalarizeVecAndMatConstructorArgs", FeatureCategory::FrontendWorkarounds, 40 "Always rewrite vec/mat constructors to be consistent", &members, 41 "http://crbug.com/1165751"}; 42 43 FeatureInfo disableProgramBinary = {"disableProgramBinary", FeatureCategory::FrontendFeatures, 44 "Disable support for GL_OES_get_program_binary", &members, 45 "http://anglebug.com/5007"}; 46 47 FeatureInfo disableAnisotropicFiltering = { 48 "disableAnisotropicFiltering", 49 FeatureCategory::FrontendWorkarounds, 50 "Disable support for anisotropic filtering", 51 &members, 52 }; 53 54 FeatureInfo allowCompressedFormats = { 55 "allowCompressedFormats", 56 FeatureCategory::FrontendWorkarounds, 57 "Allow compressed formats", 58 &members, 59 }; 60 61 FeatureInfo enableCaptureLimits = {"enableCaptureLimits", FeatureCategory::FrontendFeatures, 62 "Set the context limits like frame capturing was enabled", 63 &members, "http://anglebug.com/5750"}; 64 65 FeatureInfo enableCompressingPipelineCacheInThreadPool = { 66 "enableCompressingPipelineCacheInThreadPool", FeatureCategory::FrontendWorkarounds, 67 "Enable compressing pipeline cache in thread pool.", &members, "http://anglebug.com/4722"}; 68 69 FeatureInfo forceRobustResourceInit = { 70 "forceRobustResourceInit", FeatureCategory::FrontendFeatures, 71 "Force-enable robust resource init", &members, "http://anglebug.com/6041"}; 72 73 FeatureInfo forceInitShaderVariables = { 74 "forceInitShaderVariables", 75 FeatureCategory::FrontendFeatures, 76 "Force-enable shader variable initialization", 77 &members, 78 }; 79 80 FeatureInfo enableProgramBinaryForCapture = { 81 "enableProgramBinaryForCapture", FeatureCategory::FrontendFeatures, 82 "Even if FrameCapture is enabled, enable GL_OES_get_program_binary", &members, 83 "http://anglebug.com/5658"}; 84 85 FeatureInfo forceGlErrorChecking = { 86 "forceGlErrorChecking", FeatureCategory::FrontendFeatures, 87 "Force GL error checking (i.e. prevent applications from disabling error checking", 88 &members, "https://issuetracker.google.com/220069903"}; 89 }; 90 91 inline FrontendFeatures::FrontendFeatures() = default; 92 inline FrontendFeatures::~FrontendFeatures() = default; 93 94 } // namespace angle 95 96 #endif // ANGLE_PLATFORM_FRONTENDFEATURES_H_ 97