Philip Rebohle
b6c395c013
[dxvk] Don't track command count in CS chunks
...
We weren't using this at all, and it's not necessary
to check whether the chunk is empty either.
2019-07-17 12:52:25 +02:00
Philip Rebohle
11b7fc8914
[d3d11] Catch invalid ClearUnorderedAccessViewFloat calls
...
This method cannot be called on integer UAVs.
2019-07-17 11:47:42 +02:00
Philip Rebohle
b20ceec727
[d3d11] Handle integer formats in ClearRenderTargetView correctly
...
We're supposed to apply the same color conversion as in ClearView.
2019-07-17 11:47:42 +02:00
Philip Rebohle
c6ea115ca3
[dxvk] Add method to retrieve buffer view format info
2019-07-17 11:47:42 +02:00
Philip Rebohle
c29314de5a
[dxvk] Change DxvkImageView::formatInfo to return view format info
...
Makes more sense and won't break any existing code using it.
2019-07-17 11:33:39 +02:00
Philip Rebohle
7895272806
[dxvk] Use correct command buffer for buffer updates
...
Fixes a regression in SpellForce 3.
2019-07-16 23:47:33 +02:00
Philip Rebohle
493b55b073
[dxvk] Compute memory chunk size per memory type rather than per heap
2019-07-16 09:59:44 +02:00
Philip Rebohle
6936da17d9
[dxvk] Try harder to allocate memory from a given memory type
...
Before failing, see if we can't allocate a smaller chunk size.
2019-07-16 09:59:44 +02:00
Philip Rebohle
18aada29ef
[dxvk] Don't put large resources into their own memory allocations
...
This approach currently has two issues:
- We might fail to allocate the resource on the desired memory type
even if there is a chunk available that it would tif in
- With 128MB chunks, this no longer seems to be beneficial anyway
2019-07-16 09:24:55 +02:00
Philip Rebohle
ad8fdcac07
[dxvk] Don't mark queries as stalling if DONOTFLUSH is set
2019-07-16 01:19:02 +02:00
Philip Rebohle
362ecf1e0e
[meta] Fix release number
2019-07-15 20:42:37 +02:00
Philip Rebohle
acf6c27e76
[dxvk] Limit maximum size of multi-slice buffers
...
Reduces memory fragmentation caused by frequently renamed buffers.
2019-07-15 04:14:23 +02:00
Philip Rebohle
d8e31f221f
[dxvk] Fix offset in DxvkBuffer::subSlice
2019-07-15 04:06:12 +02:00
Philip Rebohle
f88658d88c
[dxvk] Template BindPoint parameter in some DxvkContext methods
...
Again, there's no reason not to do this since the argument is always
constant, and we can skip some work in the compute case.
2019-07-14 20:09:35 +02:00
Philip Rebohle
def05f007c
[dxvk] Template Index parameter of commitGraphicsState
...
This is always constant anyway, so avoid some unnecessary code.
2019-07-14 19:57:50 +02:00
Philip Rebohle
8dfdda7a39
[dxvk] Get rid of validateCompute/GraphicsState
...
After all this time we haven't found a single situation where
we need more validation, so scrap it. Checking whether there
is an active render pass was redundant anyway.
2019-07-14 19:34:56 +02:00
Philip Rebohle
a93dd74f71
[dxvk] Don't use derivative pipelines
...
No driver appears to be taking advantage of this, so why bother.
2019-07-14 13:58:00 +02:00
Philip Rebohle
03c6df56c1
[d3d11] Initialize subresourceLayers in the inner loop
...
Not doing so causes Dirt Rally to fail uploading some textures
properly for some extremely weird reason.
2019-07-13 23:39:58 +02:00
Philip Rebohle
7cb385facd
[meta] Release 1.3
2019-07-13 19:15:30 +02:00
Philip Rebohle
e116ff49e6
[dxvk] Rename memoryAvailable -> memoryBudget
2019-07-13 19:04:33 +02:00
Joshua Ashton
fac3ae9f83
[spirv] Implement opCross
2019-07-12 23:32:09 +02:00
Joshua Ashton
f280386aec
[spirv] Implement opFMix
2019-07-12 23:32:09 +02:00
Philip Rebohle
649cc07f5e
[tests] Enable demoteToHelperInvocation in off-line DXBC compiler
2019-07-11 19:33:17 +02:00
Philip Rebohle
8644d75722
[dxbc] Use OpDemoteToHelperInvocationEXT for discards if supported
2019-07-11 19:33:17 +02:00
Philip Rebohle
e901e1269d
[spirv] Add support for OpDemoteToHelperInvocationEXT
2019-07-11 19:33:17 +02:00
Philip Rebohle
7b34b8515b
[d3d11] Enable shaderDemoteToHelperInvocation feature
2019-07-11 19:33:17 +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
e076b75579
[meta] Update SPIR-V headers
2019-07-11 19:33:17 +02:00
Philip Rebohle
5c7f8d8e30
[meta] Update Vulkan headers
2019-07-11 19:33:14 +02:00
Liam Middlebrook
2e83aae472
[dxbc] Print shader signatures at debug loglevel
2019-07-11 12:40:44 +02:00
Liam Middlebrook
ff4fa29304
[dxbc] Add string output function for DxbcRegMask
2019-07-11 12:40:44 +02:00
Liam Middlebrook
2164a44887
[dxbc] Add ostream operator for DxbcScalarType
2019-07-11 12:40:44 +02:00
Joshua Ashton
89afd586ef
[build] Mark tests as gui apps in Meson
...
Fixes building the tests on Windows and uses the right entrypoint and linker subsystem.
2019-07-08 17:09:07 +02:00
Philip Rebohle
06d4e06d8a
[dxbc] Enable early discard on RADV/ACO
...
Still can't enable on LLVM due to GPU hangs. The way we detect it
may have to change in the future, but for now, this should do.
2019-07-08 16:30:56 +02:00
Robin Kertels
47f7333c18
[d3d11] Fix RSGetViewports and RSGetScissorRects behaviour
...
Fixes #1116 .
2019-07-08 13:14:42 +02:00
Philip Rebohle
24e1969dc4
[dxvk] Remove obsolete DxvkEvent class
2019-07-08 00:16:03 +02:00
Philip Rebohle
15072afa1f
[d3d11] Use new signals as frame synchronization events
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
4e8122eda9
[dxvk] Add new signal class
2019-07-08 00:16:00 +02:00
Philip Rebohle
c631953ab6
[d3d11] Don't immediately synchronize after present
...
This will actually enable asynchronous presentation.
Improves performance in Quake Champions.
2019-07-05 21:20:09 +02:00
Philip Rebohle
77db8158c8
[dxvk] Add option to toggle asynchronous presentation
2019-07-05 21:20:09 +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
0900f5d1bc
[dxvk] Fix typo
2019-07-05 15:09:15 +02:00
Philip Rebohle
1cc531eaf8
[d3d11] Return error when mapping an already mapped image
...
Final Fantasy XIV does this. Should avoid some unnecessary work.
2019-07-05 10:25:06 +02:00
Philip Rebohle
2f64f5b4e7
[dxvk] Check whether CS thread is busy before synchronizing with it
...
Reduces unnecessary locking overhead, which may be relevant if this
function gets called frequently by GetData or WaitForResource.
2019-07-04 21:37:17 +02:00
Philip Rebohle
f6dbf5bbf0
[dxvk] Increase staging buffer size to 32 MiB
...
Since the chunk size was also doubled to 128 MiB and we want
staging buffers to get their own allocations.
2019-07-04 20:39:27 +02:00
Philip Rebohle
3b1376b2fe
[dxvk] Increase memory chunk size to 128 MiB
...
Nvidia drivers apparently don't like smaller chunks very much.
May increase overall memory consumption and fragmentation.
2019-07-04 16:11:13 +02:00
Philip Rebohle
3b128179ab
[dxvk] Print VK_EXT_memory_budget stats on allocation failure
...
Based on PR #1112 , but using a cleaner method to check
support for the VK_EXT_memory_budget extension.
Suggested-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
2019-07-03 11:11:12 +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
f21c02caef
[dxvk] Add support for passive device extensions
...
These extensions only affect physical device functionality and
do not have to be enabled during device creation.
2019-07-03 10:59:48 +02:00