1
0
Fork 0

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: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3829>
Signed-off-by: Mingi Sung <sungmg@saltyming.net>
This commit is contained in:
Daniel van Vugt 2024-06-21 13:41:03 +08:00 committed by Mingi Sung
parent f45d4c0c7f
commit e53f0e1463
Signed by: sungmg
GPG key ID: 41BAFD6FFD8036C5

View file

@ -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)",