-
Notifications
You must be signed in to change notification settings - Fork 250
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
Support VK_NV_low_latency2 #200
base: experimental_8.0
Are you sure you want to change the base?
Support VK_NV_low_latency2 #200
Conversation
This reverts commit bf05709. CW-Bug-Id: #21879
…vents." This reverts commit 14ad9a3. CW-Bug-Id: #21879
…ases." This reverts commit 0fc22ab. CW-Bug-Id: #21879
This reverts commit 0ff06a5. CW-Bug-Id: #21879
This reverts commit 5d75cc6. CW-Bug-Id: #21879
…p size changes." This reverts commit 2a44dd0. CW-Bug-Id: #21879
…lipping." This reverts commit dba0a0d. CW-Bug-Id: #21879
…after the desktop has been resized." This reverts commit e56ad03. CW-Bug-Id: #21879
(cherry picked from commit 354e999)
(cherry picked from commit 61dbfea) CW-Bug-Id: #21879
(cherry picked from commit 26c6386) CW-Bug-Id: #21879
…dow. This doesn't create anything, but instead notifies the user driver of the current desktop window, either when it is created, or when a thread calling NtUserGetDesktopWindow receives the current desktop window. (cherry picked from commit 15dfe2e) CW-Bug-Id: #21879
…ated. When the default desktop window is created, its parent is always NULL, and SetDesktopWindow is never called here. (cherry picked from commit 8b5bdb1) CW-Bug-Id: #21879
(cherry picked from commit f9c1b6a) CW-Bug-Id: #21879
(cherry picked from commit dbb6398) CW-Bug-Id: #21879
(cherry picked from commit 0edc848) CW-Bug-Id: #21879
(cherry picked from commit f7d4553) CW-Bug-Id: #21879
(cherry picked from commit e0d3683) CW-Bug-Id: #21879
(cherry picked from commit 4fcbbf8) CW-Bug-Id: #21879
(cherry picked from commit 4b5311c) CW-Bug-Id: #21879
…FAULT. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54991 (cherry picked from commit 7ed63c3) CW-Bug-Id: #21879
(cherry picked from commit 8f9610f) CW-Bug-Id: #21879
(cherry picked from commit c22c10d) CW-Bug-Id: #21879
(cherry picked from commit 1cea2be) CW-Bug-Id: #21879
(cherry picked from commit 3bce247) CW-Bug-Id: #21879
(cherry picked from commit 900ba82) CW-Bug-Id: #21879
(cherry picked from commit 46d2761) CW-Bug-Id: #21879
(cherry picked from commit 29ac54e) CW-Bug-Id: #21879
(cherry picked from commit 1bf316c) CW-Bug-Id: #21879
Signed-off-by: Eric Pouech <epouech@codeweavers.com> (cherry picked from commit 6558611) CW-Bug-ID: #20860 This patch doesn't let the game start; this patch lets the game crash a little bit further down the road.
CW-Bug-Id: #22729
This reverts commit a9183c7. CW-Bug-Id: #22729
CW-Bug-Id: #22729
CW-Bug-Id: #22729
CW-Bug-Id: #22729
CW-Bug-Id: #22729
(cherry picked from commit 3431949) CW-Bug-Id: #22498
(upstream commit 6217369) CW-Bug-Id: #22660
Needed for ntlea. (upstream commit 74027f3) CW-Bug-Id: #22660
Needed for ntlea. (upstream commit 2508bb8) CW-Bug-Id: #22660
ntlea for some reason expects GetWindowLongA to start with a "push $-2", and will try to skip over this instruction. If we don't anticipate this, it will ended up either skipping over critical instructions, or on a desync address. (upstream commit f9f9481) CW-Bug-Id: #22660
This reverts commit 87fbf33. We saw hangs in Phasmophobia with the commit, and then discovered this commit is not strictly necessary for ntlea, so we revert it.
To support VK_NV_low_latency2 a frame ID should be provided for each call to vkQueueSubmit. This commit adds a path for fshack to provide a frame ID when it submits its upscaling work, when low latency mode is enabled.
95ebcfa
to
cb163ce
Compare
What is this for? Are there any consumers of this API out there that will benefit from supporting it? It would be nice to get the Vulkan version bump upstreamed. Save hassle when rebasing the tree. Also the custom implementation of vkSetLatencySleepModeNV, it looks like it's there for setting the private |
for the first question, there are PRs on the dxvk and dxvk-nvapi repos to add support for this extension to enable reflex in games, so yes there are consumers |
Linking to the related PRs that those are all cross-linked: doitsujin/dxvk#3690 |
Bump to Vulkan 1.3.267 has been cherry-picked from upstream. This unblocks work on other projects - testing that it works when the supporting driver finally drops. Only the fshack remains but it's not essential and we can iterate on it a bit. |
Requires at least Nvidia 545.xx drivers. The patches are from the following pull requests: [wine](ValveSoftware/wine#200) [dxvk-nvapi](jp7677/dxvk-nvapi#147) [vkd3d-proton](HansKristian-Work/vkd3d-proton#1739) [dxvk](doitsujin/dxvk#3690) Thanks also goes to @ptr1337 for initially building and testing the patchset.
Requires at least Nvidia 545.xx drivers. The patches are from the following pull requests: [wine](ValveSoftware/wine#200) [dxvk-nvapi](jp7677/dxvk-nvapi#147) [vkd3d-proton](HansKristian-Work/vkd3d-proton#1739) [dxvk](doitsujin/dxvk#3690) Thanks also goes to @ptr1337 for initially building and testing the patchset.
struct wine_device* wine_device = wine_device_from_handle(device); | ||
struct wine_swapchain* wine_swapchain = wine_swapchain_from_handle(swapchain); | ||
|
||
wine_device->low_latency_enabled = pSleepModeInfo->lowLatencyMode; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to Vulkan Docs:
Parameters
pSleepModeInfo
isNULL
or a pointer […]
Description
IfpSleepModeInfo
isNULL
,vkSetLatencySleepModeNV
will disable low latency mode, low latency boost, and set the minimum present interval previously specified by VkLatencySleepModeInfoNV to zero onswapchain
.
Shouldn't this function handle cases where pSleepModeInfo
is NULL
? Right now it looks like it will try to unconditionally dereference passed pointer without checking for NULL
and likely crash if one was passed by the caller.
83a7138
to
6b88b8c
Compare
6b88b8c
to
6252c53
Compare
Requires at least Nvidia 545.xx drivers. The patches are from the following pull requests: [wine](ValveSoftware/wine#200) [dxvk-nvapi](jp7677/dxvk-nvapi#147) [vkd3d-proton](HansKristian-Work/vkd3d-proton#1739) [dxvk](doitsujin/dxvk#3690) Thanks also goes to @ptr1337 for initially building and testing the patchset.
Could you please update this for the experimental 9 or proton 9 branch? Edit:
Fixing the thunks issue results into:
|
was able to fix the patch and test against proton 9. |
This PR updates the Vulkan xml file to 1.3.267, and adds some additional support for the VK_NV_low_latency2 extension to winevulkan. The only code changes needed are for passing in a valid frame id to fshack's vkQueueSubmit.