Stenzek
e6ff49eb60
GS/OpenGL: Use EGL 1.5 platform interface
2024-04-06 14:37:55 +10:00
Stenzek
615e30fa52
GS/OGL: Fix recursive macro compile error
...
On some Intel drivers.
2024-03-29 23:04:43 +10:00
Stenzek
8679755d18
GSDevice: Improve IsEffective() test
...
Ensure blending is disabled when colormask is zero.
Intel's (older) DX11 drivers apparently crash the GPU when SRC1_COLOR is
used in blend, when the shader doesn't output it, even though it's not
being written.
It was also missing entirely for OpenGL.
2024-03-29 23:04:43 +10:00
Stenzek
11ee0a8613
GS: Remove reduced-depth-range hack
2024-03-29 20:44:02 +10:00
Stenzek
7ddf6386f1
GS: Remove DSB feature
...
No longer needed, since it's mandatory.
2024-03-29 20:44:02 +10:00
Stenzek
a317e9c038
GS/HW: Improve accuracy of RGB_ONLY AFAIL
...
Instead of breaking the draw into two passes, which breaks when
fragments overlap each other and blending is enabled, use blending to
leave the value of Ad intact when a pixel fails the alpha test.
In the case of DATE being enabled, prefer PrimID over stencil, as since
we are changing Ad on a per-fragment basis, with some fragments not
being modified, stencil DATE will become desynchronized with the value
of Ad.
2024-03-28 11:46:20 +10:00
Stenzek
b644f85f51
GSDevice: Add separate RGB/A blend factors
2024-03-28 11:46:20 +10:00
Stenzek
0917d49a01
GS: Remove separate alpha pass fallback
...
This is just wrong when overlap and depth writes are involved.
2024-03-28 11:46:20 +10:00
refractionpcsx2
4ba43b8496
GS/HW: Improve channel + texture shuffle detection and processing
2024-03-24 11:38:33 +00:00
refractionpcsx2
23d98e9352
GS/HW: Optimize RTA correction to reduce copies
2024-03-20 23:51:17 +00:00
refractionpcsx2
bfef8397d6
GS/HW: Allow source is rt to use corrected alpha in most cases.
2024-03-17 17:24:39 +01:00
lightningterror
0900c2fd8b
GS/HW: RTA Correction, implement on DATE.
...
Less copies, and makes it work with DATE.
2024-03-17 17:24:39 +01:00
lightningterror
6c9f132093
GS/HW: Add support for Ad (RTA) correction.
...
The idea is to adjust the alpha destination for more
accurate hw blending which will work on all renderers.
Old behavior has Ad in range within 0-1 whereas for blending 0-2 is needed.
copy rt -> adjust the alpha -> copy back the adjusted alpha-> restore old alpha after blending is done
2024-03-17 17:24:39 +01:00
refractionpcsx2
65649b3cbb
GS/HW: Adjust dither on Blend Mix when Cs-Cd * As blend.
2024-03-10 23:41:18 +00:00
Stenzek
d9abe10308
Misc: Remove explicit PCH include, switch to SPDX
2023-12-24 14:03:14 +10:00
Stenzek
47a65ce01e
Misc: Slim down PCH
2023-12-24 14:03:14 +10:00
Stenzek
20e75b4057
GS: Replace ASSERT() with pxAssert()
2023-12-24 14:03:14 +10:00
Stenzek
d572765f09
Qt: Allow language change without shutting down VM
2023-12-04 14:21:33 +10:00
lightningterror
f96e7a9156
GS/HW: Rename dfmt to dst_fmt.
...
It was confusing whenever the d meant depth or destination, this should make the code easier to read.
2023-10-19 19:25:13 +02:00
Stenzek
93a4e67813
Host: Remove resource read wrappers
...
No more wx, no need to abstract this.
2023-10-01 17:45:54 +10:00
lightningterror
2a9c379a1c
GS: Fix Using memset() on struct which contains a floating point number warning.
...
Codacy.
2023-09-16 18:46:45 +02:00
refractionpcsx2
5a3ba4e563
GS/HW: Add support for complex offset shuffles
2023-08-11 13:14:19 +01:00
Stenzek
784264eba4
GS: Drop alpha gather from FXAA
...
It's not used by any backends.
2023-07-29 22:28:49 +10:00
Stenzek
ff9ca059c7
GS/DX11: Require feature level 11.0
...
Feature level 11.0 GPUs were first released in 2009, almost 14 years ago
now. Older GPUs have not had drivers released in a long time, and are
known to be buggy.
None of us have hardware this old, so it's impossible for us to support
it.
2023-07-29 22:28:49 +10:00
Stenzek
82135d1892
GS/OGL: Fix depth state in MultiStretchRects
2023-07-28 01:48:27 +01:00
Stenzek
dffeb2b5dd
GS/HW: Support alpha in RT concurrently with Z
...
Also further improve double half clear detection, and handling of
horizontal page clears.
Fixes lens flare and DoF in True Crime: NYC.
Fixes reflections in Eragon.
Fixes floor in Area 51.
Fixes flickering in Transformers.
Fixes text in Katamari Damashii.
2023-07-20 18:40:16 +10:00
lightningterror
4ded2caa0b
GS-ogl: Comment out intel vendor set. ( #9203 )
...
Fixes Wunused-but-set-variable warning.
2023-07-10 07:30:15 +02:00
Stenzek
819b61937f
GS: Slim down GSState.h includes
2023-07-09 15:34:59 +10:00
Stenzek
c2786b91ce
GS/OGL: Fix sampling from cleared targets
...
And merge GLLoader into GSDeviceOGL while we're at it.
2023-07-09 00:46:52 +10:00
Stenzek
33af3392aa
GS: Move clear functions to base GSDevice class
2023-07-04 18:53:11 +10:00
Stenzek
78e20868df
GS/OpenGL: Fix potentially-incorrect line width
2023-06-30 23:06:51 +10:00
Stenzek
a889acb332
GS: Remove exceptions
2023-06-30 21:37:44 +10:00
Stenzek
350037fc75
GS: Store clear colour as RGBA32
...
And defer clears until draw time for DX11 and OpenGL.
2023-06-20 12:52:06 +10:00
Stenzek
f6bcfc3abd
GS: Make ClearDepth() take a value
2023-06-20 12:52:06 +10:00
Stenzek
abce57ce9c
GS: Enable API debug logging in Devel builds
2023-05-28 14:55:53 +01:00
Stenzek
e5c1052062
GS: Add option to disable vertex shader expand
...
And automatically disable it on Fermi (buggy driver).
2023-05-11 16:18:01 +01:00
Stenzek
0ed418834a
GS: Move OpenGL helpers from common to GS
2023-05-06 03:40:00 +01:00
Stenzek
fbb1c7cb8e
GS/OGL: Don't reuse targets when they're the texture
...
I don't trust drivers to insert a barrier here. At least one of them
gets it wrong.
Also moves the masking of depth/colour to the common renderer for
consistency.
2023-04-27 23:22:09 +01:00
Stenzek
ecd7d0fc35
GS/HW: Fix pipeline/shader duplication
2023-04-27 12:01:34 +01:00
Stenzek
0c389789f3
GS: Fix hang when switching renderer while fullscreen
2023-04-27 09:17:27 +01:00
Stenzek
befbf57191
GS: Refactor exclusive fullscreen yet again
...
Also acquire render window as late as possible.
Limits the duration that the main window isn't displaying anything.
2023-04-26 16:00:39 +01:00
Stenzek
8f68e096d4
GS/HW: Avoid render pass restarts to turn off RT
...
Significantly reduces render passes in Sly 2.
2023-04-24 22:17:25 +01:00
Stenzek
757a9532e6
GS: Add Render Pass stats
2023-04-24 22:17:04 +01:00
Stenzek
d37ac992fc
GS/HW: Use bitfield extract for VS expand (GL/VK)
2023-04-15 20:10:25 +01:00
Stenzek
839b482cb5
GS: Use 16-bit indices instead of 32-bit
...
Save some bandwidth.
2023-04-15 20:10:03 +01:00
TellowKrinkle
bf57ab3e39
GS:OGL: Support vs expand on older GL with SSBO extension
2023-04-15 04:29:10 +01:00
Stenzek
7f7dd60587
GS/HW: VS expand instead of GS for DX/GL/Vulkan
2023-04-13 11:12:11 +01:00
Stenzek
ce5dd88790
GS/OGL: Fix GL error on shutdown
2023-04-13 11:12:11 +01:00
Stenzek
3cae728aba
Qt: Recreate new window immediately when switching APIs
2023-04-08 12:42:34 +02:00
Stenzek
2a06bb6e2c
GS/OGL: Use VS/GS selectors from base class
2023-04-07 17:18:21 +01:00