Reg. Adaptive Sync feature in xf86-video-amdgpu

uday kiran pichika udaykiran.pichika at gmail.com
Mon Apr 20 04:12:43 UTC 2020


Hello Team,

I'm working on adding Adaptive Sync feature in Xserver/modesetting. When
understanding the existing AMD's implementation, I've few doubts regarding
the vrr property being set on the Window from MESA.

I have made the modifications in xserver/modesetting but when i launch the
application(DOTA2), below condition gets failed
https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/blob/master/src/amdgpu_kms.c#L110


As per the code, i had a confusion that this condition will never met.

*I had analysed the code and here is the analysis made when the flip
happens in xserver When full screen gaming application is opened,
variable_refresh property is being set in MESA and xserver will get
notified with amdgpu_change_property() method(Same method we registered
with the client during AMDGPUScreenInit_KMS()). *

*Below actions will happen in ms_change_property() *

*1. Create Local WindowPtr and copy the data from Stuff->window to this
WindowPtr*

*2. Call amdgpu_vrr_property_update() based on the property set in Stuff by
passing the WindowPtr to it.*

*    a. Read Private Keys for WindowPtr in amdgpu_vrr_property_update(). *

*    b. Compare info->flip_window and this WindowPtr and make a call to
amdgpu_present_set_screen_vrr().  → But this method will never gets called
due to the condition mismatch every time. Why ? *

*Why ?*

*info->flip_window gets updated with window (WindowPtr)
in amdgpu_present_check_flip() when amdgpu_present_flip() method gets
called from DIX. This pointer will never same as the WindowPtr created in
amdgpu_change_property() and variable_refresh flag is being set for in
amdgpu_change_property() WindowPtr only. *

Can  you please help me in understanding on this ?

JFYI, I have used DOTA2 application to verify this feature.

Thanka
Uday Kiran
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20200420/e92deb45/attachment.htm>


More information about the amd-gfx mailing list