Doing so causes unnecessary synchronation loss on 3d apps. Would it be possible to implement this at higher level so that all drivers would get fixed at once?
(In reply to comment #0) > Doing so causes unnecessary synchronation loss on 3d apps. Not sure what you mean, please elaborate. > Would it be possible to implement this at higher level so that all drivers would > get fixed at once? Possibly, but first of all, we need to understand the problem you're trying to solve. :)
Updating mouse cursor position causes writes to mmio space which in turn seem to cause 3d engine to go idle for a while. DDX drivers shouldnt need to know when invisible mouse cursor moving around. ut2k4 slows down about 20% when rapidly moving mouse on my r480.
And you've verified that this is indeed due to the cursor position updates, e.g. with Option "SWcursor"? If so, does the driver's HideCursor hook get called when the cursor goes 'invisible'?
(In reply to comment #3) > And you've verified that this is indeed due to the cursor position updates, e.g. > with Option "SWcursor"? Software cursor is just as bad. Quick hack turning CP_IDLES into no-ops in drm fixes this problem when using SWcursor. Also glxgears didn't slow down when the cursor was visible. > > If so, does the driver's HideCursor hook get called when the cursor goes > 'invisible'? I have to admit that I haven't checked. I don't see any way making cursor updates faster so I think most drivers would benefit from additional visibility checks. Need to investigate what kind of techniques are being used.
Created attachment 7070 [details] [review] Don't call driver SetCursorPosition hook when cursor is invisible Does this patch help?
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
is this still an issue?
no feedback in over a year. closing.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.