dolphin/Source/Core/VideoCommon
Pokechu22 52c82733f6 Use custom isnan implementation to avoid HLSL optimizer issues
This adjusts the NaN replacement logic introduced in #9928 to work around the HLSL compiler optimizing away calls to isnan, which caused that functionality to not work with ubershaders on D3D11 and D3D12 (it did work with specialized shaders, despite a warning being logged for both; that warning is also now gone).  Note that the `D3DCOMPILE_IEEE_STRICTNESS` flag did not solve this issue, despite the warning suggesting that it might.

Suggested by @kayru and @jamiehayes.
2021-09-07 19:04:40 -07:00
..
AbstractFramebuffer.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractFramebuffer.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractPipeline.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractShader.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractStagingTexture.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractStagingTexture.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractTexture.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractTexture.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AsyncRequests.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AsyncRequests.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AsyncShaderCompiler.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AsyncShaderCompiler.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BoundingBox.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BoundingBox.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BPFunctions.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BPFunctions.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BPMemory.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BPMemory.h BPMemory: Make ZTexOp enum an enum class 2021-09-01 18:23:22 -04:00
BPStructs.cpp Use separate fmt::formatters for each indirect matrix column 2021-07-11 15:01:42 -07:00
BPStructs.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CMakeLists.txt VideoCommon: move all texture calculations to a "TextureInfo" class. This ever so slightly improves readability and allows for the full texture name to be generated outside of the hires texture cache 2021-05-11 22:58:36 -05:00
CommandProcessor.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CommandProcessor.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
ConstantManager.h BPMemory: Make ZTexOp enum an enum class 2021-09-01 18:23:22 -04:00
CPMemory.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CPMemory.h Merge pull request #9595 from Dentomologist/fix_vertex_loader_test_warnings 2021-07-06 11:50:23 +02:00
DataReader.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DriverDetails.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DriverDetails.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Fifo.cpp VI: Implement post-scanout XFB output 2021-08-03 23:37:50 -04:00
Fifo.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FPSCounter.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FPSCounter.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FramebufferManager.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FramebufferManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FramebufferShaderGen.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FramebufferShaderGen.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FrameDump.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FrameDump.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FreeLookCamera.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FreeLookCamera.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
GeometryShaderGen.cpp GeometryShaderGen: Rename ApiType to api_type 2021-08-01 15:17:21 -07:00
GeometryShaderGen.h GeometryShaderGen: Rename ApiType to api_type 2021-08-01 15:17:21 -07:00
GeometryShaderManager.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
GeometryShaderManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
GXPipelineTypes.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
HiresTextures_DDSLoader.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
HiresTextures.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
HiresTextures.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
IndexGenerator.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
IndexGenerator.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
LightingShaderGen.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
LightingShaderGen.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
LookUpTables.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NativeVertexFormat.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetPlayChatUI.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetPlayChatUI.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetPlayGolfUI.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetPlayGolfUI.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
OnScreenDisplay.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
OnScreenDisplay.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
OpcodeDecoding.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
OpcodeDecoding.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PerfQueryBase.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PerfQueryBase.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PixelEngine.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PixelEngine.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PixelShaderGen.cpp PixelShaderGen: Fix OpenGL ES bounding box compilation error 2021-07-20 11:39:32 +02:00
PixelShaderGen.h BPMemory: Make ZTexOp enum an enum class 2021-09-01 18:23:22 -04:00
PixelShaderManager.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PixelShaderManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PostProcessing.cpp PostProcessing: fix link error when switching shaders 2021-07-18 04:08:48 +01:00
PostProcessing.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
RenderBase.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
RenderBase.h VideoBackends / VideoCommon: allow the ability to set debug names for shaders / textures. These names are visible in applications like RenderDoc 2021-08-30 13:47:48 -05:00
RenderState.cpp WrapMode=3 behaves the same as Clamp 2021-07-20 19:23:23 -07:00
RenderState.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
SamplerCommon.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
sfont.inc treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
ShaderCache.cpp Convert ShaderHostConfig to BitField 2021-07-28 21:35:36 -07:00
ShaderCache.h Convert ShaderHostConfig to BitField 2021-07-28 21:35:36 -07:00
ShaderGenCommon.cpp Use custom isnan implementation to avoid HLSL optimizer issues 2021-09-07 19:04:40 -07:00
ShaderGenCommon.h Use custom isnan implementation to avoid HLSL optimizer issues 2021-09-07 19:04:40 -07:00
Statistics.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Statistics.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureCacheBase.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureCacheBase.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureConfig.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureConfig.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureConversionShader.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureConversionShader.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureConverterShaderGen.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureConverterShaderGen.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureDecoder_Common.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureDecoder_Generic.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureDecoder_Util.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureDecoder_x64.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureDecoder.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureInfo.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureInfo.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
UberShaderCommon.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
UberShaderCommon.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
UberShaderPixel.cpp UberShaderPixel: Rename ApiType to api_type 2021-08-01 15:09:20 -07:00
UberShaderPixel.h UberShaderPixel: Rename ApiType to api_type 2021-08-01 15:09:20 -07:00
UberShaderVertex.cpp Use custom isnan implementation to avoid HLSL optimizer issues 2021-09-07 19:04:40 -07:00
UberShaderVertex.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_Color.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_Color.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_Normal.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_Normal.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_Position.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_Position.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_TextCoord.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_TextCoord.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderARM64.cpp JitArm64: Stop using hand-encoded logical immediates 2021-07-12 22:25:49 +02:00
VertexLoaderARM64.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderBase.cpp VideoCommon: fix generic build 2021-07-12 04:30:43 +02:00
VertexLoaderBase.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderManager.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderUtils.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderX64.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderX64.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexManagerBase.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexManagerBase.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexShaderGen.cpp Use custom isnan implementation to avoid HLSL optimizer issues 2021-09-07 19:04:40 -07:00
VertexShaderGen.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexShaderManager.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexShaderManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VideoBackendBase.cpp VI: Implement post-scanout XFB output 2021-08-03 23:37:50 -04:00
VideoBackendBase.h VI: Implement post-scanout XFB output 2021-08-03 23:37:50 -04:00
VideoCommon.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VideoConfig.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VideoConfig.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VideoState.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VideoState.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
XFMemory.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
XFMemory.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
XFStructs.cpp VideoCommon: report games that set bits in XFMEM_CLIPDISABLE 2021-08-15 04:41:49 +01:00
XFStructs.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00