Commit Graph

109 Commits

Author SHA1 Message Date
Philip Rebohle a74449c367
[dxvk] Remove ability to query instance from adapter
Adapters don't hold a reference to the instance.
2019-11-08 11:28:08 +01:00
Joshua Ashton dbf2407fd3 [dxvk] Implement extension provider system
This change introduces a new system for providing extra instance/device extensions.

This consolidates platform-specific and vr-related to its' own thing for potential future cross-platform/native Linux work.
2019-11-07 01:24:52 +01:00
Philip Rebohle 7db98a1aa4
[meta] Release 1.4.4 2019-10-27 17:56:31 +01:00
Philip Rebohle ad3542f4fc
[meta] Release 1.4.3 2019-10-18 17:50:38 +02:00
Philip Rebohle 70ef456911
[meta] Release 1.4.2 2019-10-04 21:07:36 +02:00
Philip Rebohle 6b5d01c934
[meta] Release 1.4.1 2019-09-27 23:03:23 +02:00
Philip Rebohle 21b2a9a078
[meta] Release 1.4 2019-09-21 16:15:37 +02:00
Philip Rebohle e2808309a3
[metæ] Release 1.3.4 2019-09-08 21:03:46 +02:00
Philip Rebohle 2776ef43a3
[meta] Release 1.3.3 2019-08-29 20:56:47 +02:00
Philip Rebohle 54ca5900e1 [util] Use regular expressions on full exe path to match app profiles
This allows us to detect applications with non-unique executable names
or with variable executable names more reliably, and also allows us to
merge profiles for games that have multiple known exe names.

