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

DXVK 1.10.2 released! #44

Closed
ghost opened this issue Jul 13, 2022 · 15 comments
Closed

DXVK 1.10.2 released! #44

ghost opened this issue Jul 13, 2022 · 15 comments

Comments

@ghost
Copy link

ghost commented Jul 13, 2022

@Sporif

https://github.com/doitsujin/dxvk/releases/tag/v1.10.2

@Sporif
Copy link
Owner

Sporif commented Jul 13, 2022

I've managed to port the patch and it seems to be working fine but it requires disabling the new GraphicsPipelineLibrary feature (currently I disable it automatically if dxvk async is enabled). This feature does reduce the stuttering quite a bit, but the dxvk-async patch is still better. I'm still testing/improving the patch though, so I won't release it yet.

@jarrard
Copy link

jarrard commented Jul 13, 2022

cool

@Sporif
Copy link
Owner

Sporif commented Jul 14, 2022

OK, I just realized that 1.10.2 is from a different branch than master and doesn't require a new patch (dxvk-async-af418dc.patch still works for the 1.10.x branch). I've uploaded a release for that version first. This means my comment above is not relevant to this issue, but I still plan to release the updated patch.

@Tanzmusikus
Copy link

Tanzmusikus commented Jul 14, 2022

Thank you very much @Sporif for your constant support over the last years !!!

This could be the last DXVK ASYNC PATCH version, because next DXVK version should support the new vulkan extension "VK_EXT_pipeline_creation_cache_control".

Or is there any more reason for this async patch?

Best regards

@ms178
Copy link

ms178 commented Jul 14, 2022

@Sporif The new 1.10.2 DXVK-async patch doesn't seem to apply cleanly on DXVK 1.10.2 though:

==> Beginning prepare()...
patching file meson.build
patching file src/dxvk/dxvk_context.cpp
Hunk #1 FAILED at 4187.
Hunk #2 succeeded at 4379 (offset -81 lines).
Hunk #3 succeeded at 4401 (offset -81 lines).
Hunk #4 succeeded at 4809 (offset -74 lines).
Hunk #5 succeeded at 5223 (offset -91 lines).
1 out of 5 hunks FAILED -- saving rejects to file src/dxvk/dxvk_context.cpp.rej
patching file src/dxvk/dxvk_context.h
Hunk #1 succeeded at 1227 (offset -12 lines).
Hunk #2 succeeded at 1307 (offset -12 lines).
patching file src/dxvk/dxvk_graphics.cpp
Hunk #1 succeeded at 62 (offset 12 lines).
Hunk #2 succeeded at 72 (offset 12 lines).
Hunk #3 succeeded at 115 (offset 12 lines).
Hunk #4 succeeded at 124 (offset 12 lines).
patching file src/dxvk/dxvk_graphics.h
Hunk #1 succeeded at 199 (offset -1 lines).
Hunk #2 succeeded at 214 (offset -1 lines).
Hunk #3 succeeded at 243 (offset 1 line).
Hunk #4 succeeded at 273 (offset 1 line).
patching file src/dxvk/dxvk_image.h
patching file src/dxvk/dxvk_options.cpp
patching file src/dxvk/dxvk_options.h
patching file src/dxvk/dxvk_pipecompiler.cpp
patching file src/dxvk/dxvk_pipecompiler.h
patching file src/dxvk/dxvk_pipemanager.cpp
patching file src/dxvk/dxvk_pipemanager.h
patching file src/dxvk/meson.build

Here is the hunk that failed:

--- src/dxvk/dxvk_context.cpp
+++ src/dxvk/dxvk_context.cpp
@@ -4187,7 +4187,7 @@ namespace dxvk {
     
     // Retrieve and bind actual Vulkan pipeline handle
     VkPipeline pipeline = m_state.gp.pipeline->getPipelineHandle(
-      m_state.gp.state, m_state.om.framebufferInfo.renderPass());
+      m_state.gp.state, m_state.om.framebufferInfo.renderPass(), this->checkAsyncCompilationCompat());
 
     if (unlikely(!pipeline))
       return false;

EDIT: Added the modified PKGBUILD to get this result.
PKGBUILD.txt

@Sporif
Copy link
Owner

Sporif commented Jul 14, 2022

The latest dxvk-async.patch doesn't work with 1.10.2, but dxvk-async-af418dc.patch does. I should probably update the README with a table explaining which patch is compatible with which dxvk version.

