aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSung Joon Kim <[email protected]>2024-04-11 15:28:08 -0400
committerAlex Deucher <[email protected]>2024-04-30 09:48:55 -0400
commit2862b1637ea2bdaaf13d9b5e3635c096297a0f1d (patch)
tree4890dbd8c23a998c3a7b57febef6a17028cc6515
parente7f5f9d6222ec9264b160b622544cd7e1091e4b4 (diff)
drm/amd/display: Fix recout calculation for stereo side-by-side
[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]> Signed-off-by: Alex Deucher <[email protected]>
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_resource.c3
1 files changed, 3 insertions, 0 deletions
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 bb43c62e959a..ebbeb37f36a6 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:
*/