Re: Possible Performance Regression with Mesa

João Paulo Silva Goncalves <[email protected]>
Newsgroups gmane.comp.video.mesa3d.devel
Message-ID <20240426175156.emjjbilc3bi2ry7v@joaog-nb>
Hi Daniel, 

On Fri, Apr 26, 2024 at 12:17:33PM +0100, Daniel Stone wrote:

> One thing you can try is to edit
> weston/libweston/backend-drm/state-propose.c and, inside
> dmabuf_feedback_maybe_update(), prevent action_needed from ever being
> set to ACTION_NEEDED_ADD_SCANOUT_TRANCHE. It would be interesting to
> know if this restores full performance.
 
Tried it. Same performance as before, so didn't solve the issue. I just 
removed the part of the code that set action_needed to ACTION_NEEDED_SCANOUT_TRANCHE.
 
Regards,
João Paulo Goncalves
 
diff --git a/libweston/backend-drm/state-propose.c b/libweston/backend-drm/state-propose.c
index 18a6d628..0ba23517 100644
--- a/libweston/backend-drm/state-propose.c
+++ b/libweston/backend-drm/state-propose.c
@@ -311,7 +311,9 @@ dmabuf_feedback_maybe_update(struct drm_device *device, struct weston_view *ev,
                action_needed = ACTION_NEEDED_REMOVE_SCANOUT_TRANCHE;
        /* Direct scanout may be possible if client re-allocates using the
         * params from the scanout tranche. */
-       } else if (try_view_on_plane_failure_reasons & (FAILURE_REASONS_ADD_FB_FAILED |
+       }
+       #if 0
+       else if (try_view_on_plane_failure_reasons & (FAILURE_REASONS_ADD_FB_FAILED |
                                                        FAILURE_REASONS_FB_FORMAT_INCOMPATIBLE |
                                                        FAILURE_REASONS_DMABUF_MODIFIER_INVALID |
                                                        FAILURE_REASONS_GBM_BO_IMPORT_FAILED |
@@ -321,6 +323,7 @@ dmabuf_feedback_maybe_update(struct drm_device *device, struct weston_view *ev,
        } else if (try_view_on_plane_failure_reasons == FAILURE_REASONS_NONE) {
                action_needed = ACTION_NEEDED_ADD_SCANOUT_TRANCHE;
        }
+       #endif

        /* No actions needed, so disarm timer and return */
        if (action_needed == ACTION_NEEDED_NONE ||
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.