@ms178
Copy link

ms178 commented Jul 14, 2022

@Sporif Are you sure? I get the following failure with the one you mentioned:

patching file meson.build
patching file src/dxvk/dxvk_context.cpp
Hunk #1 succeeded at 4138 with fuzz 1.
Hunk #5 succeeded at 5234 with fuzz 2 (offset 11 lines).
patching file src/dxvk/dxvk_context.h
Hunk #1 FAILED at 1227.
1 out of 2 hunks FAILED -- saving rejects to file src/dxvk/dxvk_context.h.rej
patching file src/dxvk/dxvk_graphics.cpp
patching file src/dxvk/dxvk_graphics.h
Hunk #1 FAILED at 199.
Hunk #2 FAILED at 212.
Hunk #3 succeeded at 236 with fuzz 2.
Hunk #4 FAILED at 266.
3 out of 4 hunks FAILED -- saving rejects to file src/dxvk/dxvk_graphics.h.rej
patching file src/dxvk/dxvk_image.h
Hunk #1 succeeded at 552 with fuzz 2.
Hunk #2 succeeded at 595 with fuzz 2.
patching file src/dxvk/dxvk_options.cpp
patching file src/dxvk/dxvk_options.h
patching file src/dxvk/dxvk_pipecompiler.cpp
patching file src/dxvk/dxvk_pipecompiler.h
patching file src/dxvk/dxvk_pipemanager.cpp
Hunk #1 FAILED at 9.
1 out of 1 hunk FAILED -- saving rejects to file src/dxvk/dxvk_pipemanager.cpp.rej
patching file src/dxvk/dxvk_pipemanager.h
Hunk #2 succeeded at 101 with fuzz 1.
patching file src/dxvk/meson.build

Here is my PKGBUILD and the patch used, for reference.
PKGBUILD.txt
dxvk-async.patch.txt

@Sporif
Copy link
Owner

Sporif commented Jul 14, 2022

Your patch file is wrong, it's missing spaces in various lines. Download the patch from this link dxvk-async-af418dc.patch (Right Click -> Save Page or CTRL+S)

@ms178
Copy link

ms178 commented Jul 14, 2022

Thanks a lot! That solved the problem.

@loathingKernel
Copy link

loathingKernel commented Jul 15, 2022

Wouldn't it be more comprehensible for the 1.10.2 tag to be on commit 1111b69?

@Sporif
Copy link
Owner

Sporif commented Jul 15, 2022

Wouldn't it be more comprehensible for the 1.10.2 tag to be on commit 1111b69?

Yeah you're right but tbh I only make those releases to share built dxvk-async, the tags are just a side effect.

@begin-theadventure
Copy link

@Tanzmusikus
Copy link

Tanzmusikus commented Jul 15, 2022

Your quote/sentence is linked to the actual DXVK version, I mean for next (future) DXVK version 1.10.3 or 1.11(?).

I heard/read it from somebody in a forum, who believes the feature "VK_EXT_pipeline_creation_cache_control" in the next (future) DXVK version should be solve all lags by cache creation, so no async patch is needed anymore.

Best regards

@Sporif
Copy link
Owner

Sporif commented Jul 15, 2022

Your quote/sentence is linked to the actual DXVK version, I mean for next (future) DXVK version 1.10.3 or 1.11.

I heard/read it from somebody, who believes the feature "VK_EXT_pipeline_creation_cache_control" in the next (future) DXVK version should be solve all lags by cache creation, so no async patch is needed anymore.

Best regards

No, my comment was about dxvk master, I've tried that feature and currently on my gtx 1080 with the latest vulkan beta drivers it doesn't completely solve the stuttering.

@Tanzmusikus
Copy link

Tanzmusikus commented Jul 15, 2022

If I understand you right, you mean the actual master of DXVK by Doitsujin, that is a version of 1.10.1 inside.
The implementation of "VK_EXT_pipeline_creation_cache_control" is not yet finished, if I understood my source well.

I mean a future update of DXVK, that maybe named 1.10.3 or 1.11 or something like that, which has fully implemented the "VK_EXT_pipeline_creation_cache_control" feature.

If I'm wrong, sorry for that. It's only interesting for me, cause I like DXVK and especially your async patch.
And I wanna share your the hint I got.

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

No branches or pull requests

6 participants