Philip Rebohle
07a4504a9f
[hud] Implement frame time graph as a HUD item
2019-12-13 11:54:13 +01:00
Philip Rebohle
2d5f44a7ff
[hud] Implement FPS display as a HUD item
2019-12-13 11:54:13 +01:00
Philip Rebohle
0da5aac357
[hud] Implement Vulkan device info as a HUD item
2019-12-13 11:54:13 +01:00
Philip Rebohle
e4bc5c2aee
[hud] Implement client API info as a HUD item
2019-12-13 11:54:13 +01:00
Philip Rebohle
1c079a96e5
[hud] Implement DXVK version info as a HUD item
2019-12-13 11:54:13 +01:00
Philip Rebohle
6931f03120
[hud] Add new HUD item abstraction
...
Allows for a cleaner and more flexible implementation of new HUD elements.
The old implementation was not intended to support quite as many elements
as it does, and now there is some need for API-specific HUD elements.
2019-12-13 11:54:13 +01:00
Philip Rebohle
4346f82209
[hud] Don't pass DXVK context around in HUD modules
2019-12-13 11:54:13 +01:00
Joshua Ashton
c39c3e8dcc
[dxvk] Hook up platform-specific clock
...
See 89dfa2bc22577c758cb8badd34e4f177192a6eff
2019-11-26 01:52:58 +01:00
Philip Rebohle
af15d85baa
[dxvk] Add config option to enable the HUD
2019-08-01 12:37:55 +02:00
Philip Rebohle
3f4c9a3bb5
[hud] Add GPU load monitor
2019-07-18 23:23:36 +02:00
Philip Rebohle
d5c0a8c842
[dxvk] Upload HUD font texture via SDMA
2019-06-29 01:53:43 +02:00
Philip Rebohle
62372f5d47
[dxvk] Release staging buffer memory for HUD context
...
We really don't want to waste 32MB of system RAM because of
one single texture update all the time.
2019-06-21 16:43:22 +02:00
Philip Rebohle
9355580c4f
[hud] Optimize HUD rendering
...
Saves some bandwidth by using more compact vertex formats, and
by using push constants for text colors instead of a vertex
attribute.
2019-05-07 22:05:35 +02:00
Philip Rebohle
044e3967e7
[hud] Show compiler activity indicator for at least one second
...
Otherwise this would flicker when shaders are already cached.
2019-04-15 12:42:07 +02:00
Philip Rebohle
7dc449ac55
[hud] Add new HUD entry to show shader compiler activity
2019-04-14 13:28:57 +02:00
Philip Rebohle
8b84d002f8
[hud] Pass surface size to HUD renderer
2019-04-14 13:28:57 +02:00
Philip Rebohle
257c19ed0a
[hud] Use combined image s1ampler for the font texture
2019-04-03 17:40:05 +02:00
Philip Rebohle
11d2082fd2
[hud] Add 'api' option to show the client API
2019-02-15 18:05:44 +01:00
Philip Rebohle
95815a075b
[dxvk] Move depth bias out of rasterizer state
...
While the previous model corresponded to D3D11, it does
not reflect that the backend treats it the same way as
e.g. blend constants.
2019-01-17 22:25:21 +01:00
Philip Rebohle
0d84ebd4c9
[dxvk] DepthClampEnable -> DepthClipEnable
...
There are subtle differences between the two that we
should deal with in the backend at some point.
2019-01-17 01:59:10 +01:00
Philip Rebohle
8b5db80fbd
[dxvk] Reimplement DxvkBuffer
...
Avoids the DxvkPhysicalBuffer indirection and keeps all buffer
objects alive until the DxvkBuffer itself gets destroyed.
2019-01-09 18:04:46 +01:00
Philip Rebohle
d0ee7f54bf
[hud] Add DXVK_HUD=full option
...
Enables all HUD elements at once. Close #842 .
2019-01-07 19:23:00 +01:00
Philip Rebohle
746529b71b
[dxvk] Pass raw semaphore handles to submitCommandList
2018-11-28 12:44:17 +01:00
Derek Lesho
66bcc4b3d8
Use std::string for util::getEnvVar input
...
This allows cleaner code when implementing DXVK as a native library
2018-11-16 06:43:45 +01:00
Philip Rebohle
36ccd46ae7
[dxvk] Move sampler border color handling to the backend
2018-10-31 21:51:23 +01:00
Philip Rebohle
c31e646921
[dxvk] Introduce concept of shader constants
...
Large constant arrays should be moved to a uniform buffer instead
of being baked directly into the shader code.
2018-07-30 20:29:05 +02:00
Philip Rebohle
5fe4c4f610
[dxvk] Use VkImageViewUsageCreateInfoKHR when creating image views
...
Must be used when view formats are used that do not support all
usage bits of the underlying image. Refs #504 .
2018-07-21 10:58:06 +02:00
Philip Rebohle
65ffa4122d
[hud] Add option to show DXVK version
...
General idea based on PR #490 . Closes #488 .
2018-07-11 17:40:07 +02:00
Philip Rebohle
04bc13929f
[hud] Added some missing documentation
2018-06-28 01:18:16 +02:00
Philip Rebohle
832b3a9dba
[hud] Render HUD directly to swap chain image
...
Saves a fullscreen render target, render pass, and a queue submission.
2018-06-28 01:00:07 +02:00
Philip Rebohle
4f28d57352
[dxvk] Remove unused rasterizer discard state flag
2018-06-25 16:56:52 +02:00
Philip Rebohle
7fa26f1c87
[d3d11] Implement render pass spilling for UAV rendering
...
Spilling the render pass should make shader storage buffer/image writes
visible due to how external subpass dependencies are defined. For UAV
rendering, we need to do this when changing the UAVs, even if the render
targets themselves do not change.
2018-06-15 20:49:24 +02:00
Philip Rebohle
e8ac81fe8a
[dxvk] Removed support for depth bounds test
...
This feature is not used in D3D11, so we don't need backend support.
2018-06-06 13:11:09 +02:00
Philip Rebohle
33e511485c
[hud] Fixed uninitialized depth bounds values
2018-05-07 21:53:32 +02:00
Philip Rebohle
e30a8299e6
[dxvk] Refactor DxvkFramebuffer and DxvkRenderpass
2018-05-02 00:45:10 +02:00
Philip Rebohle
ba53cf92ac
Revert "[dxvk] Refactor DxvkFramebuffer and DxvkRenderpass"
...
This reverts commit 1bbfe770139f222d33bc54e471c8516950abd4b7.
Breaks Path of Exile.
2018-04-30 18:47:35 +02:00
Philip Rebohle
1bbfe77013
[dxvk] Refactor DxvkFramebuffer and DxvkRenderpass
2018-04-30 15:47:29 +02:00
pchome
1dbf8bf2a1
[dxvk] Fix native build on *nix x86_64 systems ( #328 )
...
* [dxvk] Fix native build on *nix x86_64 systems
> /usr/include/c++/v1/algorithm:2633:1:
> note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('unsigned long' vs. 'unsigned long long')
winegcc, clang-tidy and other native build types/tools are affected.
http://en.cppreference.com/w/cpp/language/types#Data_models
> 64 bit systems:
> * LLP64 or 4/4/8 (int and long are 32-bit, pointer is 64-bit)
> * Win64 API
> * LP64 or 4/8/8 (int is 32-bit, long and pointer are 64-bit)
> * Unix and Unix-like systems (Linux, Mac OS X)
http://en.cppreference.com/w/cpp/types/integer#Function_macros_for_minimum-width_integer_constants
Macro `UINT64_C(1)` from `stdint.h` should literally interpret `1` to `1UL` or `1ULL`
```c
# if __WORDSIZE == 64
# define UINT64_C(c) c ## UL
# else
# define UINT64_C(c) c ## ULL
# endif
```
* [dxvk] Fix native build on *nix x86_64 systems
Use explicit template argument instead of 1ull or UINT64_C(1) macro.
2018-04-28 09:08:14 +02:00
Philip Rebohle
8606576d83
[hud] Do not explicitly use a framebuffer object
2018-04-26 13:24:42 +02:00
Philip Rebohle
8125d53e58
[dxvk] Remove std::clamp usage
...
Breaks outdated compilers.
2018-04-18 17:49:11 +02:00
Philip Rebohle
388fe02158
[hud] Added frametime graph
...
Enable with DXVK_HUD=frametimes.
2018-04-17 12:03:03 +02:00
Philip Rebohle
a4f9e5f0d5
[hud] Added line renderer
2018-04-17 10:01:06 +02:00
Philip Rebohle
8bfaae9350
[hud] Rename renderText -> render
2018-04-17 09:21:40 +02:00
Philip Rebohle
e38e1347d3
[hud] HudTextRenderer -> HudRenderer
...
Maintaining one class should be easier than creating
multiple renderer classes and having to switch between
them.
2018-04-17 09:20:18 +02:00
Philip Rebohle
08777e2c0e
[dxvk] Change stat couter type to uint64_t
2018-04-15 20:59:41 +02:00
Philip Rebohle
d68d62f837
[dxvk] Removed on-disk pipeline cache
...
Drivers from both major vendors implement their own shader cache
already, and storing a cache per game causes more issues than it
solves. Should fix #261 .
2018-04-09 19:38:32 +02:00
Philip Rebohle
687ef77860
[dxvk] Enable sample rate shading if needed
2018-04-08 21:49:30 +02:00
Philip Rebohle
0b2e88b087
[hud] Added <unordered_map> include to satisfy some compilers
2018-04-03 16:27:16 +02:00
Philip Rebohle
fc3f45c082
[hud] Added stat counters to the HUD
2018-04-03 14:49:13 +02:00
Philip Rebohle
3ed03f7a3d
[hud] Added configurable HUD
...
HUD elements can be enabled individually using a comma-separated
list. Supported options include:
- fps: Displays the framerate
- devinfo: Displays device info
Passing "1" has the same effect as "fps,devinfo".
2018-04-03 12:33:08 +02:00