Since you came to this thread, it seems you want to get familiar with how to implement extensions to the ReShade Framework. In the following, you can find a more advanced introduction to its structure and explanations on how to implement or port your shader.
1. ReShade Framework Structure (advanced)
To better explain the structure, we split it into three levels. Level 1 (binary level)
The first (binary) level is where all the ReShade binaries are located. Same as in previous (stand-alone) version of ReShade, there is also a ReShade.fx file which is loaded first by the compiler. As a developer, you will need to add lines in the ReShade.fx file to include your implemented shader into the framework. More about that in section 3.1 Including/Loading Shader.
Level 2 (settings level)
The ReShade folder of the first level contains the second (settings) level which holds the settings file to each individual (and the global) suite. People that used SweetFX before will be used to the structure of those files. In the setting files, the developer can add shader and their free variables to a suite. Further, to allow developers to use variables without name restrictions across suites, a .undef file has to be created for each existing settings file. More to that in section 3.2 Shader Settings.
Level 3 (suite level)
Each suite folder (Common, CustomFX, GemFX, McFX and SweetFX) contains the third (suite) level.