Implement Direct3D9 Frontend - #1275
Merged
Merged
Conversation
However, SetGammaRamp does persist between device reset and will be automatically applied if we do go into fullscreen based on testing.
âĶed things out of the unimplemented range
Fixes Haswell not working as it doesn't support vertexPipelineStoresAndAtomics.
âĶ_SYSTEMMEM Fixes a crash in Disciples III.
Required for fixed function -- might change this solution later on however
Fixes a soft-ctd in A Hat in Time
This fixes a rendering issue in fr-030 candytron.
Fixes the minimap border aliasing in GTA IV. Matches OpenGL/Gallium behaviour when not using vertices in window space. Found by @K0bin (Robin Kertels <robin.kertels@gmail.com>)
Fixes The Witcher 2, which calls CreatePixelShader and then CreateVertexShader with the same result ptr and uses the result of whatever call succeeds Supersedes doitsujin#361
The new method returns a value instead of a pointer. This allows us to do two things: - Easily implement range checks for relative indexing - Return defs directly rather than through a variable
Instead, use the constant IDs directly. Simplifies some code.
Fixes decompilation/recompilation in RenderDoc
Fixes recompilation/decompilation in RenderDoc
Avoids passing a bunch of refs manually
Counts the number of sampler pairs (color + depth) we create.
Enable this option to disable exclusive fullscreen by default. Closes doitsujin#475
Cleans up some messy lambda stuff we were doing. Adds a fast path for when we aren't doing SWVP. Eliminate std::array from the constant set structures.
On my to-do for a while
Pretty silly oversight on my behalf.
Matches documentation and test behaviour
âĶeblocks Fixes and matches ref-counting for device child resources to native d3d9. Fixes memory and resource leaks in stateblocks, deletion and device resetting.
Owner
|
ðļ |
doitsujin
approved these changes
Dec 16, 2019
|
My prayers have been answered! Praise the frog! ðļ |
Fincer
added a commit
to Fincer/dxvk-wine-autobuilder
that referenced
this pull request
Dec 16, 2019
|
Do you know what would be even nicer? To have a D12VK, so that we can play DX12 game in Linux. |
|
@IvoAndonov well... Technically there's vkd3d for that. |
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.
It's finally here!~
This PR merges D9VK into DXVK, which is a Direct3D9 implementation using the DXVK backend.
The reason being is D9VK is usable and mostly feature complete now, even having some additional features not exposed by other implementations, and it would be nice to have all our D3D implementations in one place/project! ð
It's finally time to merge!
What's next?
Once this gets merged, the d3d9 frontend will then be developed inside this repository.
What's to-do feature wise to be properly complete as of this PR:
and of course...
Lots of bug fixing!
Have fun!
Love from Josh ðļâĪ~