Philip Rebohle
d1eddbdc3f
[dxvk] Make vk::NameSet more versatile
2018-05-17 00:34:38 +02:00
Philip Rebohle
40b52758e3
[dxvk] Enumerate discrete GPUs before integrated GPUs
...
May help with games that do not run on Intel GPUs when
the Intel Vulkan driver is installed alongside the AMD
or Nvidia drivers.
2018-05-16 16:17:39 +02:00
Philip Rebohle
26b319b29b
[d3d11] Fallout 4: Force Flush on GetData calls
2018-05-14 02:40:59 +02:00
Philip Rebohle
a90c2843a7
[dxvk] Remove std::vector from DxvkDataBuffer
...
Vectors are zero-initialized upon resize, which is unnecessary
in this case and potentially impacts performance.
2018-05-13 21:34:38 +02:00
Philip Rebohle
516d7f091e
Merge branch 'disable-opt-bit'
2018-05-13 16:19:31 +02:00
Philip Rebohle
f42f7cc743
[dxvk] Make use of the asynchronous pipeline compiler optional
...
Users can enable this by setting DXVK_USE_PIPECOMPILER=1.
2018-05-13 16:02:23 +02:00
Philip Rebohle
2ee80ce1bd
[dxvk] Log start/stop of pipe compiler worker threads
2018-05-13 15:37:31 +02:00
Philip Rebohle
368eea7310
[dxvk] Use derivative pipelines again
2018-05-13 15:37:18 +02:00
Philip Rebohle
c17f4e2fc0
[dxvk] Increase update buffer size
...
Helps reduce the number of memory allocations further
when deferred contexts are used for rendering.
2018-05-13 14:45:50 +02:00
Philip Rebohle
9d4654f445
[dxvk] Fix update buffer allocation size
2018-05-13 11:12:54 +02:00
Philip Rebohle
3fc9466a07
[dxvk] Fix query scopes
...
Occlusion queries must begin and end in the same render pass.
Fixes a rendering issue in Shadow Warrior 2 on AMD drivers.
2018-05-12 19:46:08 +02:00
Philip Rebohle
5f3b65014f
[dxvk] Reset query pools on the init buffer
2018-05-12 19:45:42 +02:00
Philip Rebohle
3135359ee9
[dxvk] Create a separate command buffer for initialization tasks
...
We'll use this to reset query pools without having to spill
the active render pass. Required to fix a query-related bug.
2018-05-12 19:32:50 +02:00
Philip Rebohle
581e505f54
[dxbc] Fix bit scan instructions
...
firstbithi counts from the MSB rather than the LSB. Fixes
rendering issues in Hitman.
2018-05-12 01:39:23 +02:00
Philip Rebohle
32631caf96
Merge branch 'master' of https://github.com/doitsujin/dxvk
2018-05-11 18:13:50 +02:00
varris1
0034ed4464
[general] Let meson handle cflags ( #362 )
...
Meson determines the cflags by --buildtype. Letting meson handle it will fix the OW crash.
2018-05-11 11:30:03 +02:00
Philip Rebohle
b805560340
[dxvk] Do not log invalid pipeline state
...
Fixes some log spam in case games attempt to render geometry
with an invalid pipeline state vector.
2018-05-10 21:59:57 +02:00
Philip Rebohle
cfb4791872
[dxvk] Use VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT
...
Optimized versions of the pipelines will be compiled asynchronously.
2018-05-10 14:54:44 +02:00
Philip Rebohle
517a7532be
[dxvk] Added DxvkPipelineCompiler
2018-05-10 14:29:13 +02:00
Philip Rebohle
3b132196d3
[dxvk] Add ability to hold two pipeline handles to pipeline instances
2018-05-10 14:15:47 +02:00
Philip Rebohle
010fc6ad49
[dxvk] Implement DxvkGraphicsPipelineInstance
...
This should come in handy when compiling an optimized version of
a pipeline asynchronously. This can be extended to hold multiple
pipeline handles, i.e. one optimized one and one without opts.
Collateral damage: We're not using derivative pipelines anymore,
needs to be re-added at a later point.
2018-05-09 22:23:50 +02:00
Philip Rebohle
ec3b7e39af
[util] Fix includes
2018-05-09 20:37:49 +02:00
Philip Rebohle
c7d2957d8f
[util] Remove duplicate tzcnt function
2018-05-09 20:09:09 +02:00
Philip Rebohle
37456d583e
[dxvk] Move DxvkPipelineCache to DxvkPipeManager
...
Since the pipeline cache isn't used for anything else but compiling
pipelines, keeping this stuff together is much more useful.
2018-05-09 14:26:45 +02:00
Philip Rebohle
47b9fd8b19
[dxvk] Reimplement vertex buffer bindings
...
Reduces the number of Vulkan calls for vertex buffer bindings and
works around incorrect validation errors emitted when applications
do not use a consecutive range of vertex bindings. No performance
impact is expected in most games.
2018-05-09 13:01:52 +02:00
Philip Rebohle
b6d33e6289
[d3d11] D3D11SamplerState: Cosmetic changes
2018-05-09 11:55:05 +02:00
Philip Rebohle
5465ee8a85
[util] Add tzcnt function
2018-05-09 00:01:00 +02:00
Philip Rebohle
33e511485c
[hud] Fixed uninitialized depth bounds values
2018-05-07 21:53:32 +02:00
Philip Rebohle
cd92d0b992
[dxvk] Allow binding render targets of different sizes
...
In order to not cause Vulkan validation issues, we have
to reduce the framebuffer size. Fixes a regression in
Bioshock Infinite.
2018-05-07 20:46:20 +02:00
Philip Rebohle
b6e40bcaa9
[general] Package script: Enable unity builds by default
2018-05-07 20:01:10 +02:00
Philip Rebohle
3c611503d6
[dxgi] Fix reported VRAM size for 32-bit builds
2018-05-07 19:04:25 +02:00
Philip Rebohle
3e111086b2
[d3d11] Implement D3D11CoreCreateDevice
...
Some applications need this function to be present and it's better to
fail for them with an error code rather than crash because the entry
point does not exist in our DLLs.
2018-05-07 14:06:52 +02:00
Philip Rebohle
2dae99e748
[general] Test whether wine executable is actually wine
2018-05-07 09:47:37 +02:00
Philip Rebohle
db7332972e
[general] More consistent use of $wine in setup script
...
Allows users to set this as an environment variable before running
the setup script, which may be useful on distributions shipping
non-standard packages.
2018-05-07 09:34:42 +02:00
Philip Rebohle
757be61b70
[dxgi] Use per-adapter format lookup tables
...
Allows Nvidia cards to use 24-bit depth buffers.
2018-05-06 13:12:30 +02:00
Philip Rebohle
fb3dbd8bcd
[d3d11] Relaxed view format compatibility check
...
Fixes regressions in multiple games. MSDN docs regarding
format compatibility are wrong in every way.
2018-05-05 20:16:01 +02:00
Philip Rebohle
f4a92a685f
[d3d11] Normalize render target and depth-stencil view types
...
Fixes a regression in Kingdom Come: Deliverance that was
introduced in a55bee9554
.
2018-05-05 15:53:49 +02:00
Philip Rebohle
5a639797d2
[d3d11] Fix stencil component mapping in shader resource views
...
Fixes terrain rendering in Far Cry 5.
2018-05-05 15:15:09 +02:00
Philip Rebohle
8177898151
[d3d11] Validate image view format compatibility
...
Fixes Vulkan validation errors in Far Cry 5.
2018-05-05 15:13:35 +02:00
Philip Rebohle
e1a27faa4a
[dxgi] Added DXGI format family info
2018-05-05 12:57:22 +02:00
Philip Rebohle
a55bee9554
[d3d11] Validate render targets before setting them up
...
Mimicks what native D3D11 does. Fixes validation errors in
Nier:Automata with multisampling enabled in some situations.
2018-05-05 09:12:36 +02:00
Philip Rebohle
fb288d8713
[d3d11] Disable VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT for typed formats
...
Yields over 10% performance improvement on RADV in GPU-bound scenarios.
2018-05-05 00:49:43 +02:00
Philip Rebohle
fe24d76fd0
[dxgi] Report D3D10 support only when DXVK_FAKE_DX10_SUPPORT is set
...
Should fix a regression in Assassin's Creed 4: Black Flag.
2018-05-05 00:48:35 +02:00
Philip Rebohle
94b74667e9
[dxgi] Fix Fullscreen->Windowed transition (again)
...
We need to preserve the flags if the application changes them.
This is in line with what native DXGI does.
2018-05-04 21:55:38 +02:00
Philip Rebohle
c2c8d8be8a
[d3d11] Minor formatting fix
2018-05-04 21:52:34 +02:00
Philip Rebohle
6cbc133619
[dxgi] Use ShowWindow instead of redundant SetWindowPos call
2018-05-04 17:53:02 +02:00
Philip Rebohle
de803b3670
[dxgi] Report refresh rate as a multiple of 1000 Hz
...
More closely emulates what Windows dows.
2018-05-04 17:37:29 +02:00
Philip Rebohle
9cec1ecca3
[d3d11] Fix stage and access mask for default constant buffers
2018-05-04 10:23:36 +02:00
Philip Rebohle
ac1d505d14
[dxvk] Do not compute SHA-1 hash of generated shaders
...
We do not need this on this branch.
2018-05-04 00:16:39 +02:00
Philip Rebohle
ae0e5bccdd
[dxvk] Make shader accessible from shader module
2018-05-03 23:56:28 +02:00