Commit Graph

1667 Commits

Author SHA1 Message Date
Philip Rebohle 93a851a2fc
[d3d11] Implement DrawAuto method 2018-10-10 19:55:42 +02:00
Philip Rebohle 44024e7a7a
[d3d11] Implement Stream Output queries 2018-10-10 19:55:42 +02:00
Philip Rebohle 93753a5ce7
[d3d11] Bind transform feedback buffers in SOSetTargets 2018-10-10 19:55:41 +02:00
Philip Rebohle 97d776cc00
[d3d11] Allocate counter for stream output buffers 2018-10-10 19:55:41 +02:00
Philip Rebohle 0d89dfae95
[d3d11] Report format support for stream output buffers 2018-10-10 19:55:41 +02:00
Philip Rebohle 7369dee9d6
[d3d11] Create passthrough geometry shader if necessary
Fixes stream output in Unity Engine titles.

- Fix compilation with new DxbcProgramInfo struct.
2018-10-10 19:55:41 +02:00
Philip Rebohle 5463dc7e6c
[d3d11] Implement CreateGeometryShaderWithStreamOutput
- Emit error instead of warning when enabling rasterization
2018-10-10 19:55:26 +02:00
Philip Rebohle f42ea9f1d1
[d3d11] Set transform feedback usage, stage and access flags 2018-10-10 13:05:38 +02:00
Philip Rebohle 3a48092630
[dxvk] Implement transform feedback draw call 2018-10-10 13:05:37 +02:00
Philip Rebohle 929b75a038
[dxvk] Add support for transform feedback queries 2018-10-10 13:05:37 +02:00
Philip Rebohle 4bdf6daa39
[dxvk] Add structure for transform feedback stream queries 2018-10-10 13:05:37 +02:00
Philip Rebohle 3435702719
[dxvk] Add basic support for indexed queries 2018-10-10 13:05:37 +02:00
Philip Rebohle 76d917df20
[dxvk] Add xfb counter write -> xfb counter read barrier
- Update xfb counter barrier
2018-10-10 13:05:37 +02:00
Philip Rebohle 93b1b9bc00
[dxvk] Implement transform feedback
Begins transform feedback when rendering with an xfb-enabled
pipeline bound, and ends transform feedback as needed, while
writing back the counters supplied by the app. This does not
yet support transform feedback queries or the draw command.
2018-10-10 13:05:37 +02:00
Philip Rebohle a27e440272
[dxvk] Detect Xfb and set rasterized stream index 2018-10-10 13:05:37 +02:00
Philip Rebohle 1f135f59ed
[dxvk] Add Xfb API stubs 2018-10-10 13:05:37 +02:00
Philip Rebohle 52e1671167
[dxvk] Add Xfb context state 2018-10-10 13:05:37 +02: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 61d56a1732
[dxvk] Add definitions for transform feedback entry points 2018-10-10 13:05:37 +02:00
Philip Rebohle bf906aa226
[dxvk] Add support for transform feedback access flags 2018-10-10 13:05:37 +02:00
Philip Rebohle 8cdccc6b05
[dxvk] Update Vulkan headers 2018-10-10 13:05:24 +02:00
Philip Rebohle d2c62a8645
[dxbc] Implement passthrough geometry shader
This is needed when vertex or domain shader code is
passed to CreateGeometryShaderWithStreamOutput.

- Fix compilation with new DxbcProgramInfo.
2018-10-10 10:28:15 +02:00
Philip Rebohle 017699df15
[dxbc] Implement Xfb output declarations and setup 2018-10-10 10:28:15 +02:00
Philip Rebohle bb780bbe10
[dxbc] Add Xfb decorations 2018-10-10 10:28:15 +02:00
Philip Rebohle 6a5fe2247a
[dxbc] Add support for multiple streams in geometry shaders 2018-10-10 10:28:15 +02:00
Philip Rebohle a42f03e32d
[dxbc] Add Xfb structures to DxbcModuleInfo 2018-10-10 10:28:15 +02:00
Philip Rebohle eff81c7edf
[dxvk] Implement getShader method for graphics pipelines 2018-10-10 10:28:12 +02:00
Philip Rebohle e5f3019524
[dxgi] *Actually* silence WaitForVBlank warning
Guess who needs more coffee.
2018-10-09 19:17:20 +02:00
Philip Rebohle 08b241b3ea
[d3d11] Add option to disable deferred context mapping speed hack
Fixes a regression in The Evil Within.