The matching is also no longer case-sensitive.
2019-08-18 17:49:22 +02:00
Philip Rebohle 9fdd7bf789
[meta] Release 1.3.2 2019-08-05 20:38:22 +02:00
Philip Rebohle f5cec978c8
[meta] Release 1.3.1 2019-07-20 20:33:19 +02:00
Philip Rebohle 7cb385facd
[meta] Release 1.3 2019-07-13 19:15:30 +02:00
Philip Rebohle 7491c06389
[meta] Release 1.2.3 2019-06-26 17:33:57 +02:00
Philip Rebohle dc3e5e5949
[meta] Release 1.2.2 2019-06-15 12:58:31 +02:00
Philip Rebohle cdc5e93dac
[meta] Release 1.2.1 2019-05-19 14:43:33 +02:00
Philip Rebohle 26602b296f
[meta] Release 1.2 2019-05-13 20:40:11 +02:00
Philip Rebohle 37f9a7ffff
[meta] Release 1.1.1 2019-05-04 15:59:18 +02:00
Philip Rebohle 1da7b1e87c
Revert "[meta] Release 1.1"
This reverts commit a696f69ec2.
2019-04-07 10:13:18 +02:00
Philip Rebohle a696f69ec2
[meta] Release 1.1 2019-04-06 16:26:21 +02:00
Chip Davis 13a6ecadcd [dxvk] Remove needless lambda capture of 'this'. 2019-03-27 21:59:15 +01:00
Philip Rebohle 7fa2fb5188
[meta] Release 1.0.1 2019-03-14 19:07:18 +01:00
Philip Rebohle 10140f40ca
[dxvk] Release 1.0 2019-02-25 20:26:50 +01:00
Philip Rebohle 35c7d687ff
[meta] Release 0.96 2019-01-26 18:41:48 +01:00
Philip Rebohle ddce33692c
[meta] Release v0.95 2019-01-12 21:42:49 +01:00
Philip Rebohle 652525119f
[vr] Query required device extensions during instance creation
After the DXGI device refactor in c5deedef2d,
device extensions required for OpenVR interop would not be enabled correctly
because the VR-related code is now being called from both the D3D11 and DXGI
DLLs rather than just the DXGI DLL, and the D3D11 one is not in the expected
state when querying required device extensions. Querying them during instance
creation fixes that problem as it moves the relevant code back to the same
DLL which creates the Vulkan instance.
2018-12-20 01:32:56 +01:00
Philip Rebohle 92f3648efa
[meta] Release 0.94 2018-12-15 13:54:57 +01:00
Philip Rebohle f7b3b9ca5c
[dxvk] Add new methods to find adapters by LUID or device ID
Co-authored-by: Zhiyi Zhang <zzhang@codeweavers.com>
2018-12-04 19:38:52 +01:00
Philip Rebohle 10b272b4c9
[meta] Release 0.93 2018-11-24 10:41:41 +01:00
Philip Rebohle 67e10246cb
[dxvk] Request Vulkan 1.1 instance
Falls back to a regular 1.0 instance on old drivers.
We need to do this in order to legally use SPIR-V 1.3.
2018-11-21 11:17:09 +01:00
Philip Rebohle 99f6953e89
[dxvk] Store DXVK options directly with the instance object 2018-11-20 15:50:01 +01:00
Philip Rebohle 8d2f8fca64
[meta] Release v0.92 2018-11-11 16:16:01 +01:00
Philip Rebohle 70b14f9dbf
[dxvk] Report app name to the Vulkan implementation
Because why not?
2018-11-07 21:54:00 +01:00
Philip Rebohle e0f1510901
[meta] Release 0.91 2018-11-04 17:23:27 +01:00
Philip Rebohle 45a234607a
[dxvk] Track device / instance ownership
This allows us to use the Vulkan function loader for a vkd3d device.
2018-11-02 14:13:07 +01:00
Philip Rebohle 890e5f8c9c
[meta] Release v0.90 2018-10-13 16:31:32 +02:00
Philip Rebohle 09bbb68d98
[meta] Release v0.81 2018-10-05 21:14:11 +02:00
Philip Rebohle 1c865328d3
[meta] Release v0.80 2018-09-23 19:01:15 +02:00
Philip Rebohle b6bf72aeb6
[dxvk] Fix some legacy cruft around Vulkan instance creation 2018-09-15 14:16:56 +02:00
Jens Peters d4947261c6
[util] Improve logging of configuration options 2018-09-14 15:34:46 +02:00
Philip Rebohle 34152a01a5 [dxvk] Add device filter
When setting DXVK_FILTER_DEVICE_NAME, only devices with a
matching device name will be reported to the application.
2018-08-27 14:22:14 +02:00
Philip Rebohle fb9b520f60
[util] Move getAppConfig and getUserConfig to Config class
Fixes linker errors with winelib builds.
2018-08-07 16:59:49 +02:00
Philip Rebohle c0398caa2b
[dxvk] Load user config as well as per-app options in DxvkInstance 2018-08-07 14:59:09 +02:00
Philip Rebohle 656cb2e4aa
[dxvk] Refactor Vulkan extension management
Adding an extension will now require an additional step, but
this evolved version of the extension list code is more sane
and the structures can be more easily copied around.
2018-07-23 20:07:21 +02:00
Philip Rebohle 2fce0a7685
[build] Extract version number from git if available
Logs the version number and game executable name as well.
2018-07-11 17:39:00 +02:00
Philip Rebohle 0e6e985210
[vr] Maintain global extension sets
Preserves the per-instance and per-adapter extension sets across
multiple Vulkan instances. Works around initialization order issues
with Unity-based VR apps.
2018-06-26 15:56:13 +02:00
Philip Rebohle 9cae049b53
[dxvk] Move adapter list to the DXVK instance 2018-06-26 12:33:26 +02:00
Philip Rebohle d1d829c09b
[vr] Query Vulkan extensions for OpenVR at runtime 2018-05-18 16:47:44 +02:00
Philip Rebohle 7408bc22b5
[dxvk] Remove ability to enable instance layers 2018-05-17 00:35:12 +02:00
Philip Rebohle 796379a551
[dxvk] Refactor the way instance extensions are enabled 2018-05-17 00:34:48 +02:00
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
Gabriel Majeri f582c4e1ce Throw error if requested layer is not installed (#100)
* Warn if requested layer is not enabled

* Replace warning with hard error
2018-02-24 22:07:31 +01:00
Philip Rebohle f4cd90d6fa [dxbc] Implemented vendor-specific workarounds in an attemt to fix Nvidia 2018-01-07 20:05:27 +01:00
Philip Rebohle de47fa29e1 [dxvk] Refactored Vulkan device and instance destruction, now more RAII friendly 2017-12-11 19:48:00 +01:00
Philip Rebohle 9e1cf8396b [dxvk] Added environment variable to toggle debug layers 2017-12-08 01:32:02 +01:00
Philip Rebohle f924931d2d [general] Removed TRACE calls for now 2017-11-26 14:01:41 +01:00
Philip Rebohle 2ee51ea4b2 [dxvk] Added debug tracing 2017-10-11 00:27:33 +02:00
Philip Rebohle 00e63d71a9 Initial commit 2017-10-10 23:32:13 +02:00