diff options
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/renderer/Workarounds.h')
-rw-r--r-- | src/3rdparty/angle/src/libANGLE/renderer/Workarounds.h | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/renderer/Workarounds.h b/src/3rdparty/angle/src/libANGLE/renderer/Workarounds.h deleted file mode 100644 index b73f4a5472..0000000000 --- a/src/3rdparty/angle/src/libANGLE/renderer/Workarounds.h +++ /dev/null @@ -1,74 +0,0 @@ -// -// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// - -// angletypes.h: Workarounds for driver bugs and other issues. - -#ifndef LIBANGLE_RENDERER_WORKAROUNDS_H_ -#define LIBANGLE_RENDERER_WORKAROUNDS_H_ - -// TODO(jmadill,zmo,geofflang): make a workarounds library that can operate -// independent of ANGLE's renderer. Workarounds should also be accessible -// outside of the Renderer. - -namespace rx -{ - -struct D3DCompilerWorkarounds : angle::NonCopyable -{ - D3DCompilerWorkarounds() - : skipOptimization(false), - useMaxOptimization(false), - enableIEEEStrictness(false) - {} - - void reset() - { - skipOptimization = false; - useMaxOptimization = false; - enableIEEEStrictness = false; - } - - bool skipOptimization; - bool useMaxOptimization; - - // IEEE strictness needs to be enabled for NANs to work. - bool enableIEEEStrictness; -}; - -struct Workarounds -{ - Workarounds() - : mrtPerfWorkaround(false), - setDataFasterThanImageUpload(false), - zeroMaxLodWorkaround(false), - useInstancedPointSpriteEmulation(false) - {} - - // On some systems, having extra rendertargets than necessary slows down the shader. - // We can fix this by optimizing those out of the shader. At the same time, we can - // work around a bug on some nVidia drivers that they ignore "null" render targets - // in D3D11, by compacting the active color attachments list to omit null entries. - bool mrtPerfWorkaround; - - bool setDataFasterThanImageUpload; - - // Some renderers can't disable mipmaps on a mipmapped texture (i.e. solely sample from level zero, and ignore the other levels). - // D3D11 Feature Level 10+ does this by setting MaxLOD to 0.0f in the Sampler state. D3D9 sets D3DSAMP_MIPFILTER to D3DTEXF_NONE. - // There is no equivalent to this in D3D11 Feature Level 9_3. - // This causes problems when (for example) an application creates a mipmapped texture2D, but sets GL_TEXTURE_MIN_FILTER to GL_NEAREST (i.e disables mipmaps). - // To work around this, D3D11 FL9_3 has to create two copies of the texture. The textures' level zeros are identical, but only one texture has mips. - bool zeroMaxLodWorkaround; - - // Some renderers do not support Geometry Shaders so the Geometry Shader-based - // PointSprite emulation will not work. - // To work around this, D3D11 FL9_3 has to use a different pointsprite - // emulation that is implemented using instanced quads. - bool useInstancedPointSpriteEmulation; -}; - -} - -#endif // LIBANGLE_RENDERER_WORKAROUNDS_H_ |