diff options
| author | Ryan Houdek <Sonicadvance1@gmail.com> | 2013-12-31 15:41:50 -0600 |
|---|---|---|
| committer | Ryan Houdek <Sonicadvance1@gmail.com> | 2013-12-31 15:41:50 -0600 |
| commit | 8d8b0fc884367bc4d433d698a790ef5badee6957 (patch) | |
| tree | a15158d7f38eea2f63432da4f75615ad5919571c /Source/Core/VideoBackends/Software | |
| parent | 0b31fc8f52444964398b4d0253793c22e7f042b3 (diff) | |
| parent | 6d63db96e962586b13ad343e26182f9e7be7cc2b (diff) | |
Merge branch 'master' into buffer_storage
Conflicts:
Source/Core/VideoBackends/OGL/Src/Render.cpp
Source/Core/VideoCommon/Src/DriverDetails.cpp
Source/Core/VideoCommon/Src/DriverDetails.h
Diffstat (limited to 'Source/Core/VideoBackends/Software')
| -rw-r--r-- | Source/Core/VideoBackends/Software/Src/Rasterizer.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/Software/Src/Rasterizer.cpp b/Source/Core/VideoBackends/Software/Src/Rasterizer.cpp index fa10ac38af..377a437c64 100644 --- a/Source/Core/VideoBackends/Software/Src/Rasterizer.cpp +++ b/Source/Core/VideoBackends/Software/Src/Rasterizer.cpp @@ -385,6 +385,10 @@ void DrawTriangleFrontFace(OutputVertexData *v0, OutputVertexData *v1, OutputVer float w[3] = { 1.0f / v0->projectedPosition.w, 1.0f / v1->projectedPosition.w, 1.0f / v2->projectedPosition.w }; InitSlope(&WSlope, w[0], w[1], w[2], fltdx31, fltdx12, fltdy12, fltdy31); + // TODO: The zfreeze emulation is not quite correct, yet! + // Many things might prevent us from reaching this line (culling, clipping, scissoring). + // However, the zslope is always guaranteed to be calculated unless all vertices are trivially rejected during clipping! + // We're currently sloppy at this since we abort early if any of the culling/clipping/scissoring tests fail. if (!bpmem.genMode.zfreeze || !g_SWVideoConfig.bZFreeze) InitSlope(&ZSlope, v0->screenPosition[2], v1->screenPosition[2], v2->screenPosition[2], fltdx31, fltdx12, fltdy12, fltdy31); |
