summaryrefslogtreecommitdiff
path: root/Data/Sys/Shaders
AgeCommit message (Collapse)Author
2025-12-21Update conversion matrix for NTSC-JFilippo Tarpini
These were original calculated by @EndlesslyFlowering, and they've not came up with a new version that does chromatic adaptation (D93 to D65 white point) better, hence should be more accurate. These are already in use in RenoDX: https://github.com/clshortfuse/renodx/blob/283b85902176f0eced10ef2396e9524edee51fb8/src/shaders/color.hlsl#L97C1-L103C49
2025-04-30Improve gamma corrected resampling by acknowledging the perceptual luminanceFilippo Tarpini
2025-03-10Data: fix various typosLuz Paz
Found via `codespell -q 3 -S "./Externals,./Data/Sys/wiitdb-??.txt,*.po,*.pot" -L andf,asnd,bootup,brocken,bufferin,clen,collet,datas,delt,diety,extint,fpr,inout,inport,interm,nd,nin,ontop,pixelx,re-use,re-used,sav,stateman,strat,transer,wil`
2024-04-04Change the scaling process to be more uniform across color spaceSam Belliveau
2024-03-28It's technically more correct to do it this way, difference is extremely subtleSam Belliveau
2024-03-27Increase Max AmplificationSam Belliveau
2024-03-26Convert to Hybrid Log GammaSam Belliveau
2024-03-10Update PerceptualHDR with better color spaceSam Belliveau
2024-03-10Add PerceptualHDRSam Belliveau
2023-12-18Fix sharp bilinear using ceil instead of floorFiloppi
2023-11-15Merge pull request #12175 from Sam-Belliveau/correct-area-samplingAdmiral H. Curtiss
Corrected Area Sampling Range
2023-11-14Fix inner area sampling loop from going beyond boundsSam Belliveau
2023-09-09Make AutoHDR work with color luminance instead of averageFilippo Tarpini
This gives more consistent results. My main ReShade has also been updated with the same change: https://github.com/Filoppi/PumboAutoHDR
2023-08-21fixed area samplingSam Belliveau
2023-08-18Video: Fix area/box resampling shifting the output by about one pixel when ↵Filoppi
upscaling and downscaling
2023-08-18Video: Improved Tooltips & Bicubic (#5)Sam Belliveau
Edited by Filoppi
2023-08-18Video: Added Box ResamplingSam Belliveau
Edited by Filoppi
2023-08-18Video: implement output resampling (upscaling/downscaling) methodsFiloppi
2023-08-18Merge pull request #12003 from Filoppi/auto_hdrAdmiral H. Curtiss
Add AutoHDR post process shader
2023-06-29Add AutoHDR post process shaderFiloppi
2023-06-28Video: Fix shaders on OpenGL 4.1TellowKrinkle
2023-06-19Video: implement color correction to match the NTSC and PAL color spaces ↵Filoppi
(and gamma) that GC and Wii targeted. To further increase the accuracy of the post process phase, I've added (scRGB) HDR support, which is necessary to fully display the PAL and NTSC-J color spaces, and also to improve the quality of post process texture samplings and do them in linear space instead of gamma space (which is very important when playing at low resolutions). For SDR, the quality is also slightly increased, at least if any post process runs, as the buffer is now R10G10B10A2 (on Vulkan, DX11 and DX12) if supported; previously it was R8G8B8A8 but the alpha bits were wasted. Gamma correction is arguably the most important thing as Dolphin on Windows outputted in "sRGB" (implicitly) as that's what Windows expects by default, though sRGB gamma is very different from the gamma commonly used by video standards dating to the pre HDR era (roughly gamma 2.35). Additionally, the addition of HDR support (which is pretty straight forward and minimal), added support for our own custom AutoHDR shaders, which would allow us to achieve decent looking HDR in Dolphin games without having to use SpecialK or Windows 11 AutoHDR. Both of which don't necessarily play nice with older games with strongly different and simpler lighting. HDR should also be supported in Linux. Development of my own AutoHDR shader is almost complete and will come next. This has been carefully tested and there should be no regression in any of the different features that Dolphin offers, like multisampling, stereo rendering, other post processes, etc etc. Fixes: https://bugs.dolphin-emu.org/issues/8941 Co-authored-by: EndlesslyFlowering <EndlesslyFlowering@protonmail.com> Co-authored-by: Dogway <lin_ares@hotmail.com>
2023-06-01Video: Fix lens_distortion post process shader not compilingFilippo Tarpini
`any()` failed to build on my machine, but it doesn't seem to be necessary
2023-03-29Shaders: Add error message for asciiart shader if shader_subgroup is missing.degasus
This extension is currently required to get good performance. So instead of maybe triggering a GPU hang, let's just disable the shader and show a warning instead. Sadly our postprocessing framework does not support reporting a warning, so the way to display the warning is a bit hacky. But this is an ascii-art shader, we already have a font in the shader, so let's use it.
2023-03-29Shaders: Clang-formatdegasus
With no modification.
2023-03-24Vulkan: Enable subgroupShuffle.degasus
It is used as workaround for the missing subgroupBroadcastDynamicId flag on SPIR-V < 1.5.
2023-03-24Shaders: Reintroduce the old Asci-Art shader.degasus
Dolphin had a nice but horrible slow asci art shader. Beside being slow, it used the font from dolphin's old OSD implementation. So it was also broken after the VideoCommon redesign. This patch reintroduces the (almost) identical method for the asci art generation. However with many improvements: * Inline definition of the font, so no external dependency any more * Optimized performance by partial unrolling with CSE'ing some memory loads * Shader subgroup instructions, so 32 times faster on desktop CPUs on Vulkan + OGL (no D3D support) * Option to select character size by internal or window resultion * Dropped the last row of pixels of each character (only modification of the outcome)
2023-02-05Merge pull request #10722 from TryTwo/PR_Integer_ShaderAdmiral H. Curtiss
Post-processing: Add integer scaling shader
2023-02-04Add sharp bilinear postprocessing shader.Admiral H. Curtiss
2022-06-14Add post-processing option that can do Integer Scaling.TryTwo
2021-07-20Merge pull request #9917 from TheHarmonicRealm/masterTilka
Fix GBR and GRB post-processing effects
2021-07-19Fix swap_RGB_GRB.gls post-processing shaderNoah
2021-07-19Fix swap_RGB_GBR.gls post-processing shaderNoah
2021-07-18PostProcessing: fix lens distortion shader for HLSLTillmann Karras
2021-07-18PostProcessing: fix lens distortion shaderTillmann Karras
This has been broken since b44a0980eb310b221feb84a195db63b89276a053.
2020-10-05Remove AsciiArt shaderG
This shader has been rendered nonfunctional due to the removal of the function SampleFontLocation, which was never implemented in VideoCommon. The last reference to SampleFontLocation was located in the OGL video backend. It was removed in this commit: https://github.com/dolphin-emu/dolphin/commit/f039149198657c1891e1c6462ed30c31ed4b8486#diff-24125a6c968a8aca9cadd977d4b9d68f, where many functions were moved to video common, among other things. This shader should be removed so it does not confuse users with the error that it causes. Alternatively, it could be rewritten so it is compatible with modern versions of Dolphin. I am not familiar with GLSL, so this is currently beyond my skill set.
2019-07-25Fix dubois anaglyph shaders on D3D11Pokechu22
2019-05-04VideoCommon: Implement passive stereoscopic 3Diwubcode
2018-12-04Replace dead 'oreillynet' url with Wayback Machine archiveSteven M. Vascellaro
2016-09-13code adjustments in response to reviewJason
2016-09-12lens distortion post-processing shaderJason
2015-06-02add shaders for anaglyph Amber-Blue and Green-MagentaTijmen Wildervanck
2015-01-25PostProcessing: Add support for user-supplied anaglyph shaders.Jules Blok
There are lots of different anaglyph glasses out there and there may be even more creative uses for stereoscopic post-processing shaders.
2014-11-23Shaders: Remove fake stereoscopic shaders.Jules Blok
We have actual stereoscopy now, no need to pretend.
2014-08-13Change all the post processing shaders to the new system.Ryan Houdek
Removes the README.txt file in favour of a new wiki page I'm going to generate.
2014-07-18Support Sampler binding in the shader.Ryan Houdek
In the cases where we support the binding layout keyword, use it for more than binding UBO location. This changes it so it is supported for samplers as well. Instances when this is enabled is if a device supports GL_ARB_shading_language_420pack, or if it supports GLES 3.10.
2014-05-21Update emboss.glslmyownfriend
2014-05-21Update emboss.glslmyownfriend
2014-05-21Update fire2.glslmyownfriend
2014-05-21Update cool1.glslmyownfriend