Upgrade DXVK to 3.0.2 - #6
Merged
Merged
Conversation
Bump the DXVK pin from v2.7.1 to v3.0.2 and rebase the patch series onto it. Both patches are still required — upstream has fixed neither: * 0001 (Windows-ABI 16-bit WCHAR): `WCHAR` is still `wchar_t` in include/native/windows/windows_base.h at v3.0.2. Two rebase changes were needed: upstream dropped the duplicate `LPWSTR` typedef the old hunk keyed on, and the shared-NT-handle naming code added in 3.0 (D3D11DXGIResource::CreateSharedHandle, D3D11Fence::CreateSharedHandle) calls the wchar_t-typed wcslen/swprintf, which no longer compiles once WCHAR is 16-bit. Both are rewritten onto DXVK's own str::length / str::transcodeString, which are character-type generic and so behave identically on the Windows build. * 0002 (use the new surface extent on resize): unchanged upstream; the patch applies with only a line offset. Also fix the cached-clone path in build_dxvk.sh: it checked the new tag out before discarding the previous run's applied patches, so every version bump failed locally with "local changes would be overwritten by checkout". CI was unaffected (fresh clone every run). Note for consumers: DXVK 3.0 tightens the Vulkan device requirements (maintenance6, robustness2, depth_clip_enable, 8/16-bit storage, shaderInt8 /shaderInt16 among others moved from optional to required). Verified by a full local ./build.sh with build/dxvk wiped: DXVK builds clean, the libs report v3.0.2, the ldd allow-list and DT_RUNPATH=$ORIGIN assertions pass, and all three archives package.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bump the DXVK pin from v2.7.1 to v3.0.2 and rebase the patch series onto it.
Both patches are still required — upstream has fixed neither:
0001 (Windows-ABI 16-bit WCHAR):
WCHARis stillwchar_tin include/native/windows/windows_base.h at v3.0.2. Two rebase changes were needed: upstream dropped the duplicateLPWSTRtypedef the old hunk keyed on, and the shared-NT-handle naming code added in 3.0 (D3D11DXGIResource::CreateSharedHandle, D3D11Fence::CreateSharedHandle) calls the wchar_t-typed wcslen/swprintf, which no longer compiles once WCHAR is 16-bit. Both are rewritten onto DXVK's own str::length / str::transcodeString, which are character-type generic and so behave identically on the Windows build.0002 (use the new surface extent on resize): unchanged upstream; the patch applies with only a line offset.
Also fix the cached-clone path in build_dxvk.sh: it checked the new tag out before discarding the previous run's applied patches, so every version bump failed locally with "local changes would be overwritten by checkout". CI was unaffected (fresh clone every run).
Note for consumers: DXVK 3.0 tightens the Vulkan device requirements (maintenance6, robustness2, depth_clip_enable, 8/16-bit storage, shaderInt8 /shaderInt16 among others moved from optional to required).
Verified by a full local ./build.sh with build/dxvk wiped: DXVK builds clean, the libs report v3.0.2, the ldd allow-list and DT_RUNPATH=$ORIGIN assertions pass, and all three archives package.