Philip Rebohle
588beb5b2f
[hud] Don't initialize client API HUD item by default
...
Removes the client API property from the DXVK device as well.
Instead, client APIs should create the HUD item manually.
2020-01-28 16:32:58 +00:00
Philip Rebohle
7150d2b7fb
[dxvk] Don't enable VK_KHR_descriptor_update_template
...
Core in Vulkan 1.1.
2020-01-17 17:46:59 +01:00
Philip Rebohle
4923bc20f7
[dxvk] Don't enable VK_KHR_shader_draw_parameters
...
Core in Vulkan 1.1.
2020-01-17 17:46:59 +01:00
Philip Rebohle
073669b7e7
[dxvk] Don't enable VK_KHR_maintenance1, VK_KHR_maintenance2
...
Core in Vulkan 1.1.
2020-01-17 17:46:59 +01:00
Philip Rebohle
60145f0167
[dxvk] Don't enable VK_KHR_dedicated_allocation, VK_KHR_get_memory_requirements2
...
Core in Vulkan 1.1.
2020-01-17 17:46:59 +01:00
Philip Rebohle
252ec9406d
[dxvk] Don't enable VK_KHR_get_physical_device_properties2
...
Core in Vulkan 1.1.
2020-01-17 17:46:59 +01:00
Philip Rebohle
dc13f48318
[dxvk] Enable VK_EXT_full_screen_exclusive if available
...
Also pulls in VK_KHR_get_surface_capabilities2 as a dependency.
2019-12-05 13:05:51 +01:00
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
Philip Rebohle
b2317cad4d
[dxvk] Pass DXVK instance to DXVK device directly, not through the adapter
2019-11-08 11:17:02 +01:00
Philip Rebohle
2f15cb7602
[dxvk] Enable VK_KHR_depth_stencil_resolve if available
2019-08-13 12:53:31 +02:00
Philip Rebohle
d127c08487
[dxvk] Enable VK_KHR_create_renderpass2 if available
2019-08-13 12:52:54 +02:00
Philip Rebohle
677e33b9c9
[dxvk] Enable VK_EXT_shader_stencil_export if available
2019-07-18 17:25:48 +02:00
Philip Rebohle
f0fb25c082
[dxvk] Log more device info on device creation
...
This should tell us whether extension features are actually used.
2019-07-18 13:37:14 +02:00
Philip Rebohle
e116ff49e6
[dxvk] Rename memoryAvailable -> memoryBudget
2019-07-13 19:04:33 +02:00
Philip Rebohle
b2a53a2413
[dxvk] Enable VK_EXT_shader_demote_to_helper_invocation if available
2019-07-11 19:33:17 +02:00
Philip Rebohle
ac9610f377
[dxvk] Add VK_EXT_memory_budget as a passive extension
2019-07-03 11:02:13 +02:00
Philip Rebohle
d2d11bf995
[dxvk] Add option to enable or disable the transfer queue
2019-06-29 01:53:32 +02:00
Philip Rebohle
1c39765b86
[dxvk] Rework queue family selection
...
This allows us to support multiple queues more easily.
2019-06-29 01:53:32 +02:00
Philip Rebohle
13359d68d7
[dxvk] Enable VK_KHR_draw_indirect_count if available
...
Useful to implement a corresponding D3D11 extension.
2019-05-06 00:08:57 +02:00
Philip Rebohle
addbae585f
[dxvk] Enable VK_AMD_shader_fragment_mask if available
2019-04-07 21:07:25 +02:00
Philip Rebohle
e395712de7
[dxvk] Add missing feature check for conditional rendering
2019-04-02 04:13:23 +02:00
Philip Rebohle
70520e30aa
[dxvk] Enable conditionalRendering feature if present
2019-03-28 10:02:11 +01:00
Philip Rebohle
8f7e606583
[dxvk] Enable VK_EXT_conditional_rendering if available
2019-03-28 10:02:11 +01:00
Philip Rebohle
3d53f318fd
[dxvk] Enable hostQueryReset device feature if available
2019-03-17 16:24:59 +01:00
Philip Rebohle
9dd9f0ab22
[dxvk] Enable VK_EXT_host_query_reset if available
2019-03-17 16:24:59 +01:00
Philip Rebohle
49965fd79e
[dxvk] Enable depthClipEnable feature if available
2019-02-19 13:57:34 +01:00
Philip Rebohle
cc5ac885f5
[dxvk] Enable VK_EXT_depth_clip_enable if available
2019-02-19 13:53:56 +01:00
Philip Rebohle
10123ce9ab
[dxvk] Pass description of the client API to the DXVK device
2019-02-15 17:38:52 +01:00
Philip Rebohle
cbaeca8f43
[d3d11] Move sType/pNext initialization for dev.features to backend
...
There's no good reason to have this code in the D3D11 module.
2019-02-15 10:20:03 +01:00
Philip Rebohle
412fb9ac57
[dxvk] Use VK_EXT_memory_budget to report memory usage
2019-01-30 15:45:57 +01:00
Philip Rebohle
b76f470c5f
[dxvk] Remove dxvk.allowMemoryOvercommit option
...
The default behaviour is now to allow overallocation by default,
which makes sense especially when VK_EXT_memory_priority is used.
Does not seem to affect Nvidia drivers.
2019-01-30 13:52:43 +01:00
Philip Rebohle
b884c56631
[dxvk] Enable VK_EXT_memory_priority and features if available
2019-01-30 13:52:43 +01:00
Philip Rebohle
652525119f
[vr] Query required device extensions during instance creation
...
After the DXGI device refactor in c5deedef2dcc920f29061c50e097f66a32f1f05e,
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
598280dc3f
[dxvk] Add function to check for a specific driver / driver version
2018-12-12 15:43:39 +01:00
Philip Rebohle
6c992c7b02
[dxvk] Enable VK_KHR_driver_properties
2018-12-12 15:16:25 +01:00
Philip Rebohle
bb1f431e44
[dxvk] Query device ID information if available
...
Co-authored-by: Zhiyi Zhang <zzhang@codeweavers.com>
2018-12-04 19:38:52 +01:00
Philip Rebohle
80b9f1d03b
[dxvk] Remove DxvkSurface
2018-11-28 12:44:18 +01:00
Philip Rebohle
968a085f1e
[dxvk] Query device subgroup properties
...
Also query the device properites for this extension as well
as support for subgroup operations on this device.
2018-11-21 11:17:09 +01:00
Philip Rebohle
bcd5a9235c
[dxvk] Make use of VK_AMD_memory_overallocation_behavior
...
Currently only supported on AMDVLK. Enforces memory limits on a driver
level unless the corresponding dxvk.allowMemoryOvercommit option is enabled.
2018-11-20 15:50:41 +01:00
Philip Rebohle
1af96347e1
[dxvk] Forward memory allocation statistics to the adapter
2018-11-15 17:08:05 +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
989a10ab88
[dxvk] Enable transform feedback device feature if available
...
- Enable geometryStreams feature
2018-10-10 13:05:37 +02:00
Philip Rebohle
e27083a04f
[dxvk] Query transform feedback device properties if available
2018-10-10 13:05:37 +02:00
Philip Rebohle
13ecbcaaf5
[dxvk] Enable VK_EXT_transform_feedback
2018-10-10 13:05:37 +02:00
Philip Rebohle
a78dc3b444
[dxvk] Do not store a strong reference from adapter to instance
...
The instance stores an array of adapters now. Fixes crash when
using the device filter, and fixes the instance not getting
destroyed.
2018-09-16 19:11:15 +02:00
Philip Rebohle
d7441f274b
[dxvk] Enable device features for VK_EXT_vertex_attribute_divisor
2018-09-10 22:10:16 +02:00
Philip Rebohle
ba65a1e36b
[dxvk] Query new Vertex Attribute Divisor features
...
This was added in revision 3 of the extension.
2018-09-10 21:46:14 +02:00
Philip Rebohle
0ba00b3f59
[dxvk] Add extended device feature structure
...
This allows the client API to query and enable extended
features in the future, should it become necessary, much
like the extende feature queries.
2018-07-31 16:58:25 +02:00
Philip Rebohle
ebb7902b2c
[dxvk] Add extended device info structure
...
This uses VK_KHR_get_physical_device_properties2
to query extension-specific device properties.
Queries info for VK_EXT_vertex_attribute_divisor.
2018-07-31 16:03:44 +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