diff options
| author | 2015-07-29 16:45:17 -0400 | |
|---|---|---|
| committer | 2015-07-29 16:45:17 -0400 | |
| commit | 31c1bb901b0411986f91871f29bc5a16420f5c7a (patch) | |
| tree | 783fdc48c9bf7f97119476c5991ce0a59a4e88e5 /src/video_core/vertex_shader.cpp | |
| parent | Merge pull request #1013 from lioncash/unused (diff) | |
| parent | VideoCore: Fix values of unset components in input attribute arrays (diff) | |
| download | yuzu-31c1bb901b0411986f91871f29bc5a16420f5c7a.tar.gz yuzu-31c1bb901b0411986f91871f29bc5a16420f5c7a.tar.xz yuzu-31c1bb901b0411986f91871f29bc5a16420f5c7a.zip | |
Merge pull request #963 from yuriks/gpu-fixes
Misc. GPU vertex loading fixes
Diffstat (limited to 'src/video_core/vertex_shader.cpp')
| -rw-r--r-- | src/video_core/vertex_shader.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/vertex_shader.cpp b/src/video_core/vertex_shader.cpp index 960ae5779..5f66f3455 100644 --- a/src/video_core/vertex_shader.cpp +++ b/src/video_core/vertex_shader.cpp | |||
| @@ -609,6 +609,12 @@ OutputVertex RunShader(const InputVertex& input, int num_attributes, const Regs: | |||
| 609 | } | 609 | } |
| 610 | } | 610 | } |
| 611 | 611 | ||
| 612 | // The hardware takes the absolute and saturates vertex colors like this, *before* doing interpolation | ||
| 613 | for (int i = 0; i < 4; ++i) { | ||
| 614 | ret.color[i] = float24::FromFloat32( | ||
| 615 | std::fmin(std::fabs(ret.color[i].ToFloat32()), 1.0f)); | ||
| 616 | } | ||
| 617 | |||
| 612 | LOG_TRACE(Render_Software, "Output vertex: pos (%.2f, %.2f, %.2f, %.2f), col(%.2f, %.2f, %.2f, %.2f), tc0(%.2f, %.2f)", | 618 | LOG_TRACE(Render_Software, "Output vertex: pos (%.2f, %.2f, %.2f, %.2f), col(%.2f, %.2f, %.2f, %.2f), tc0(%.2f, %.2f)", |
| 613 | ret.pos.x.ToFloat32(), ret.pos.y.ToFloat32(), ret.pos.z.ToFloat32(), ret.pos.w.ToFloat32(), | 619 | ret.pos.x.ToFloat32(), ret.pos.y.ToFloat32(), ret.pos.z.ToFloat32(), ret.pos.w.ToFloat32(), |
| 614 | ret.color.x.ToFloat32(), ret.color.y.ToFloat32(), ret.color.z.ToFloat32(), ret.color.w.ToFloat32(), | 620 | ret.color.x.ToFloat32(), ret.color.y.ToFloat32(), ret.color.z.ToFloat32(), ret.color.w.ToFloat32(), |