pcsx2/bin/resources/shaders/opengl
lightningterror 3ca4272230 GS-hw: Implement hw, hw/sw, sw blending on Ad when alpha write is masked.
Idea is to replace Ad with As when alpha write is masked,
then expand/let blend mix, accumulation blend non recursive blend or hw clr blend to
do the blending with Ad swapped as As.

We are doing this to try to bring some originally higher blending modes to lower levels
where we can do the draws with less texture barriers instead (gl/vk),
as for d3d11 this allows to run blending on the draws since previously the cases weren't handled properly,
it will be slower on d3d11 since we will be reading the frame buffer but it's better than nothing.

D3D11: It is enabled on Medium blending or higher, if draw is fbmask then it will enable
it on basic blending too.

OpenGL/Vulkan:
It is enabled based on the previous blending modes:
accumulation blend -> either minimum or basic level, depending on colclamp.
non recursive blend -> either minimum or basic level, depending on colclamp.
blend mix -> basic and higher level.
hw clr blend -> minimum and higher level.

All:
Prefer full sw blend when primitives don't overlap, sw fbmask or full barrier is used, it is more accurate.
2022-02-03 01:11:08 +01:00
..
common_header.glsl GS:HW: Don't scale rt when converting to texture 2022-02-01 01:24:35 +00:00
convert.glsl GS: Rewrite presentation interface and OSD 2022-01-02 15:06:39 +00:00
interlace.glsl GS/OpenGL: Get rid of interface blocks for convert shaders 2021-12-26 13:21:51 +00:00
merge.glsl GS/OpenGL: Get rid of interface blocks for convert shaders 2021-12-26 13:21:51 +00:00
shadeboost.glsl GS/OpenGL: Get rid of interface blocks for convert shaders 2021-12-26 13:21:51 +00:00
tfx_fs.glsl GS-hw: Implement hw, hw/sw, sw blending on Ad when alpha write is masked. 2022-02-03 01:11:08 +01:00
tfx_vgs.glsl GS: Use hardware point/line expansion where supported in GL 2022-01-02 15:06:39 +00:00