Quantum
566c89e9d8
[host] dxgi: correctly count moved rectangles
2021-08-13 20:21:08 +10:00
Quantum
8c18817e2d
[client] egl: don't generate mipmaps in downscale filter
...
When using DMABUF, the mipmaps can cause driver hangs and crashes.
2021-08-12 17:03:18 +10:00
Geoffrey McRae
35bd641d2a
[client] overlay: remove the unused menu bar
2021-08-12 15:54:16 +10:00
Geoffrey McRae
117e88c240
[client] egl: add new downscale filter
2021-08-12 15:54:16 +10:00
Quantum
b3173bdddc
[host] dxgi: include correct DXGI headers
...
The declarations in dxgi_extra.h are not missing, they are in dxgi1_2.h and
dxgi1_5.h, which exist in MinGW-w64 since 2017.
2021-08-12 12:35:45 +10:00
Quantum
61a4b0744d
[host] dxgi: use standard MinGW libd3d11.a
...
MinGW has been shipping this file since 2014, and that version contains the
only function from the dll that we call: D3D11CreateDevice.
2021-08-12 11:58:34 +10:00
Geoffrey McRae
6387bf2d2e
[client] rework the configuration overlay to allow for tabs
2021-08-12 09:04:45 +10:00
Geoffrey McRae
fe6339fc77
[client] egl: re-order CAS to before FSR for better results
2021-08-12 06:56:16 +10:00
Quantum
3f8c7c8d0d
[client] egl: fix buffer overflow in desktop_rects module
...
The module has been changed to support variable amount of rectangles,
so we should just allocate a VLA.
2021-08-11 21:23:13 +10:00
Quantum
543c97987b
[client] egl: remove needless precision quantifiers
...
We simply use precision mediump float; for everything. We don't actually
need highp anyways, and we don't use it for stuff like CAS or FSR.
2021-08-11 20:47:46 +10:00
Geoffrey McRae
06da52acfc
[client] egl/fsr: release consts
when no longer needed
2021-08-11 20:47:03 +10:00
Geoffrey McRae
5a2f34d71c
[client] egl/cas: release consts
when no longer needed
2021-08-11 20:42:56 +10:00
Quantum
8b2db071d8
[client] egl: precompute CAS filter constants on CPU
2021-08-11 20:38:42 +10:00
Quantum
3a1a9121eb
[client] egl: make FSR filter show inactive in config when disabled
2021-08-11 20:17:17 +10:00
Quantum
f80b67bc50
[client] egl: precompute FSR filter constants on CPU
2021-08-11 20:16:39 +10:00
Quantum
fe823b6172
[client] egl: display FSR equivalent quality mode
...
This also displays a tooltip to explain that quality can be changed by
altering guest resolution and also show the resolutions needed to achieve
each quality mode.
2021-08-11 20:05:27 +10:00
Quantum
c4c60fd330
[client] egl: update FSR filter state upon resolution change
2021-08-11 20:05:27 +10:00
Geoffrey McRae
5a5b867c73
Revert "[client] egl: make FSR detect an input size change and activate if valid"
...
This reverts commit 73f125dcc7
.
2021-08-11 20:05:07 +10:00
Geoffrey McRae
73f125dcc7
[client] egl: make FSR detect an input size change and activate if valid
2021-08-11 20:02:29 +10:00
Quantum
9bded74543
[host] dxgi: use CopySubresourceRegion when possible
...
This commit adds damage tracking to the DXGI textures, and only copies the
damaged areas to the textures with ID3D11DeviceContext::CopySubresourceRegion.
The sleep logic in waitFrame makes it difficult for this to reduce the
latency, but removing it shows significant improvements (6-7 ms to ~3 ms)
when a tiny portion of the screen is damaged, while showing no difference on
full screen damage.
2021-08-11 19:01:52 +10:00
Quantum
7e982a6658
[client] util: replace util_mergeOverlappingRects with common version
2021-08-11 19:01:52 +10:00
Quantum
604b44d6d8
[common] rects: add rectsMergeOverlapping helper function
...
This is based on the client's util_mergeOverlappingRects.
2021-08-11 19:01:52 +10:00
Quantum
22bbc2457e
[client] wayland: fix deadlock when using wayland:warpSupport=no
2021-08-11 19:01:18 +10:00
Geoffrey McRae
f0ea882165
[client] egl: cleanup texture filtering/post-processing
2021-08-11 18:53:36 +10:00
Geoffrey McRae
f78154d282
[client] egl: fixes to shader post-process pipeline
2021-08-11 06:31:01 +10:00
Quantum
cd5ecf3e5a
[client] egl: don't erase damage when invalidating whole window
2021-08-11 02:43:08 +10:00
Quantum
a850a1b51b
[client] egl: implement C wrappers for FidelityFX constant computation
2021-08-11 02:42:55 +10:00
Quantum
6e28d7a4a5
[client] egl: exempt shaders from copyright refresh script
2021-08-11 02:42:24 +10:00
Quantum
4a06f7cfd5
[client] cmake: make MakeObject use relative paths
...
This prevents issues like obscure characters getting transformed in symbol
names, resulting in an endless game of whack-a-mole finding symbols that are
replaced, such as 58964ce317
.
2021-08-11 02:42:12 +10:00
Quantum
c1a362f8d3
[client] egl: handle \r character when processing #includes
2021-08-11 02:41:54 +10:00
Quantum
9f4afcd944
[common] crash: use DEBUG_WINERROR on windows
2021-08-11 02:41:33 +10:00
Geoffrey McRae
4f1136d0cd
[client] core: dont warp the cursor if the overlay is active
2021-08-10 16:08:13 +10:00
Geoffrey McRae
127d3acd96
[client] egl: use a texel based version of textureGather for FSR
2021-08-10 14:21:46 +10:00
Quantum
ccee347740
[client] egl: don't define FSR_RCAS_F in ffx_fsr1_rcas.frag
2021-08-10 13:57:23 +10:00
Geoffrey McRae
c3a143732c
[client] egl: cosmetics
2021-08-10 13:46:48 +10:00
Geoffrey McRae
dc0b3a8d45
[client] egl: rework post process filters and add AMD FXR
2021-08-10 13:46:48 +10:00
Quantum
3b751a2017
[client] egl: perform full copy for framebuffer textures after resize
...
This prevents the code from using damage rectangles that are no longer on the
screen, causing an out-of-bounds write.
2021-08-10 13:42:25 +10:00
Geoffrey McRae
230ce81eb8
[client] egl: allocate space for the initial texture dimensions
...
This fixes a buffer overrun when writing to the dimensions array
2021-08-10 09:41:56 +10:00
Geoffrey McRae
e707f9d933
[client] egl: enable ffxCAS if disabled and the sharpness is changed
2021-08-10 07:56:24 +10:00
Geoffrey McRae
64ed383128
[client] egl: re-process the texture and invalidate if a setting changed
2021-08-10 07:51:23 +10:00
Quantum
685499a0e0
[client] egl: prefer gawk and mawk when building shaders
...
We'd rather use known versions of awk if possible for ease of troubleshooting.
2021-08-10 06:17:38 +10:00
Quantum
705250f23d
[client] egl: correct assign to gl_Position in basic.vert
...
gl_Position is expected to be using homogeneous coordinates, which requires
w to be a coordinate scale factor, usually 1.0. z should also be set in order
for depth to be well-defined. Therefore, we should set gl_Position.zw to
vec2(0.0, 1.0).
2021-08-10 06:10:42 +10:00
Quantum
eb680086ef
[client] egl: correctly use flexible array members for BindData
...
Array size of 0 is a gcc extension, the standard C is not declaring a size.
2021-08-10 06:10:42 +10:00
Geoffrey McRae
58964ce317
[client] cmake: replace -
with _
too
2021-08-10 02:35:16 +10:00
Geoffrey McRae
1128eb0e84
[client] x11: don't hang when there are no message pending
2021-08-10 01:47:03 +10:00
Geoffrey McRae
e41cbf5f32
[common] option: option_get_float should return a float
2021-08-10 01:36:12 +10:00
Geoffrey McRae
f2b8ff9e8d
[client] app: make overlay mode more transparent
2021-08-10 01:15:31 +10:00
Geoffrey McRae
cc3494437a
[client] egl: add ffx cas configuration options
2021-08-10 01:10:08 +10:00
Geoffrey McRae
88eada3494
[common] option: add support for float option types
2021-08-10 01:09:40 +10:00
Geoffrey McRae
37faccd014
[client] egl: allow ffxCAS sharpness configuration
2021-08-10 00:54:54 +10:00