From 88852d187cc6023925673d9eb88787e33ddb2372 Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Sun, 30 Jan 2022 00:10:47 +0000 Subject: [PATCH] steamcompmgr: HACK! Always composite with a cursor Cursor plane on AMDGPU is very broken with both rotation and overlay planes that are not screen sized. Workaround for now. --- src/steamcompmgr.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp index 6bc11d8..fdf18cb 100644 --- a/src/steamcompmgr.cpp +++ b/src/steamcompmgr.cpp @@ -1613,11 +1613,16 @@ paint_all() } } + bool bDrewCursor = false; + // Draw cursor if we need to if (input) { + int nLayerCountBefore = composite.nLayerCount; global_focus.cursor->paint( input, w == input ? override : nullptr, &composite, &pipeline); + int nLayerCountAfter = composite.nLayerCount; + bDrewCursor = nLayerCountAfter > nLayerCountBefore; } if ( !bValidContents || ( BIsNested() == false && g_DRM.paused == true ) ) @@ -1657,6 +1662,7 @@ paint_all() bNeedsComposite |= bWasFirstFrame; bNeedsComposite |= composite.useFSRLayer0; bNeedsComposite |= bNeedsNearest; + bNeedsComposite |= bDrewCursor; if ( !bNeedsComposite ) {