libretro/common-shaders — pull request #15 by TroggleMonkey (2014-05-26 23:04:07+00:00)
Title: Add a comprehensive library of Gaussian blur functions (and more)...

Add a comprehensive library of Gaussian blur functions, along with .cg
shaders that use them and testing/benchmarking .cgp presets. Also add
srgb-helpers, a collection of canned .cg files for linearizing the first
pass and gamma-correcting the last pass differently depending on whether
another display is being simulated (e.g. a Game Boy Advance screen). Both
rely on tex2D* wrappers in gamma-management.h to make it trivial to switch
between gamma-correct sRGB and non-sRGB pipelines. Reusable headers are
kept in the include directory (currently blur functions, gamma management
wrappers, and pixel quad communication functions.)

A few more notes:
Some of these blurs (like the blurNfast family) are faster than the ones that are typically used, whereas other blurs have different advantages/tradeoffs. All rely on static weighting for speed.