Philip Rebohle
9be0bf95ca
[util] Defer D3D9 surface creation for Atelier Ryza
2019-12-16 14:41:29 +01:00
Joshua Ashton
bcf8adf437
[meta] Add D3D9 specifics to the README
2019-12-16 12:01:17 +01:00
Joshie
54ed8f0bb0
[d3d9] Implement Direct3D9 Frontend ( #1275 )
...
Co-authored-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
Co-authored-by: Robin Kertels <robin.kertels@gmail.com>
Co-authored-by: pchome <pchome@users.noreply.github.com>
Co-authored-by: Christopher Egert <cme3000@gmail.com>
Co-authored-by: Derek Lesho <dereklesho52@Gmail.com>
Co-authored-by: Luis Cáceres <lacaceres97@gmail.com>
Co-authored-by: Nelson Chen <crazysim@gmail.com>
Co-authored-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Co-authored-by: Riesi <riesi@opentrash.com>
Co-authored-by: gbMichelle <gbmichelle.dev@gmail.com>
2019-12-16 04:28:01 +01:00
Philip Rebohle
566fb84abd
[hud] Allocate vertex buffer in host-visible device memory if possible
2019-12-16 00:24:19 +01:00
Philip Rebohle
c6fb8fa5e8
[hud] Clean up HUD rendering
...
- Avoids rebinding the vertex buffer on every single draw.
- Avoids push constants. We could use MultiDrawIndirect in the future.
- Slightly reduces the vertex buffer size.
2019-12-16 00:03:21 +01:00
Philip Rebohle
13d2479ecf
[hud] Don't create uniform buffer
...
No longer used.
2019-12-15 23:17:23 +01:00
Philip Rebohle
9c6ff95bb6
[hud] Don't use vertex shader for scaling
...
Instead, do it on the CPU.
2019-12-15 23:13:59 +01:00
Philip Rebohle
aa40decc23
[d3d11] Don't present if the presenter has no swap chain.
...
Also fixes DXGI_PRESENT_TEST handling for zero-sized windows.
2019-12-15 11:38:57 +01:00
Philip Rebohle
2d0c9127f3
[vulkan] Don't create a swap chain if the window size is 0
...
This can actually happen on win32, and creating a zero-sized swap
chain is illegal.
2019-12-15 11:32:43 +01:00
Philip Rebohle
ae7189f9a4
[d3d11] Update HUD on CS thread
...
Otherwise, we may end up reading some bollocks since the CS thread
might not have finished processing the entire frame yet.
2019-12-13 15:02:45 +01:00
Philip Rebohle
2689204d74
[hud] Enable manual sRGB conversion for non-sRGB swap chains
...
We still blend in the wrong color space, but text should be a bit
more readable in some games now.
2019-12-13 14:03:00 +01:00
Philip Rebohle
08d5b4e0e7
[hud] Don't average the draw call count
...
Turns out this was a bad idea.
2019-12-13 13:14:23 +01:00
Philip Rebohle
ef99078fc4
[hud] Reduce update frequency of draw call display
2019-12-13 13:05:49 +01:00
Philip Rebohle
2c4879b58c
[hud] Reduce update frequency of queue submission display
...
Shows the maximum number of submissions encountered per frame
in the given time frame.
2019-12-13 13:01:44 +01:00
Philip Rebohle
3febca6863
[hud] Add colorful labels
2019-12-13 12:34:01 +01:00
Philip Rebohle
5da27a92f5
[hud] Fix letter spacing
2019-12-13 12:17:15 +01:00
Philip Rebohle
7a18cb1227
[dxvk] Remove unused memory stat counters
2019-12-13 12:08:36 +01:00
Philip Rebohle
ed69da0fff
[hud] Remove legacy code
2019-12-13 11:58:09 +01:00
Philip Rebohle
3415376984
[hud] Implement compiler activity display as a HUD item
2019-12-13 11:54:51 +01:00
Philip Rebohle
5d8ae8f988
[hud] Implement GPU load display as a HUD item
2019-12-13 11:54:51 +01:00
Philip Rebohle
936f22d2aa
[hud] Implement memory stats display as a HUD item
2019-12-13 11:54:50 +01:00
Philip Rebohle
3aff573bd4
[hud] Implement pipeline stat display as a HUD item
2019-12-13 11:54:26 +01:00
Philip Rebohle
3de8499697
[hud] Implement draw call stats display as a HUD item
2019-12-13 11:54:13 +01:00
Philip Rebohle
0f2610010b
[hud] Implement queue submission counter as a HUD item
2019-12-13 11:54:13 +01:00
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
Philip Rebohle
8e587af0da
[dxvk] Add method to retrieve per-heap memory stats
2019-12-13 11:54:13 +01:00
Philip Rebohle
4fcf28f4dc
[util] Spoof Nvidia cards for Crysis 3
...
The game for some reason runs significantly slower in CPU-bound scenarios
when it recognizes an AMD GPU. On the other hand, there seems to be a small
performance hit on an actual Nvidia GPU (GTX 670) in GPU-bound scenarios when
doing this, but on most setups the tradeoff should be worth it.
2019-12-11 23:01:27 +01:00
Philip Rebohle
b9258c0c49
[dxvk] Separate gfx resource hazard checking and barrier emission
...
Otherwise, when performing three draws with the same storage buffers or
storage images bound, we don't emit a barrier between the 2nd and 3rd
draw since the tracking information gets cleared by the second draw.
Fixes #1262 .
2019-12-11 13:45:57 +01:00
Philip Rebohle
52301d12a7
[meta] Support frog builds
2019-12-11 03:21:10 +01:00
Joshua Ashton
f5dd509429
[spirv] Implement constbReplicant
2019-12-11 03:18:39 +01:00
Joshua Ashton
8b6dd0544e
[spirv] Implement constvec4b32
2019-12-11 03:18:39 +01:00
Joshua Ashton
028c6198e4
[spirv] Implement opReflect
2019-12-11 03:18:39 +01:00
Joshua Ashton
3ce678b17d
[spirv] Implement opExp
2019-12-11 03:18:39 +01:00
Joshua Ashton
fdbfb2c92d
[spirv] Implement opInverse, opNormalize and opLength
2019-12-11 03:18:39 +01:00
Joshua Ashton
edf0661994
[spirv] Implement opTranspose
2019-12-11 03:18:39 +01:00
Joshua Ashton
e144c17363
[spirv] Implement constfReplicant helper
2019-12-11 03:18:39 +01:00
Joshua Ashton
7a956ef8c8
[dxvk] Expose ability to retrieve type from DxvkShaderKey
2019-12-11 03:18:39 +01:00
Joshua Ashton
7c8d03b3e1
[dxvk] Add helper to get size of memory/image in bytes
2019-12-11 03:18:39 +01:00
Philip Rebohle
3063d7fc7c
[dxvk] Improve DxvkImageView::handle()
...
Should fix a silly compiler warning and improves code gen, which
is important since this is *the* most frequently called function
in the backend.
2019-12-11 03:18:39 +01:00
Joshua Ashton
d5d6ae4fe1
[dxvk] Add support for implicit samplers
2019-12-11 03:18:39 +01:00
Joshua Ashton
3fa8691033
[util] Implement simplest ratio helper
2019-12-11 03:18:39 +01:00
Joshua Ashton
16dd1249b7
[util] Add alignDown helper
2019-12-11 03:18:39 +01:00
Joshua Ashton
57b2c02528
[util] Implement lzcnt
2019-12-11 03:18:39 +01:00
Joshua Ashton
aef12f7ee3
[util] Add countof helper
2019-12-11 03:18:39 +01:00