Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AMD compatibility #19

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

AMD compatibility #19

wants to merge 1 commit into from

Conversation

belazr
Copy link

@belazr belazr commented Jul 31, 2024

Fixes #18
Fixes #8

I have have set the frame buffer dimensions when they get created. For me this was the main reason why the hook did not draw with AMD cards. With NVIDIA cards I did not have an issue.
Also I have set the signal semaphores of the graphics queue to the wait semaphores of vkQueuePresentKHR pPresentInfo->pWaitSemaphores.
This seems to fix the freeze users were experiencing on AMD cards.
My reasoning is, that since the queue waits on pPresentInfo->pWaitSemaphores they are not in a signaled state after the queue has done its work and so the original call of vkQueuePresentKHR gets stuck at waiting on them.
They need to be signaled again after the queue has done its work and I just let the queue do that itself by setting the queues info.pSignalSemaphores = pPresentInfo->pWaitSemaphores;

I have tested the fix on three different games:

  • Halls of Torment
  • Counter Strike 2
  • DOOM Eternal with Present from Compute setting on and off

with two different GPUs:

  • NVIDIA GTX 1080
  • AMD RX 7900 XT

I am open for any discussions.

Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant