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>
This commit is contained in:

committed by
Marge Bot

parent
5cfbe2528c
commit
88b7f00085
@ -480,12 +480,12 @@ meta_onscreen_native_flip_crtc (CoglOnscreen *onscreen,
|
|||||||
MetaKmsUpdate *kms_update,
|
MetaKmsUpdate *kms_update,
|
||||||
MetaKmsAssignPlaneFlag flags,
|
MetaKmsAssignPlaneFlag flags,
|
||||||
const int *rectangles,
|
const int *rectangles,
|
||||||
int n_rectangles,
|
int n_rectangles)
|
||||||
ClutterFrame *frame)
|
|
||||||
{
|
{
|
||||||
MetaOnscreenNative *onscreen_native = META_ONSCREEN_NATIVE (onscreen);
|
MetaOnscreenNative *onscreen_native = META_ONSCREEN_NATIVE (onscreen);
|
||||||
MetaRendererNative *renderer_native = onscreen_native->renderer_native;
|
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;
|
MetaGpuKms *render_gpu = onscreen_native->render_gpu;
|
||||||
MetaCrtcKms *crtc_kms = META_CRTC_KMS (crtc);
|
MetaCrtcKms *crtc_kms = META_CRTC_KMS (crtc);
|
||||||
MetaKmsCrtc *kms_crtc = meta_crtc_kms_get_kms_crtc (crtc_kms);
|
MetaKmsCrtc *kms_crtc = meta_crtc_kms_get_kms_crtc (crtc_kms);
|
||||||
@ -500,6 +500,8 @@ meta_onscreen_native_flip_crtc (CoglOnscreen *onscreen,
|
|||||||
COGL_TRACE_BEGIN_SCOPED (MetaOnscreenNativeFlipCrtcs,
|
COGL_TRACE_BEGIN_SCOPED (MetaOnscreenNativeFlipCrtcs,
|
||||||
"Meta::OnscreenNative::flip_crtc()");
|
"Meta::OnscreenNative::flip_crtc()");
|
||||||
|
|
||||||
|
g_return_if_fail (frame);
|
||||||
|
|
||||||
gpu_kms = META_GPU_KMS (meta_crtc_get_gpu (crtc));
|
gpu_kms = META_GPU_KMS (meta_crtc_get_gpu (crtc));
|
||||||
|
|
||||||
g_assert (meta_gpu_kms_is_crtc_active (gpu_kms, crtc));
|
g_assert (meta_gpu_kms_is_crtc_active (gpu_kms, crtc));
|
||||||
@ -509,6 +511,7 @@ meta_onscreen_native_flip_crtc (CoglOnscreen *onscreen,
|
|||||||
switch (renderer_gpu_data->mode)
|
switch (renderer_gpu_data->mode)
|
||||||
{
|
{
|
||||||
case META_RENDERER_NATIVE_MODE_GBM:
|
case META_RENDERER_NATIVE_MODE_GBM:
|
||||||
|
frame_native = meta_frame_native_from_frame (frame);
|
||||||
buffer = meta_frame_native_get_buffer (frame_native);
|
buffer = meta_frame_native_get_buffer (frame_native);
|
||||||
scanout = meta_frame_native_get_scanout (frame_native);
|
scanout = meta_frame_native_get_scanout (frame_native);
|
||||||
|
|
||||||
@ -1426,8 +1429,7 @@ meta_onscreen_native_swap_buffers_with_damage (CoglOnscreen *onscreen,
|
|||||||
kms_update,
|
kms_update,
|
||||||
META_KMS_ASSIGN_PLANE_FLAG_NONE,
|
META_KMS_ASSIGN_PLANE_FLAG_NONE,
|
||||||
rectangles,
|
rectangles,
|
||||||
n_rectangles,
|
n_rectangles);
|
||||||
frame);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1672,8 +1674,7 @@ meta_onscreen_native_direct_scanout (CoglOnscreen *onscreen,
|
|||||||
kms_update,
|
kms_update,
|
||||||
META_KMS_ASSIGN_PLANE_FLAG_DIRECT_SCANOUT,
|
META_KMS_ASSIGN_PLANE_FLAG_DIRECT_SCANOUT,
|
||||||
NULL,
|
NULL,
|
||||||
0,
|
0);
|
||||||
frame);
|
|
||||||
|
|
||||||
meta_topic (META_DEBUG_KMS,
|
meta_topic (META_DEBUG_KMS,
|
||||||
"Posting direct scanout update for CRTC %u (%s)",
|
"Posting direct scanout update for CRTC %u (%s)",
|
||||||
|
Reference in New Issue
Block a user