Skip to content

AMD compatibility#19

Open
belazr wants to merge 1 commit intobruhmoment21:mainfrom
belazr:main
Open

AMD compatibility#19
belazr wants to merge 1 commit intobruhmoment21:mainfrom
belazr:main

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

Development

Successfully merging this pull request may close these issues.

Can anyone confirm the hooks will not work when using vulkan + amd card? ImGui window doesn't show for Valheim - Vulkan

1 participant