1 // GENERATED FILE - DO NOT EDIT. 2 // Generated by gen_features.py using data from d3d_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 // FeaturesD3D_autogen.h: Features and workarounds for D3D driver bugs and other issues. 9 10 #ifndef ANGLE_PLATFORM_AUTOGEN_FEATURESD3D_H_ 11 #define ANGLE_PLATFORM_AUTOGEN_FEATURESD3D_H_ 12 13 #include "platform/Feature.h" 14 15 namespace angle 16 { 17 18 struct FeaturesD3D : FeatureSetBase 19 { 20 FeaturesD3D(); 21 ~FeaturesD3D(); 22 23 FeatureInfo borderColorSrgb = { 24 "borderColorSrgb", 25 FeatureCategory::D3DWorkarounds, 26 &members, 27 }; 28 29 FeatureInfo mrtPerfWorkaround = { 30 "mrtPerfWorkaround", 31 FeatureCategory::D3DWorkarounds, 32 &members, 33 }; 34 35 FeatureInfo setDataFasterThanImageUpload = { 36 "setDataFasterThanImageUpload", 37 FeatureCategory::D3DWorkarounds, 38 &members, 39 }; 40 41 FeatureInfo zeroMaxLodWorkaround = { 42 "zeroMaxLodWorkaround", 43 FeatureCategory::D3DWorkarounds, 44 &members, 45 }; 46 47 FeatureInfo depthStencilBlitExtraCopy = { 48 "depthStencilBlitExtraCopy", 49 FeatureCategory::D3DWorkarounds, 50 &members, 51 }; 52 53 FeatureInfo expandIntegerPowExpressions = { 54 "expandIntegerPowExpressions", 55 FeatureCategory::D3DWorkarounds, 56 &members, 57 }; 58 59 FeatureInfo flushAfterEndingTransformFeedback = { 60 "flushAfterEndingTransformFeedback", 61 FeatureCategory::D3DWorkarounds, 62 &members, 63 }; 64 65 FeatureInfo getDimensionsIgnoresBaseLevel = { 66 "getDimensionsIgnoresBaseLevel", 67 FeatureCategory::D3DWorkarounds, 68 &members, 69 }; 70 71 FeatureInfo preAddTexelFetchOffsets = { 72 "preAddTexelFetchOffsets", 73 FeatureCategory::D3DWorkarounds, 74 &members, 75 }; 76 77 FeatureInfo emulateTinyStencilTextures = { 78 "emulateTinyStencilTextures", 79 FeatureCategory::D3DWorkarounds, 80 &members, 81 }; 82 83 FeatureInfo disableB5G6R5Support = { 84 "disableB5G6R5Support", 85 FeatureCategory::D3DWorkarounds, 86 &members, 87 }; 88 89 FeatureInfo rewriteUnaryMinusOperator = { 90 "rewriteUnaryMinusOperator", 91 FeatureCategory::D3DWorkarounds, 92 &members, 93 }; 94 95 FeatureInfo emulateIsnanFloat = { 96 "emulateIsnanFloat", 97 FeatureCategory::D3DWorkarounds, 98 &members, 99 }; 100 101 FeatureInfo callClearTwice = { 102 "callClearTwice", 103 FeatureCategory::D3DWorkarounds, 104 &members, 105 }; 106 107 FeatureInfo useSystemMemoryForConstantBuffers = { 108 "useSystemMemoryForConstantBuffers", 109 FeatureCategory::D3DWorkarounds, 110 &members, 111 }; 112 113 FeatureInfo selectViewInGeometryShader = { 114 "selectViewInGeometryShader", 115 FeatureCategory::D3DWorkarounds, 116 &members, 117 }; 118 119 FeatureInfo addMockTextureNoRenderTarget = { 120 "addMockTextureNoRenderTarget", 121 FeatureCategory::D3DWorkarounds, 122 &members, 123 }; 124 125 FeatureInfo skipVSConstantRegisterZero = { 126 "skipVSConstantRegisterZero", 127 FeatureCategory::D3DWorkarounds, 128 &members, 129 }; 130 131 FeatureInfo forceAtomicValueResolution = { 132 "forceAtomicValueResolution", 133 FeatureCategory::D3DWorkarounds, 134 &members, 135 }; 136 137 FeatureInfo allowClearForRobustResourceInit = { 138 "allowClearForRobustResourceInit", 139 FeatureCategory::D3DWorkarounds, 140 &members, 141 }; 142 143 FeatureInfo allowTranslateUniformBlockToStructuredBuffer = { 144 "allowTranslateUniformBlockToStructuredBuffer", 145 FeatureCategory::D3DWorkarounds, 146 &members, 147 }; 148 149 FeatureInfo allowES3OnFL100 = { 150 "allowES3OnFL100", 151 FeatureCategory::D3DWorkarounds, 152 &members, 153 }; 154 155 FeatureInfo disableRasterizerOrderViews = { 156 "disableRasterizerOrderViews", 157 FeatureCategory::D3DWorkarounds, 158 &members, 159 }; 160 161 FeatureInfo enableTimestampQueries = { 162 "enableTimestampQueries", 163 FeatureCategory::D3DWorkarounds, 164 &members, 165 }; 166 167 FeatureInfo supportsNonConstantLoopIndexing = { 168 "supportsNonConstantLoopIndexing", 169 FeatureCategory::D3DWorkarounds, 170 &members, 171 }; 172 173 }; 174 175 inline FeaturesD3D::FeaturesD3D() = default; 176 inline FeaturesD3D::~FeaturesD3D() = default; 177 178 } // namespace angle 179 180 #endif // ANGLE_PLATFORM_AUTOGEN_FEATURESD3D_H_ 181