We should probably find a proper solution, but for now this is the best
thing we can do for games which reuse command lists.
2018-10-09 17:07:50 +02:00
Philip Rebohle 6dd5cdbc3e
[dxgi] Silence WaitForVblank warning 2018-10-09 14:48:49 +02:00
Andre Heider 8fcdf78b51 [dxbc] rename DxbcProgramVersion to DxbcProgramInfo
The version in not part of this class anymore.
2018-10-08 12:32:01 +02:00
Andre Heider 8492f0501e [dxbc] Drop unused major/minor from DxbcProgramVersion 2018-10-08 12:32:01 +02:00
Philip Rebohle 781ee00f5c
[dxvk] Refactor indirect draw/dispatch commands
Introduces an OpenGL-style bind point for the argument buffer, which
means we can avoid a lot of unnecessary reference tracking in games
that do a lot of indirect draw calls.

Reduces CPU overhead in Assassin's Creed Odyssey.
2018-10-08 10:23:18 +02:00
Philip Rebohle eb55325640
[dxvk] Fix missing buffer tracking for indirect draw calls
This is optimized to allow a large number of indirect draws to be
submitted if they all access the same argument buffer, as is the
case in Assassin's Creed Syndicate and Odyssey.
2018-10-07 17:51:44 +02:00
Philip Rebohle af16461858
[dxvk] Fix missing indirect dispatch barriers and tracking 2018-10-07 17:33:03 +02:00
Philip Rebohle 417b6cb6dc
[dxvk] Reduce CPU overhead of indirect draw calls 2018-10-07 17:09:46 +02:00
Philip Rebohle 87f1cd2385
[dxgi] Fix undefined display mode format for display mode transitions
Fixes resolution change option in Dark Souls 3.
2018-10-06 08:01:48 +02:00
Philip Rebohle 09bbb68d98
[meta] Release v0.81 2018-10-05 21:14:11 +02:00
Philip Rebohle a3bf90f5a3
[vr] Cosmetic code cleanup 2018-10-04 12:30:26 +02:00
Andrew Eikum bc367fd817
[vr] Load native openvr library on winelib builds 2018-10-04 12:08:12 +02:00
Philip Rebohle 0b4f1b6d6f
[d3d11] Implement DiscardView and DiscardResource for images 2018-10-01 16:54:34 +02:00
Philip Rebohle 0d9e714d3e
[dxvk] Add discardImage method 2018-10-01 16:54:34 +02:00
Jens Peters a29f698305 [build] Indicate the working tree status in the version string. (#679)
This adds '+' to the version string when the working copy is dirty.
See https://git-scm.com/docs/git-describe
2018-09-30 22:19:05 +02:00
Philip Rebohle da76d74a2d
[dxvk] Minor internal buffer API cleanup 2018-09-30 11:05:20 +02:00
Philip Rebohle aaaf2c53e0
[dxvk] Don't reset unused bind points
Saves a few CPU cycles when binding resources.
2018-09-29 20:23:00 +02:00
Philip Rebohle 387f41ede5
[dxvk] Make DxvkBuffer destructor explicit
Prevents compiler from inlining massive amounts of code where it's
not needed. This is more consistent with the other classes as well.
2018-09-29 20:19:07 +02:00
Philip Rebohle da8274daaf
[d3d11] Don't set meta-resolve usage flags for depth buffers
Depth buffers cannot be resolved in D3D11.
May improve performance on some hardware when MSAA is used.
2018-09-29 14:59:36 +02:00
Philip Rebohle 894d9606d5
[dxgi] Add option to force-enable MAILBOX present mode
Provides Enhanced Sync-like functionality (#678).
2018-09-29 08:13:52 +02:00