From e53f0e1463ff282fe73b925580d0af81d441e5ef Mon Sep 17 00:00:00 2001 From: Daniel van Vugt Date: Fri, 21 Jun 2024 13:41:03 +0800 Subject: [PATCH] onscreen/native: Remove frame parameter from flip_crtc It's always equal to `onscreen_native->next_frame` and we can't eliminate that copy so easily. Removing the parameter removes all ambiguity about where the next frame will come from. Part-of: Signed-off-by: Mingi Sung --- src/backends/native/meta-onscreen-native.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/backends/native/meta-onscreen-native.c b/src/backends/native/meta-onscreen-native.c index ac338b47b..14e3ceb4c 100644 --- a/src/backends/native/meta-onscreen-native.c +++ b/src/backends/native/meta-onscreen-native.c @@ -509,12 +509,12 @@ meta_onscreen_native_flip_crtc (CoglOnscreen *onscreen, MetaKmsUpdate *kms_update, MetaKmsAssignPlaneFlag flags, const int *rectangles, - int n_rectangles, - ClutterFrame *frame) + int n_rectangles) { MetaOnscreenNative *onscreen_native = META_ONSCREEN_NATIVE (onscreen); MetaRendererNative *renderer_native = onscreen_native->renderer_native; - MetaFrameNative *frame_native = meta_frame_native_from_frame (frame); + ClutterFrame *frame = onscreen_native->next_frame; + MetaFrameNative *frame_native; MetaGpuKms *render_gpu = onscreen_native->render_gpu; MetaCrtcKms *crtc_kms = META_CRTC_KMS (crtc); MetaKmsCrtc *kms_crtc = meta_crtc_kms_get_kms_crtc (crtc_kms); @@ -529,6 +529,8 @@ meta_onscreen_native_flip_crtc (CoglOnscreen *onscreen, COGL_TRACE_BEGIN_SCOPED (MetaOnscreenNativeFlipCrtcs, "Meta::OnscreenNative::flip_crtc()"); + g_return_if_fail (frame); + gpu_kms = META_GPU_KMS (meta_crtc_get_gpu (crtc)); g_assert (meta_gpu_kms_is_crtc_active (gpu_kms, crtc)); @@ -538,6 +540,7 @@ meta_onscreen_native_flip_crtc (CoglOnscreen *onscreen, switch (renderer_gpu_data->mode) { case META_RENDERER_NATIVE_MODE_GBM: + frame_native = meta_frame_native_from_frame (frame); buffer = meta_frame_native_get_buffer (frame_native); scanout = meta_frame_native_get_scanout (frame_native); @@ -1456,8 +1459,7 @@ meta_onscreen_native_swap_buffers_with_damage (CoglOnscreen *onscreen, kms_update, META_KMS_ASSIGN_PLANE_FLAG_NONE, rectangles, - n_rectangles, - frame); + n_rectangles); } else { @@ -1702,8 +1704,7 @@ meta_onscreen_native_direct_scanout (CoglOnscreen *onscreen, kms_update, META_KMS_ASSIGN_PLANE_FLAG_DIRECT_SCANOUT, NULL, - 0, - frame); + 0); meta_topic (META_DEBUG_KMS, "Posting direct scanout update for CRTC %u (%s)",