diff --git a/rpcs3.sln b/rpcs3.sln
index e230875034..a92db41391 100644
--- a/rpcs3.sln
+++ b/rpcs3.sln
@@ -193,6 +193,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rpcs3-tests", "rpcs3-tests\
{8BC303AB-25BE-4276-8E57-73F171B2D672} = {8BC303AB-25BE-4276-8E57-73F171B2D672}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GLGSRender", "rpcs3\GLGSRender.vcxproj", "{3384223A-6D97-4799-9862-359F85312892}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug - LLVM|x64 = Debug - LLVM|x64
@@ -622,6 +624,20 @@ Global
{AB222E8A-00CA-4ACF-A87E-5251C16C0587}.Release - LLVM|x64.Build.0 = Release|x64
{AB222E8A-00CA-4ACF-A87E-5251C16C0587}.Release|x64.ActiveCfg = Release|x64
{AB222E8A-00CA-4ACF-A87E-5251C16C0587}.Release|x64.Build.0 = Release|x64
+ {3384223A-6D97-4799-9862-359F85312892}.Debug - LLVM|x64.ActiveCfg = Debug - LLVM|x64
+ {3384223A-6D97-4799-9862-359F85312892}.Debug - LLVM|x64.Build.0 = Debug - LLVM|x64
+ {3384223A-6D97-4799-9862-359F85312892}.Debug - MemLeak|x64.ActiveCfg = Debug - MemLeak|x64
+ {3384223A-6D97-4799-9862-359F85312892}.Debug - MemLeak|x64.Build.0 = Debug - MemLeak|x64
+ {3384223A-6D97-4799-9862-359F85312892}.Debug|x64.ActiveCfg = Debug|x64
+ {3384223A-6D97-4799-9862-359F85312892}.Debug|x64.Build.0 = Debug|x64
+ {3384223A-6D97-4799-9862-359F85312892}.DLL Debug|x64.ActiveCfg = Debug|x64
+ {3384223A-6D97-4799-9862-359F85312892}.DLL Debug|x64.Build.0 = Debug|x64
+ {3384223A-6D97-4799-9862-359F85312892}.DLL Release|x64.ActiveCfg = Release|x64
+ {3384223A-6D97-4799-9862-359F85312892}.DLL Release|x64.Build.0 = Release|x64
+ {3384223A-6D97-4799-9862-359F85312892}.Release - LLVM|x64.ActiveCfg = Release - LLVM|x64
+ {3384223A-6D97-4799-9862-359F85312892}.Release - LLVM|x64.Build.0 = Release - LLVM|x64
+ {3384223A-6D97-4799-9862-359F85312892}.Release|x64.ActiveCfg = Release|x64
+ {3384223A-6D97-4799-9862-359F85312892}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -654,5 +670,6 @@ Global
{01F4CE10-2CFB-41A8-B41F-E54337868A1D} = {5812E712-6213-4372-B095-9EB9BAA1F2DF}
{00D36322-6188-4A66-B514-3B3F183E998D} = {5812E712-6213-4372-B095-9EB9BAA1F2DF}
{FAC9B17B-F4B8-4B75-8AEB-C8C7CB92B078} = {1A43FD7A-C7DD-4D04-A4D6-FAA194AAD9D2}
+ {3384223A-6D97-4799-9862-359F85312892} = {1A43FD7A-C7DD-4D04-A4D6-FAA194AAD9D2}
EndGlobalSection
EndGlobal
diff --git a/rpcs3/GLGSRender.vcxproj b/rpcs3/GLGSRender.vcxproj
new file mode 100644
index 0000000000..bc4738bede
--- /dev/null
+++ b/rpcs3/GLGSRender.vcxproj
@@ -0,0 +1,95 @@
+
+
+
+
+ Debug - LLVM
+ x64
+
+
+ Debug - MemLeak
+ x64
+
+
+ Debug
+ x64
+
+
+ Release - LLVM
+ x64
+
+
+ Release
+ x64
+
+
+
+ GLGSRender
+ 8.1
+ {3384223A-6D97-4799-9862-359F85312892}
+
+
+
+ StaticLibrary
+ Unicode
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {c4a10229-4712-4bd2-b63e-50d93c67a038}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rpcs3/GLGSRender.vcxproj.filters b/rpcs3/GLGSRender.vcxproj.filters
new file mode 100644
index 0000000000..f3ee493441
--- /dev/null
+++ b/rpcs3/GLGSRender.vcxproj.filters
@@ -0,0 +1,69 @@
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ {f2f80d8a-5c1d-461d-963f-5de8c8fdf860}
+
+
+
\ No newline at end of file
diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj
index 0244653ea0..2aafa09a45 100644
--- a/rpcs3/emucore.vcxproj
+++ b/rpcs3/emucore.vcxproj
@@ -89,8 +89,6 @@
-
-
@@ -215,13 +213,6 @@
-
-
-
-
-
-
-
@@ -538,16 +529,6 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/rpcs3/emucore.vcxproj.filters b/rpcs3/emucore.vcxproj.filters
index df1d79be61..f00ffa9883 100644
--- a/rpcs3/emucore.vcxproj.filters
+++ b/rpcs3/emucore.vcxproj.filters
@@ -72,9 +72,6 @@
{4adca4fa-b90f-4662-9eb0-1d29cf3cd2eb}
-
- {6f1da5b2-52c5-416b-9b5c-b9897bc1b300}
-
{1eae80f6-5aef-4049-81a0-bbfd7602f8f6}
@@ -464,27 +461,6 @@
Emu\SysCalls\Modules
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
Emu\GPU\RSX
@@ -761,9 +737,6 @@
Emu\GPU\RSX\Common
-
- Emu\GPU\RSX\GL
-
Emu\SysCalls\lv2
@@ -956,9 +929,6 @@
Emu\GPU\RSX\Null
-
- Emu\GPU\RSX\GL
-
Utilities
@@ -1403,30 +1373,6 @@
Emu\GPU\RSX\Null
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
-
- Emu\GPU\RSX\GL
-
Emu\GPU\RSX
@@ -1607,9 +1553,6 @@
Emu\GPU\RSX\Common
-
- Emu\GPU\RSX\GL
-
Emu\SysCalls\Modules
@@ -1835,9 +1778,6 @@
Utilities
-
- Emu\GPU\RSX\GL
-
Utilities
diff --git a/rpcs3/rpcs3.vcxproj b/rpcs3/rpcs3.vcxproj
index f90df00552..c2db39580c 100644
--- a/rpcs3/rpcs3.vcxproj
+++ b/rpcs3/rpcs3.vcxproj
@@ -183,6 +183,9 @@
{c4a10229-4712-4bd2-b63e-50d93c67a038}
+
+ {3384223a-6d97-4799-9862-359f85312892}
+