Philip Rebohle
03f00453ef
[dxvk] Add command list functions for conditional rendering
2019-03-28 10:02:11 +01: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
Chip Davis
13a6ecadcd
[dxvk] Remove needless lambda capture of 'this'.
2019-03-27 21:59:15 +01:00
Chip Davis
7a37d88067
[dxvk] Log vertex attributes and buffers when logging pipeline state.
...
This was invaluable in diagnosing a missing feature from MoltenVK.
2019-03-27 21:59:03 +01:00
Philip Rebohle
edd63d3972
[dxvk] Fix buffer offset in copyDepthStencilImageToPackedBuffer
2019-03-27 14:23:58 +01:00
Philip Rebohle
03881dde72
[dxvk] Implement blitImage function
2019-03-27 02:31:04 +01:00
Philip Rebohle
b3ea1b02eb
[dxvk] Implement depth-stencil upload via temporary buffer
2019-03-26 17:54:14 +01:00
Philip Rebohle
0d889e0dcd
[dxvk] Implement depth-stencil unpacking
2019-03-26 17:54:10 +01:00
Philip Rebohle
de45ffd749
[dxvk] Create depth-stencil unpacking pipelines
2019-03-26 16:05:27 +01:00
Philip Rebohle
7124c3f449
[dxvk] Add depth-stencil unpacking shaders
2019-03-26 16:05:27 +01:00
Philip Rebohle
90c7878a53
[dxvk] Rename dxvk_resolve_{vert|geom} -> dxvk_copy_{vert|geom}
2019-03-25 18:22:56 +01:00
Philip Rebohle
7627f6e3ed
[dxvk] Optimize meta copy barriers
2019-03-25 17:58:31 +01:00
Philip Rebohle
fd0daa5ec7
[dxvk] Optimize meta geometry shaders
2019-03-25 17:58:25 +01:00
Philip Rebohle
73bb0d8ae2
[dxvk] Remove shader-based resolve
...
No longer necessary since we're using render pass resolve now.
2019-03-24 16:36:35 +01:00
Philip Rebohle
75ee1f42c2
[dxvk] Use resolve attachment for meta-resolve ops
...
Faster than the naive fragment shader-based solution.
2019-03-19 11:45:56 +01:00
Philip Rebohle
209248e26d
[dxvk] Use vkResetQueryPoolEXT to reset individual queries
...
This is much faster than the fallback path which uses GPU functions.
2019-03-17 16:25:00 +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
412d79c8c1
[d3d11] Use new query implementation
2019-03-14 21:16:41 +01:00
Philip Rebohle
e5441e841f
[dxvk] Support new query implementation
2019-03-14 21:16:41 +01:00
Philip Rebohle
a8144370c8
[dxvk] Create new query pool and forward it to the context
2019-03-14 21:16:41 +01:00
Philip Rebohle
772fa3074f
[dxvk] Add new query implementation
2019-03-14 21:16:41 +01:00
Philip Rebohle
3dbd755075
[dxvk] Implement method to signal GPU events
2019-03-14 21:16:41 +01:00
Philip Rebohle
6b9653d261
[dxvk] Create GPU event pool and forward it to the context
2019-03-14 21:16:41 +01:00
Philip Rebohle
4da89ccc48
[dxvk] Add GPU event class
...
GPU events allow for finer-grained CPU<>GPU synchronization than
the current approach, so we should change our implementation.
2019-03-14 21:16:38 +01:00
Philip Rebohle
7fa2fb5188
[meta] Release 1.0.1
2019-03-14 19:07:18 +01:00
Philip Rebohle
f272071d8d
[dxvk] Don't enforce HOST_CACHED flag when allocating memory
...
The better fix would be to support non-coherent memory properly,
but this will have to do for now. Fixes #947 .
2019-03-14 16:47:17 +01:00
Philip Rebohle
a40d8d49ea
[dxvk] Only enable xfb subpass barrier if feature is enabled
...
Silences validation errors when running FL9_x applications, or
a driver which does not support VK_EXT_transform_feedback.
2019-03-02 19:56:01 +01:00
Philip Rebohle
d9edb16b75
[dxvk] Use getShaderPipelineStages for dummy resource creation
...
Fixes some validation errors for FL10_x and FL9_x applications.
2019-03-02 19:56:01 +01:00
Philip Rebohle
2a6d4fa2ba
[dxvk] Implement DxvkDevice::getShaderPipelineStages
2019-03-02 19:56:00 +01:00
Philip Rebohle
10140f40ca
[dxvk] Release 1.0
2019-02-25 20:26:50 +01:00
Philip Rebohle
b65520d627
[dxvk] Fix feature query for vertex attribute divisor
2019-02-20 11:47:15 +01:00
Philip Rebohle
9159401b14
[dxvk] Use depthClipEnable during graphics pipeline creation
...
Fall back to previous behaviour if the feature is not available.
2019-02-19 14:22:36 +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
Andrew Sheldon
be22756d2a
Update DXVK_FILTER_DEVICE_NAME to support matching substrings
...
Why? RADV device names include the LLVM version, which means that on every LLVM
upgrade, the device name needs to be changed to match. This change allows setting
something like "AMD RADV VEGA10" which should remain persistent over time.
2019-02-17 08:32:03 +01:00
Philip Rebohle
11d2082fd2
[hud] Add 'api' option to show the client API
2019-02-15 18:05:44 +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
7056425bbd
[dxvk] Create state cache directory if it does not yet exist
...
We only create it if the parent directory already exists. Resolves #907 .
2019-02-11 22:24:19 +01:00
Philip Rebohle
311661e404
[dxvk] Use vkCmdUpdateBuffer to clear tiny buffers
...
While this might consume a few more CPU cycles, UpdateBuffer may
be cheaper on the GPU for very small buffers, so we should use
it instead.
Also seems to fix rendering issues in Far Cry Primal for unknown reasons.
2019-02-09 22:21:57 +01:00
Philip Rebohle
8543f96413
[dxvk] Don't create flat 2D views for cube maps
...
Fixes a rendering issue in Heroes of the Storm, where the game
binds a cube map array to a resource slot which expects a 2D
view.
Refs #777 .
2019-02-09 01:01:43 +01:00
Philip Rebohle
023cf01c3c
[dxvk] Implemet IgnoreWriteAfterWrite for compute shaders
...
When enabled, potential write-after-write hazards will be ignored and
no barrier will be inserted. Can improve performance in some cases.
2019-02-07 19:39:05 +01:00
Philip Rebohle
24dca37fce
[dxvk] Add methods to query source access type for an accessed resource
2019-02-07 19:39:05 +01:00
Philip Rebohle
9165f8c072
[dxvk] Add type and context method to set barrier control flags
2019-02-07 19:39:05 +01:00
Philip Rebohle
01a7e06ad7
[dxvk] Inline DxvkBuffer::allocSlice and DxvkBuffer::freeSlice
...
Seems to take some load off both the main rendering thread and the
cleanup thread in SotTR.
2019-02-04 10:01:29 +01:00
Philip Rebohle
c451c9a95e
[dxvk] Only merge clears when framebuffer size matches view size
...
Otherwise, we'll only clear a smaller portion of the view, which is
incorrect. Fixes a rendering issue in Fallout New Vegas with DXUP.
2019-02-04 07:31:17 +01:00
Philip Rebohle
c360a196fb
[dxvk] Restore dedicated allocation behaviour
...
Whoops.
2019-01-30 15:49:06 +01:00
Philip Rebohle
412fb9ac57
[dxvk] Use VK_EXT_memory_budget to report memory usage
2019-01-30 15:45:57 +01:00