dolphin/Source/Core/VideoBackends/Software
Stenzek 260d5b7aa7 BPMemory: Handle fog configuration where both A and C are infinity/NaN
The console appears to behave against standard IEEE754 specification
here, in particular around how NaNs are handled. NaNs appear to have no
effect on the result, and are treated the same as positive or negative
infinity, based on the sign bit.

However, when the result would be NaN (inf - inf, or (-inf) - (-inf)),
this results in a completely fogged color, or unfogged color
respectively. We handle this by returning a constant zero for the A
varaible, and positive or negative infinity for C depending on the sign
bits of the A and C registers. This ensures that no NaN value is passed
to the GPU in the first place, and that the result of the fog
calculation cannot be NaN.
2018-02-01 17:40:39 +10:00
..
Clipper.cpp Clipper: Copy both color sequences in CopyVertex as opposed to one 2017-08-22 22:45:28 -04:00
Clipper.h Clipper: const correctness 2016-09-22 21:01:49 -04:00
CMakeLists.txt Video Backends: Split texture cache code out into separate files, introduce 'AbstractTexture' 2017-06-13 00:41:51 -05:00
CopyRegion.h Software Backend: Rename 'copy_region' to 'CopyRegion' 2017-11-17 22:11:33 -06:00
DebugUtil.cpp Common: Move byte swapping utilities into their own header 2017-03-03 17:18:18 -05:00
DebugUtil.h DebugUtils: const correctness 2016-09-22 21:05:17 -04:00
EfbCopy.cpp HybridXFB: Fix lint errors 2017-11-17 22:11:31 -06:00
EfbCopy.h Software Backend: Fix xfb output and add vertical scaling support 2017-11-17 22:11:31 -06:00
EfbInterface.cpp Software Backend: Remove reinterpret_cast which violates the strict aliasing rule 2017-11-17 22:11:33 -06:00
EfbInterface.h Software Backend: Remove reinterpret_cast which violates the strict aliasing rule 2017-11-17 22:11:33 -06:00
NativeVertexFormat.h SW NativeVertexFormat: Utilize std::array where applicable 2017-08-22 22:39:28 -04:00
Rasterizer.cpp Rasterizer: const correctness 2016-09-22 20:39:28 -04:00
Rasterizer.h Software: Clean out unnecessary includes/fwd decls 2016-09-24 05:28:00 -04:00
SetupUnit.cpp OpcodeDecoding: Convert #defines into enum constants 2017-02-08 00:05:17 -05:00
SetupUnit.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Software.vcxproj Software Backend: Fix xfb output and add vertical scaling support 2017-11-17 22:11:31 -06:00
SWmain.cpp Implement dual-source blending in shader 2018-01-05 09:56:46 -08:00
SWOGLWindow.cpp Video Backends: Remove the right of the xfb region for games where the 2017-11-17 22:11:32 -06:00
SWOGLWindow.h Video Backends: Remove the right of the xfb region for games where the 2017-11-17 22:11:32 -06:00
SWRenderer.cpp Merge pull request #6193 from stenzek/readbacks 2017-12-01 14:24:06 +10:00
SWRenderer.h VideoBackends: Add AbstractStagingTexture class 2017-11-22 18:47:04 +10:00
SWTexture.cpp AbstractTexture: Move Bind() method to Renderer 2018-01-22 13:22:09 +10:00
SWTexture.h AbstractTexture: Move Bind() method to Renderer 2018-01-22 13:22:09 +10:00
SWVertexLoader.cpp Renderer: Move cull mode to a rasterization state object 2017-09-11 20:01:45 +10:00
SWVertexLoader.h SWVertexLoader: Make SWVertexLoader a final class 2017-09-09 15:33:30 -04:00
Tev.cpp BPMemory: Handle fog configuration where both A and C are infinity/NaN 2018-02-01 17:40:39 +10:00
Tev.h Software/Tev: const correctness 2017-09-03 14:15:21 -04:00
TextureCache.h VideoCommon: Drop now unused efb2tex matrix generation. 2017-12-06 09:30:03 +01:00
TextureEncoder.cpp VideoBackends: Fix -Wswitch warnings 2017-12-02 21:52:07 +01:00
TextureEncoder.h HybridXFB: Fix lint errors 2017-11-17 22:11:31 -06:00
TextureSampler.cpp Software/TextureSampler: const correctness 2017-09-11 20:13:47 -04:00
TextureSampler.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
TransformUnit.cpp LightingShaderGen: Always calculate lighting for both color channels 2017-11-22 01:52:18 +10:00
TransformUnit.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Vec3.h Software: Clean out unnecessary includes/fwd decls 2016-09-24 05:28:00 -04:00
VideoBackend.h Software: Clean out unnecessary includes/fwd decls 2016-09-24 05:28:00 -04:00