Much better parallelism, due to our source files being spread out across
multiple folders.
pcsx2core build time on a Ryzen 3900X with 12C/24T:
Before: Time Elapsed 00:00:26.74
After: Time Elapsed 00:01:03.21
Bakugan: Deinterlace adaptive tff due to the game attempting to deinterlace FMVs but PCSX2 going nuts
Driv3r: Fixes janky coloured cars with cpuCLUT
Megaman X8: Deinterlace blending tff due to either looking like missing half the text or flicker as how the game handles empty and subtitles
Tales of Destiny 1: Texture preload partial for better performance in certain areas
GS: fixed compile error in Metal interlace shader
GS fixed more compile errors in Metal interlace shader
GS: Adjusted code indentation in interlace shader for all renderers
[SETTINGSVERSION+]
Added entries in the drop-down menu for Adaptive Deinterlacing
Re-arranged deinterlacing mode order in the drop-down menu.
"Auto" mode defaults to MAD.
Adjusted GameDB entries to be compatible with the new order of entries.
Improved Bob description for WX
implemented FastMAD motion-adaptive deinterlacing for OpenGL renderer, other renderers will crash. FastMAD is replacing blend (either mode) so select blend to activate MAD under the hood
fixed an assert and assessed that one MUST select mode Blend bottom field first to enable MAD
removed forced mode 2, added separate motion thresholds for current field and alternate field motion and optimized MAD for Top-FIeld-First mode
committing kind-of broken status for review
the algorithm works well on most games, but somehow Kingdom Hearts works at half resolution
completely fixed weird artifacts on MAD, I only need to fix a 1-line offset that is causing the top of the screen to flicker
fixed flicker on first line, I still need to fine-tune some coefficients
solved all nastiness by realizing that MAD MUST work on an even resolution, so odd resolutions are rounded up. Now all games I tried look great
made MAD sensitivity adjustable inside GDDevice.h and passed to shaders as a parameters. For this purpose ZrH is now a vec4 to hold more parameters conveniently
ported MAD to DX11 and DX12
removed rounding of texture size to closest multiple of 2 and fized odd number of lines inside the shaders by also passing the vertical resolution as a parameter
improved compatibility of upper buffer offset adjustment for odd resolutions
added Vulkan support