diff options
Diffstat (limited to 'src/video_core/clipper.cpp')
| -rw-r--r-- | src/video_core/clipper.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/video_core/clipper.cpp b/src/video_core/clipper.cpp index ba3876a76..943f3eb35 100644 --- a/src/video_core/clipper.cpp +++ b/src/video_core/clipper.cpp | |||
| @@ -58,12 +58,13 @@ static void InitScreenCoordinates(OutputVertex& vtx) | |||
| 58 | float24 offset_z; | 58 | float24 offset_z; |
| 59 | } viewport; | 59 | } viewport; |
| 60 | 60 | ||
| 61 | viewport.halfsize_x = float24::FromRawFloat24(registers.viewport_size_x); | 61 | const auto& regs = g_state.regs; |
| 62 | viewport.halfsize_y = float24::FromRawFloat24(registers.viewport_size_y); | 62 | viewport.halfsize_x = float24::FromRawFloat24(regs.viewport_size_x); |
| 63 | viewport.offset_x = float24::FromFloat32(static_cast<float>(registers.viewport_corner.x)); | 63 | viewport.halfsize_y = float24::FromRawFloat24(regs.viewport_size_y); |
| 64 | viewport.offset_y = float24::FromFloat32(static_cast<float>(registers.viewport_corner.y)); | 64 | viewport.offset_x = float24::FromFloat32(static_cast<float>(regs.viewport_corner.x)); |
| 65 | viewport.zscale = float24::FromRawFloat24(registers.viewport_depth_range); | 65 | viewport.offset_y = float24::FromFloat32(static_cast<float>(regs.viewport_corner.y)); |
| 66 | viewport.offset_z = float24::FromRawFloat24(registers.viewport_depth_far_plane); | 66 | viewport.zscale = float24::FromRawFloat24(regs.viewport_depth_range); |
| 67 | viewport.offset_z = float24::FromRawFloat24(regs.viewport_depth_far_plane); | ||
| 67 | 68 | ||
| 68 | float24 inv_w = float24::FromFloat32(1.f) / vtx.pos.w; | 69 | float24 inv_w = float24::FromFloat32(1.f) / vtx.pos.w; |
| 69 | vtx.color *= inv_w; | 70 | vtx.color *= inv_w; |