tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

FeaturesD3D_autogen.h (7698B)


      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_FEATURESD3D_H_
     11 #define ANGLE_PLATFORM_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 mrtPerfWorkaround = {
     24        "mrtPerfWorkaround",
     25        FeatureCategory::D3DWorkarounds,
     26        "Some drivers have a bug where they ignore null render targets",
     27        &members,
     28    };
     29 
     30    FeatureInfo setDataFasterThanImageUpload = {
     31        "setDataFasterThanImageUpload",
     32        FeatureCategory::D3DWorkarounds,
     33        "Set data faster than image upload",
     34        &members,
     35    };
     36 
     37    FeatureInfo setDataFasterThanImageUploadOn128bitFormats = {
     38        "setDataFasterThanImageUploadOn128bitFormats",
     39        FeatureCategory::D3DWorkarounds,
     40        "Set data faster than image upload on 128bit formats",
     41        &members,
     42    };
     43 
     44    FeatureInfo zeroMaxLodWorkaround = {
     45        "zeroMaxLodWorkaround",
     46        FeatureCategory::D3DWorkarounds,
     47        "Missing an option to disable mipmaps on a mipmapped texture",
     48        &members,
     49    };
     50 
     51    FeatureInfo useInstancedPointSpriteEmulation = {
     52        "useInstancedPointSpriteEmulation",
     53        FeatureCategory::D3DWorkarounds,
     54        "Some D3D11 renderers do not support geometry shaders for pointsprite emulation",
     55        &members,
     56    };
     57 
     58    FeatureInfo depthStencilBlitExtraCopy = {
     59        "depthStencilBlitExtraCopy", FeatureCategory::D3DWorkarounds,
     60        "Bug in some drivers triggers a TDR when using CopySubresourceRegion from a staging "
     61        "texture to a depth/stencil",
     62        &members, "http://anglebug.com/1452"};
     63 
     64    FeatureInfo expandIntegerPowExpressions = {
     65        "expandIntegerPowExpressions",
     66        FeatureCategory::D3DWorkarounds,
     67        "The HLSL optimizer has a bug with optimizing 'pow' in certain integer-valued expressions",
     68        &members,
     69    };
     70 
     71    FeatureInfo flushAfterEndingTransformFeedback = {
     72        "flushAfterEndingTransformFeedback",
     73        FeatureCategory::D3DWorkarounds,
     74        "Some drivers sometimes write out-of-order results to StreamOut buffers when transform "
     75        "feedback is used to repeatedly write to the same buffer positions",
     76        &members,
     77    };
     78 
     79    FeatureInfo getDimensionsIgnoresBaseLevel = {
     80        "getDimensionsIgnoresBaseLevel",
     81        FeatureCategory::D3DWorkarounds,
     82        "Some drivers do not take into account the base level of the "
     83        "texture in the results of the HLSL GetDimensions builtin",
     84        &members,
     85    };
     86 
     87    FeatureInfo preAddTexelFetchOffsets = {
     88        "preAddTexelFetchOffsets",
     89        FeatureCategory::D3DWorkarounds,
     90        "HLSL's function texture.Load returns 0 when the parameter Location is negative, even if "
     91        "the sum of Offset and Location is in range",
     92        &members,
     93    };
     94 
     95    FeatureInfo emulateTinyStencilTextures = {
     96        "emulateTinyStencilTextures",
     97        FeatureCategory::D3DWorkarounds,
     98        "1x1 and 2x2 mips of depth/stencil textures aren't sampled correctly",
     99        &members,
    100    };
    101 
    102    FeatureInfo disableB5G6R5Support = {
    103        "disableB5G6R5Support",
    104        FeatureCategory::D3DWorkarounds,
    105        "Textures with the format "
    106        "DXGI_FORMAT_B5G6R5_UNORM have incorrect data",
    107        &members,
    108    };
    109 
    110    FeatureInfo rewriteUnaryMinusOperator = {
    111        "rewriteUnaryMinusOperator",
    112        FeatureCategory::D3DWorkarounds,
    113        "Evaluating unary minus operator on integer may get wrong answer in vertex shaders",
    114        &members,
    115    };
    116 
    117    FeatureInfo emulateIsnanFloat = {"emulateIsnanFloat", FeatureCategory::D3DWorkarounds,
    118                                     "Using isnan() on highp float will get wrong answer", &members,
    119                                     "https://crbug.com/650547"};
    120 
    121    FeatureInfo callClearTwice = {"callClearTwice", FeatureCategory::D3DWorkarounds,
    122                                  "Using clear() may not take effect", &members,
    123                                  "https://crbug.com/655534"};
    124 
    125    FeatureInfo emulateClearViewAfterDualSourceBlending = {
    126        "emulateClearViewAfterDualSourceBlending", FeatureCategory::D3DWorkarounds,
    127        "On Sandybridge, calling ClearView after using dual source blending causes hardware to "
    128        "hang",
    129        &members, "https://bugzilla.mozilla.org/show_bug.cgi?id=1633628"};
    130 
    131    FeatureInfo scissoredClearArtifacts = {
    132        "scissoredClearArtifacts", FeatureCategory::D3DWorkarounds,
    133        "On Skylake, calling ClearView with a scissor rect that is not a multiple of 8x4 pixels "
    134        "causes corruption of pixels in the 8x4 pixel tiles along the edge which resembles a "
    135        "square wave",
    136        &members, "https://bugzilla.mozilla.org/show_bug.cgi?id=1817240"};
    137 
    138    FeatureInfo useSystemMemoryForConstantBuffers = {
    139        "useSystemMemoryForConstantBuffers", FeatureCategory::D3DWorkarounds,
    140        "Copying from staging storage to constant buffer "
    141        "storage does not work",
    142        &members, "https://crbug.com/593024"};
    143 
    144    FeatureInfo selectViewInGeometryShader = {
    145        "selectViewInGeometryShader",
    146        FeatureCategory::D3DWorkarounds,
    147        "The viewport or render target slice will be selected in the geometry shader stage for "
    148        "the ANGLE_multiview extension",
    149        &members,
    150    };
    151 
    152    FeatureInfo addMockTextureNoRenderTarget = {
    153        "addMockTextureNoRenderTarget", FeatureCategory::D3DWorkarounds,
    154        "On some drivers when rendering with no render target, two bugs lead to incorrect behavior",
    155        &members, "http://anglebug.com/2152"};
    156 
    157    FeatureInfo skipVSConstantRegisterZero = {
    158        "skipVSConstantRegisterZero",
    159        FeatureCategory::D3DWorkarounds,
    160        "In specific cases the driver doesn't handle constant register zero correctly",
    161        &members,
    162    };
    163 
    164    FeatureInfo forceAtomicValueResolution = {
    165        "forceAtomicValueResolution", FeatureCategory::D3DWorkarounds,
    166        "On some drivers the return value from RWByteAddressBuffer.InterlockedAdd does not resolve "
    167        "when used in the .yzw components of a RWByteAddressBuffer.Store operation",
    168        &members, "http://anglebug.com/3246"};
    169 
    170    FeatureInfo allowClearForRobustResourceInit = {
    171        "allowClearForRobustResourceInit", FeatureCategory::D3DWorkarounds,
    172        "Some drivers corrupt texture data when clearing for robust resource initialization.",
    173        &members, "http://crbug.com/941620"};
    174 
    175    FeatureInfo allowTranslateUniformBlockToStructuredBuffer = {
    176        "allowTranslateUniformBlockToStructuredBuffer", FeatureCategory::D3DWorkarounds,
    177        "There is a slow fxc compile performance issue with dynamic uniform indexing if "
    178        "translating a uniform block with a large array member to cbuffer.",
    179        &members, "http://anglebug.com/3682"};
    180 
    181    FeatureInfo allowES3OnFL100 = {
    182        "allowES3OnFL100",
    183        FeatureCategory::D3DWorkarounds,
    184        "Allow ES3 on 10.0 devices",
    185        &members,
    186    };
    187 
    188    FeatureInfo disableRasterizerOrderViews = {
    189        "disableRasterizerOrderViews", FeatureCategory::D3DWorkarounds, "Disable ROVs for testing",
    190        &members, "http://anglebug.com/7279"};
    191 };
    192 
    193 inline FeaturesD3D::FeaturesD3D()  = default;
    194 inline FeaturesD3D::~FeaturesD3D() = default;
    195 
    196 }  // namespace angle
    197 
    198 #endif  // ANGLE_PLATFORM_FEATURESD3D_H_