diff --git a/Makefile b/Makefile
index 560f2f97..6cad77aa 100644
--- a/Makefile
+++ b/Makefile
@@ -1258,7 +1258,7 @@ lrhost_gl$(EXE_EXT): tools/lrhost.c tools/lrhost_gl.h $(LIBRETRO_COMM_DIR)/featu
# write, and its texture uploads for desktop GL and for GLES 2
GLITCH64_TEST_SRCS := $(VIDEODIR_GLIDE)/Glitch64/glitchmain.c $(VIDEODIR_GLIDE)/Glitch64/glitch64_combiner.c \
$(VIDEODIR_GLIDE)/Glitch64/geometry.c $(VIDEODIR_GLIDE)/Glitch64/glitch64_textures.c \
- $(LIBRETRO_COMM_DIR)/glsm/glsm.c $(LIBRETRO_COMM_DIR)/gfx/gl_capabilities.c $(LIBRETRO_COMM_DIR)/glsym/rglgen.c
+ $(ROOT_DIR)/libretro/glsm/glsm.c $(LIBRETRO_COMM_DIR)/gfx/gl_capabilities.c $(LIBRETRO_COMM_DIR)/glsym/rglgen.c
GLITCH64_TEST_FLAGS := -D__LIBRETRO__ -DINLINE=inline -DM64P_PLUGIN_API -DM64P_CORE_PROTOTYPES -DHAVE_GLIDE64 \
-I$(VIDEODIR_GLIDE)/Glitch64/inc -I$(ROOT_DIR)/include -I$(ROOT_DIR)/libretro -I$(LIBRETRO_COMM_DIR)/include \
-I$(CORE_DIR)/src -I$(CORE_DIR)/src/api $(filter -fsanitize=% -O% -g,$(CFLAGS)) -w
diff --git a/Makefile.common b/Makefile.common
index 8043f529..27e82f65 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -305,7 +305,7 @@ endif
# Libretro
ifeq ($(HAVE_OPENGL),1)
-SOURCES_C += $(LIBRETRO_COMM_DIR)/glsm/glsm.c \
+SOURCES_C += $(LIBRETRO_DIR)/glsm/glsm.c \
$(LIBRETRO_DIR)/aleck64_e90_gl.c
endif
diff --git a/libretro-common/glsm/glsm.c b/libretro/glsm/glsm.c
similarity index 100%
rename from libretro-common/glsm/glsm.c
rename to libretro/glsm/glsm.c
diff --git a/libretro-common/include/glsm/glsm.h b/libretro/glsm/glsm.h
similarity index 100%
rename from libretro-common/include/glsm/glsm.h
rename to libretro/glsm/glsm.h
diff --git a/libretro-common/include/glsm/glsm_caps.h b/libretro/glsm/glsm_caps.h
similarity index 100%
rename from libretro-common/include/glsm/glsm_caps.h
rename to libretro/glsm/glsm_caps.h
diff --git a/libretro-common/include/glsm/glsm_state_ctl.h b/libretro/glsm/glsm_state_ctl.h
similarity index 100%
rename from libretro-common/include/glsm/glsm_state_ctl.h
rename to libretro/glsm/glsm_state_ctl.h
diff --git a/libretro-common/include/glsm/glsmsym.h b/libretro/glsm/glsmsym.h
similarity index 100%
rename from libretro-common/include/glsm/glsmsym.h
rename to libretro/glsm/glsmsym.h
diff --git a/libretro/msvc/msvc-2013/msvc-2013.vcxproj b/libretro/msvc/msvc-2013/msvc-2013.vcxproj
index 3a5526b8..7959089b 100644
--- a/libretro/msvc/msvc-2013/msvc-2013.vcxproj
+++ b/libretro/msvc/msvc-2013/msvc-2013.vcxproj
@@ -737,7 +737,7 @@
-
+
diff --git a/libretro/msvc/msvc-2013/msvc-2013.vcxproj.filters b/libretro/msvc/msvc-2013/msvc-2013.vcxproj.filters
index 2dd5bcac..f400d6ba 100644
--- a/libretro/msvc/msvc-2013/msvc-2013.vcxproj.filters
+++ b/libretro/msvc/msvc-2013/msvc-2013.vcxproj.filters
@@ -495,7 +495,7 @@
Source Files\libretro\libco
-
+
Source Files\libretro\glsm
diff --git a/tools/test_glsm_frame_boundary.py b/tools/test_glsm_frame_boundary.py
index 750c12ed..cffc2052 100644
--- a/tools/test_glsm_frame_boundary.py
+++ b/tools/test_glsm_frame_boundary.py
@@ -35,6 +35,7 @@ def main():
"-DHAVE_OPENGLES3", "-DHAVE_THR_AL", "-DHAVE_PARALLEL",
f'-DGLSM_FRAME_BOUNDARY_SOURCE="{header}"',
"-I" + str(root / "libretro-common/include"),
+ "-I" + str(root / "libretro"),
str(root / "tools/test_glsm_gles3.c"),
str(root / "libretro-common/glsym/glsym_es3.c"),
str(root / "libretro-common/glsym/rglgen.c"),
diff --git a/tools/test_glsm_gles3.c b/tools/test_glsm_gles3.c
index a1d5d2d0..308b5098 100644
--- a/tools/test_glsm_gles3.c
+++ b/tools/test_glsm_gles3.c
@@ -1,4 +1,4 @@
-/* cc -std=c99 -DHAVE_OPENGLES -DHAVE_OPENGLES3 -Ilibretro-common/include
+/* cc -std=c99 -DHAVE_OPENGLES -DHAVE_OPENGLES3 -Ilibretro-common/include -Ilibretro
* tools/test_glsm_gles3.c libretro-common/glsym/glsym_es3.c
* libretro-common/glsym/rglgen.c -lEGL -lGLESv2 -o test_glsm_gles3
* EGL_PLATFORM=surfaceless ./test_glsm_gles3
@@ -7,7 +7,7 @@
#include
#include
#ifndef GLSM_SOURCE
-#define GLSM_SOURCE "../libretro-common/glsm/glsm.c"
+#define GLSM_SOURCE "../libretro/glsm/glsm.c"
#endif
#include GLSM_SOURCE