1
0
mirror of https://github.com/EduApps-CDG/OpenDX synced 2024-12-30 09:45:37 +01:00

26 Commits

Author SHA1 Message Date
Joshua Ashton
c39c3e8dcc [dxvk] Hook up platform-specific clock
See 89dfa2bc22577c758cb8badd34e4f177192a6eff
2019-11-26 01:52:58 +01:00
Philip Rebohle
6b3d60ab25
[dxvk] Enable asynchronous presentation on all hardware
...and remove the dxvk.asyncPresent option.
2019-11-19 23:34:24 +01:00
Philip Rebohle
2e9a836adb
[dxvk] Handle device lost errors on command submission 2019-09-22 19:06:53 +02:00
Philip Rebohle
a558f82b5f [dxvk] Implement asynchronous presentation option in the backend 2019-08-04 21:49:55 +02:00
Philip Rebohle
c89bec5abd
[dxvk] Don't log submission errors on presentation
Makes no sense and only leads to confusion.
2019-07-20 20:25:18 +02:00
Philip Rebohle
3d86ecd94d
[dxvk] Estimate GPU idle time based on cleanup thread activity
We'll assume that GPU idle time == time spent waiting for new
command lists to be added to the queue of the cleanup thread.
This isn't entirely accurate, especially if CPU load is very
high, but should be good enough.
2019-07-18 22:54:11 +02:00
Philip Rebohle
24e1969dc4
[dxvk] Remove obsolete DxvkEvent class 2019-07-08 00:16:03 +02:00
Philip Rebohle
f0acc40e50
[dxvk] Add support for new signals to the backend 2019-07-08 00:16:03 +02:00
Philip Rebohle
ed5c43a14d
[dxvk] Implement asynchronous presentation
Off-loads the vkQueuePresentKHR call to the queue submission thread
to avoid synchronization with that thread on a present call.
2019-07-05 15:11:59 +02:00
Philip Rebohle
d8163c4446
[dxvk] Don't pass queue handles to DxvkCommandList
Instead, pull them from the device as needed. This coupling would
only make sense if we required one command list per queue family.
2019-06-29 01:53:32 +02:00
Philip Rebohle
b35f3c14df
[dxvk] Off-load command buffer submission to separate thread
Reduces load on the CS thread a bit, which may yield a small
performance improvement.
2019-05-05 16:49:17 +02:00
Philip Rebohle
412d79c8c1
[d3d11] Use new query implementation 2019-03-14 21:16:41 +01:00
Philip Rebohle
3935d2540e
[util] Get rid of explicit wchar_t parameter
We shouldn't be catering to Windows' weird string encoding mechanisms.
2019-01-11 13:43:15 +01:00
Philip Rebohle
0f52ec2796
Revert "[dxvk] Move command submission to separate thread"
This reverts commit f61ff5d345fdbd1627b2fd833f57ff303015c747.

Apparently, this causes extremely poor frame times on some
configurations. Reason is currently unknown.
2018-09-20 19:58:00 +02:00
Philip Rebohle
f61ff5d345
[dxvk] Move command submission to separate thread
- Reduces load on the CS thread and the main rendering thread.
- This takes into account that VR apps access the queue as well.
2018-09-20 14:43:06 +02:00
Philip Rebohle
79a1703aea
[util] Set thread names for DXVK's own threads
Makes it easier to identify the command stream thread and the
queue processing thread easier when using a wine build that
supports SetThreadDescription.
2018-06-21 15:12:04 +02:00
Philip Rebohle
cfe99368fb
[dxvk] Make number of queued submissions available to DXVK 2018-06-04 23:24:42 +02:00
Philip Rebohle
0bdae4f930
[dxvk] Move fence object into DxvkCommandList
Reduces command submission overhead by reusing fence objects
instead of creating new ones for each submission. Improves
error reporting in case the submission cannot be complete.
2018-03-22 18:57:33 +01:00
Philip Rebohle
9215cfdcf2
[dxvk] Minor 2018-03-22 11:01:54 +01:00
Philip Rebohle
bdfbd3e81c
[dxvk] Implemented new workaround for query-related lockups
vkGetQueryPoolResults may never return if VK_QUERY_RESULT_WAIT_BIT is
set, and may return queries as not available when they should in fact
be available. This would cause indefinite hangs, so instead we return
fake data to query objects if retrieving query data fails.
2018-02-28 12:39:16 +01:00
Philip Rebohle
5fea615ed7 [dxvk] Implement backend part for event queries 2018-02-18 22:57:45 +01:00
Philip Rebohle
7ddd2500d1 [dxvk] Added query tracker 2018-02-18 20:11:05 +01:00
Philip Rebohle
86db5aab67
[dxvk] Increased queued command submission limit
Potentially reduces the number of sync points when a game
is primarily GPU limited. Improves performance in Nier by
a few frames per second.
2018-01-14 11:23:14 +01:00
Philip Rebohle
a368d04fa0 [dxvk] Removed leftover line of code 2017-12-25 16:09:00 +01:00
Philip Rebohle
89138e5b40 [dxvk] Fixed lockup issue in thread destructors 2017-12-25 16:05:11 +01:00
Philip Rebohle
1fe5b74762 Optimized command submission
Command submission now does not synchronize with the device every single
time. Instead, the command list and the fence that was created for it are
added to a queue. A separate thread will then wait for the execution to
complete and return the command list to the device.
2017-12-16 18:10:55 +01:00