Philip Rebohle
b2969f628f
[dxvk] Introduce DxvkGraphicsPipelineDynamicState
2022-07-31 02:53:20 +02:00
Philip Rebohle
63420c0cd7
[dxvk] Introduce DxvkGraphicsPipelineShaderState
...
And factor out a bunch of related code.
2022-07-31 02:53:20 +02:00
Philip Rebohle
30fa9df868
[dxvk] Introduce DxvkGraphicsPipelineSpecConstantState
2022-07-31 02:53:20 +02:00
Philip Rebohle
32c2d91961
[dxvk] Make DxvkShaderModuleCreateInfo usable with lookup tables
2022-07-31 02:53:20 +02:00
Philip Rebohle
9cb0d6d610
[dxvk] Make fragment shader state usable with lookup tables
2022-07-31 02:53:20 +02:00
Philip Rebohle
97ab6a313b
[dxvk] Make pre-rasterization state usable with lookup tables
2022-07-31 02:53:20 +02:00
Philip Rebohle
0a15146746
[dxvk] Use unordered map to look up base pipelines
...
No reason to use a linear list here. The object is always locked
when we access this list, so we don't need the lock-free one here.
2022-07-31 02:53:20 +02:00
Philip Rebohle
0eaad2eb5b
[dxso] Don't create shader object for redundant PS permutations
2022-07-30 22:15:41 +01:00
Joshua Ashton
76ddd2a35a
[build] Use current_source_dir instead of source_root
...
source_root is deprecated and doesn't work if we are used in a subproject
2022-07-30 21:28:09 +02:00
Joshua Ashton
297759be4e
[build] Initial reworkings for non-Windows platform support in Meson
2022-07-30 21:28:09 +02:00
Philip Rebohle
8d72b8e820
[dxvk] Reject pipelines that set unused spec constants
2022-07-30 21:24:15 +02:00
Philip Rebohle
54f9eaf13c
[dxvk] Don't spam log messages when pipeline state validation fails
2022-07-30 21:17:21 +02:00
Philip Rebohle
4d8b75c8fb
[d3d9] Fix spec constant derp
2022-07-30 20:38:58 +02:00
Philip Rebohle
10e6d0ef8a
[dxvk] Don't redundantly reset spec constant values
...
No longer needed.
2022-07-30 20:38:04 +02:00
Philip Rebohle
ec7de66419
[util] Use transcodeString in tows and fromws helpers
2022-07-30 20:30:32 +02:00
Philip Rebohle
1c08725acd
[util] Use transcodeString in createDirectory function
2022-07-30 20:30:32 +02:00
Philip Rebohle
65070bd765
[util] Use transcodeString in setThreadName function
2022-07-30 20:30:32 +02:00
Philip Rebohle
bb3c0b9707
[dxgi] Use transcodeString to convert adapter name
2022-07-30 20:30:32 +02:00
Philip Rebohle
200df73ba7
[util] Implement utility functions for string conversion
2022-07-30 20:30:32 +02:00
Robin Kertels
bad7d4690b
[d3d9] Handle very large Up draws
2022-07-30 20:29:31 +02:00
Philip Rebohle
2782afaf8a
[dxvk] Inline pushConstants method
...
No reason not to.
2022-07-30 17:52:55 +02:00
Philip Rebohle
94ca65d587
[dxvk] Ignore spec constants that are not used by the current pipeline
...
May reduce the number of pipeline permutations.
2022-07-30 17:42:46 +02:00
Philip Rebohle
47794b661e
[dxvk] Only pass requried spec constants when compiling compute pipelines
2022-07-30 16:00:28 +02:00
Philip Rebohle
b90f8819c6
[dxvk] Only pass required spec constants when compiling graphics pipelines
2022-07-30 15:54:38 +02:00
Philip Rebohle
80a58f000a
[dxvk] Generate bit mask of used spec constants in DxvkShader
...
This way we can more accurately track which constants are used, and not
pass any unnecessary data at compile time. We can extend this in the
future to also skip unused constants for pipeline lookups.
Also, any spec constant with the ID of MaxNumSpecConstants will be treated
as a spec constant selector. If the shader uses this constant, it is assumed
that it does not access any other spec constants if the value of this constant
is 0. This will allow shaders with spec constants to be used with pipeline
libraries.
2022-07-30 15:46:47 +02:00
Joshua Ashton
753aede1fc
[d3d9] Correct comment about ProjectionType
2022-07-30 12:34:18 +00:00
Joshua Ashton
1d1f0c7e7e
[d3d9] Document D3D9SpecConstantId
2022-07-30 12:30:33 +00:00
Robin Kertels
ea76bfd019
[d3d9] Unmap unused resources
2022-07-29 13:14:33 +01:00
Robin Kertels
b4f432f1de
[util] Implement LRU list
2022-07-29 13:14:33 +01:00
Robin Kertels
6ca6554452
[d3d9] Use memory mapped files for textures
2022-07-29 13:14:33 +01:00
Robin Kertels
d598fd3156
[d3d9] Add HUD item for unmappable memory
2022-07-29 13:14:33 +01:00
Robin Kertels
c3dbb6429f
[d3d9] Implement memory allocator for memory mapped files
2022-07-29 13:14:33 +01:00
Robin Kertels
08ad6583ea
[d3d9] Only set upload bit for managed textures
...
Otherwise D3DPOOL_DEFAULT can hit the draw time late
upload path.
2022-07-29 13:14:33 +01:00
Robin Kertels
ba4d95c5fc
[d3d9] Remove direct upload path
...
And remove some tracking that will no longer be necessary.
2022-07-29 13:14:33 +01:00
Robin Kertels
45c1d7911e
[d3d9] Remove evictManagedOnUnlock
...
This is annoying to maintain and hopefully won't be necessary anymore.
2022-07-29 13:14:33 +01:00
Robin Kertels
116feca6af
[d3d9] Handle unbound textures in fixed function shaders
2022-07-28 14:56:28 +00:00
Philip Rebohle
6c5f73ac26
[dxvk] Reintroduce VkPhysicalDeviceIDProperties
...
We need this to get the device LUID. Wine does not fill in the
LUID properties in VkPhysicalDeviceVulkan11Properties right now.
Fixes DLSS not working, as well as other potential issues.
2022-07-26 22:38:33 +02:00
Joshua Ashton
6425d2368b
[build] Use arch-mingw-github-action v8
...
Fixes generated version info.
2022-07-26 18:49:22 +01:00
Philip Rebohle
5fe04eb6ac
[dxvk] Fix weird indentation
...
how did this happen
2022-07-26 02:40:30 +02:00
Blisto91
b06140af47
[util] set maxFrameLatency to 1 for YS Origin
2022-07-25 16:20:28 +02:00
Philip Rebohle
08da6d8ca4
[dxbc] Bound-check mip level for resinfo instruction
2022-07-25 15:58:55 +02:00
Krzysztof Dobrowolski
abf5ed154f
[dxvk] Add Direct3D9ForceHybridEnumeration empty export function.
2022-07-25 12:04:27 +00:00
Philip Rebohle
b67d5c8c1d
[util] Correctly mark flag register as clobbered
2022-07-24 17:30:54 +02:00
Philip Rebohle
41ec5d2c52
[dxvk] Avoid bsf instruction
...
It's very slow compared to tzcnt on some CPUs, and we have a working fallback.
2022-07-24 15:24:00 +02:00
Philip Rebohle
9cd0473544
[util] Set ignoreGraphicsBarriers option for Stray
2022-07-23 21:21:22 +02:00
Philip Rebohle
9d8484f2e9
[dxvk] Use synchronization2 functions for timestamp queries
...
Again not really making use of the new stage flags, but might as well
call the function. Oversight from earlier changes.
2022-07-23 15:32:59 +02:00
Blisto91
cb291f29a1
[util] enable alphaTestWiggleRoom for Ninja Blade
2022-07-23 13:02:53 +00:00
Blisto91
f2d4455cdf
[util] enable dialog mode for NFS 3 modern patch
2022-07-22 19:47:44 +02:00
Derek Lesho
8fefb099d7
[d3d11] Add support for shared ID3D11Fence resources
2022-07-21 23:39:31 +02:00
Derek Lesho
a3548f8043
[dxvk] Add shared handle access to DxvkFence
2022-07-21 23:39:31 +02:00