On 2019-02-28 1:05 p.m., Michel Dänzer wrote:
> On 2019-02-28 3:52 a.m., Aaron Liu wrote:
>>
>> @@ -900,7 +900,12 @@ CARD32 amdgpu_dri2_deferred_event(OsTimerPtr timer, 
>> CARD32 now, pointer data)
>>      delta_seq = delta_t * drmmode_crtc->dpms_last_fps;
>>      delta_seq /= 1000000;
>>      frame = (CARD64) drmmode_crtc->dpms_last_seq + delta_seq;
>> -    if (event_info->drm_queue_seq)
>> +    /*
>> +     * If CRTC is in DPMS off state, it can't use vblank_handler.
>> +     * Because drmmode_wait_vblank is not excuted in such as
>> +     * amdgpu_dri2_schedule_swap/amdgpu_dri2_schedule_wait_msc.
>> +     */
>> +    if (event_info->drm_queue_seq && amdgpu_crtc_is_enabled(crtc))
>>              drmmode_crtc->drmmode->event_context.
>>                      vblank_handler(pAMDGPUEnt->fd, frame, drm_now / 1000000,
>>                                     drm_now % 1000000,
>>
> 
> This isn't a good solution I'm afraid, as it'll leave the struct
> amdgpu_drm_queue_entry memory associated with event_info->drm_queue_seq
> linked into the amdgpu_drm_queue list, which would gradually slow down
> processing of that list.
> 
> 
> I think I know what the issue is, I'll work on a fix in the afternoon.

Please test
https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/merge_requests/29
.


-- 
Earthling Michel Dänzer               |              https://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to