From: Sung Joon Kim <[email protected]>

[why & how]
The recout x offset was incorrect which led to
wrong viewport calculation. For stereo
side-by-side case, the slice index should be
0 for both split pipes.

Reviewed-by: Dmytro Laktyushkin <[email protected]>
Acked-by: Aurabindo Pillai <[email protected]>
Signed-off-by: Sung Joon Kim <[email protected]>
Tested-by: Daniel Wheeler <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
index 77c9c3ee755d..8ebeb012abd9 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
@@ -950,6 +950,9 @@ static struct rect calculate_mpc_slice_in_timing_active(
                        stream->view_format != VIEW_3D_FORMAT_SIDE_BY_SIDE ||
                        mpc_rec.width % 2 == 0);
 
+       if (stream->view_format == VIEW_3D_FORMAT_SIDE_BY_SIDE)
+               mpc_rec.x -= (mpc_rec.width * mpc_slice_idx);
+
        /* extra pixels in the division remainder need to go to pipes after
         * the extra pixel index minus one(epimo) defined here as:
         */
-- 
2.44.0

Reply via email to