diff --git a/Makefile.common b/Makefile.common
index 7ce6ca314e..dac939f7eb 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -576,7 +576,7 @@ endif
ifeq ($(HAVE_GL_CONTEXT), 1)
DEFINES += -DHAVE_OPENGL -DHAVE_GLSL
OBJ += gfx/drivers/gl.o \
- gfx/drivers/gl_common.o \
+ gfx/common/gl_common.o \
gfx/drivers_font/gl_raster_font.o \
libretro-common/glsym/rglgen.o
diff --git a/gfx/drivers/gl_common.c b/gfx/common/gl_common.c
similarity index 100%
rename from gfx/drivers/gl_common.c
rename to gfx/common/gl_common.c
diff --git a/gfx/drivers/gl_common.h b/gfx/common/gl_common.h
similarity index 100%
rename from gfx/drivers/gl_common.h
rename to gfx/common/gl_common.h
diff --git a/gfx/drivers_context/androidegl_ctx.c b/gfx/drivers_context/androidegl_ctx.c
index b3f317cf21..e23bdb4cc5 100644
--- a/gfx/drivers_context/androidegl_ctx.c
+++ b/gfx/drivers_context/androidegl_ctx.c
@@ -24,7 +24,7 @@
#include "../../general.h"
#include "../../runloop.h"
#include "../video_monitor.h"
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
#include "../../frontend/drivers/platform_linux.h"
diff --git a/gfx/drivers_context/bbqnx_ctx.c b/gfx/drivers_context/bbqnx_ctx.c
index f9f144b49d..5ce563f051 100644
--- a/gfx/drivers_context/bbqnx_ctx.c
+++ b/gfx/drivers_context/bbqnx_ctx.c
@@ -29,7 +29,7 @@
#include "../../general.h"
#include "../../runloop.h"
#include "../video_monitor.h"
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
#include "../image/image.h"
diff --git a/gfx/drivers_context/drm_egl_ctx.c b/gfx/drivers_context/drm_egl_ctx.c
index a8362461f4..1cd460ce4f 100644
--- a/gfx/drivers_context/drm_egl_ctx.c
+++ b/gfx/drivers_context/drm_egl_ctx.c
@@ -43,7 +43,7 @@
#include "../../driver.h"
#include "../../runloop.h"
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
#include "../video_monitor.h"
#ifdef HAVE_CONFIG_H
diff --git a/gfx/drivers_context/emscriptenegl_ctx.c b/gfx/drivers_context/emscriptenegl_ctx.c
index c529955799..a4b5f4721e 100644
--- a/gfx/drivers_context/emscriptenegl_ctx.c
+++ b/gfx/drivers_context/emscriptenegl_ctx.c
@@ -25,7 +25,7 @@
#include "../../driver.h"
#include "../../runloop.h"
#include "../video_context_driver.h"
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
#include "../video_monitor.h"
#ifdef HAVE_CONFIG_H
diff --git a/gfx/drivers_context/glx_ctx.c b/gfx/drivers_context/glx_ctx.c
index 6a5a68b574..b1a167f0c0 100644
--- a/gfx/drivers_context/glx_ctx.c
+++ b/gfx/drivers_context/glx_ctx.c
@@ -21,8 +21,9 @@
#include "../../driver.h"
#include "../../runloop.h"
-#include "../drivers/gl_common.h"
#include "../video_monitor.h"
+
+#include "../common/gl_common.h"
#include "../common/x11_common.h"
static int (*g_pglSwapInterval)(int);
diff --git a/gfx/drivers_context/mali_fbdev_ctx.c b/gfx/drivers_context/mali_fbdev_ctx.c
index 0b7c260bf4..d1a9a249b7 100644
--- a/gfx/drivers_context/mali_fbdev_ctx.c
+++ b/gfx/drivers_context/mali_fbdev_ctx.c
@@ -30,7 +30,7 @@
#include "../../general.h"
#include "../../runloop.h"
#include "../video_monitor.h"
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
struct fbdev_window native_window;
static EGLContext g_egl_ctx;
diff --git a/gfx/drivers_context/ps3_ctx.c b/gfx/drivers_context/ps3_ctx.c
index 0bcb68268e..17ba4babbe 100644
--- a/gfx/drivers_context/ps3_ctx.c
+++ b/gfx/drivers_context/ps3_ctx.c
@@ -29,7 +29,7 @@
#include "../../driver.h"
#include "../../runloop.h"
#include "../../defines/ps3_defines.h"
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
#include "../video_context_driver.h"
#include "../video_monitor.h"
diff --git a/gfx/drivers_context/sdl_gl_ctx.c b/gfx/drivers_context/sdl_gl_ctx.c
index 45518c0781..4a17738e04 100644
--- a/gfx/drivers_context/sdl_gl_ctx.c
+++ b/gfx/drivers_context/sdl_gl_ctx.c
@@ -18,7 +18,7 @@
#include "../../driver.h"
#include "../../runloop.h"
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
#include "../video_monitor.h"
static enum gfx_ctx_api g_api = GFX_CTX_OPENGL_API;
diff --git a/gfx/drivers_context/vc_egl_ctx.c b/gfx/drivers_context/vc_egl_ctx.c
index 0d023ce7ab..a56d528c08 100644
--- a/gfx/drivers_context/vc_egl_ctx.c
+++ b/gfx/drivers_context/vc_egl_ctx.c
@@ -32,7 +32,7 @@
#include "../../driver.h"
#include "../../runloop.h"
#include "../video_context_driver.h"
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
#include "../video_monitor.h"
#ifdef HAVE_CONFIG_H
diff --git a/gfx/drivers_context/vivante_fbdev_ctx.c b/gfx/drivers_context/vivante_fbdev_ctx.c
index d7c973b58f..67cfe5c064 100644
--- a/gfx/drivers_context/vivante_fbdev_ctx.c
+++ b/gfx/drivers_context/vivante_fbdev_ctx.c
@@ -22,7 +22,7 @@
#include "../../general.h"
#include "../../runloop.h"
#include "../video_monitor.h"
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
static EGLContext g_egl_ctx;
static EGLSurface g_egl_surf;
diff --git a/gfx/drivers_context/wayland_ctx.c b/gfx/drivers_context/wayland_ctx.c
index ed769cf8e7..a5e50c3a24 100644
--- a/gfx/drivers_context/wayland_ctx.c
+++ b/gfx/drivers_context/wayland_ctx.c
@@ -28,7 +28,7 @@
#include "../../general.h"
#include "../../runloop.h"
#include "../video_monitor.h"
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
typedef struct gfx_ctx_wayland_data
{
diff --git a/gfx/drivers_context/wgl_ctx.cpp b/gfx/drivers_context/wgl_ctx.cpp
index 9eca74682e..d8410929e7 100644
--- a/gfx/drivers_context/wgl_ctx.cpp
+++ b/gfx/drivers_context/wgl_ctx.cpp
@@ -35,9 +35,11 @@
#include "../../dynamic.h"
#include "../../runloop.h"
#include "../video_context_driver.h"
-#include "../drivers/gl_common.h"
#include "../video_monitor.h"
+
+#include "../common/gl_common.h"
#include "../common/win32_common.h"
+
#include "../drivers_wm/win32_shader_dlg.h"
#ifndef WGL_CONTEXT_MAJOR_VERSION_ARB
diff --git a/gfx/drivers_context/xegl_ctx.c b/gfx/drivers_context/xegl_ctx.c
index 6484516093..c446610b60 100644
--- a/gfx/drivers_context/xegl_ctx.c
+++ b/gfx/drivers_context/xegl_ctx.c
@@ -26,8 +26,8 @@
#include "../../driver.h"
#include "../../runloop.h"
-#include "../drivers/gl_common.h"
#include "../video_monitor.h"
+#include "../common/gl_common.h"
#include "../common/x11_common.h"
#ifndef EGL_OPENGL_ES3_BIT_KHR
diff --git a/gfx/drivers_font/gl_raster_font.c b/gfx/drivers_font/gl_raster_font.c
index 9274943509..b833fcdf33 100644
--- a/gfx/drivers_font/gl_raster_font.c
+++ b/gfx/drivers_font/gl_raster_font.c
@@ -14,7 +14,7 @@
* If not, see .
*/
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
#include "../font_driver.h"
#include "../video_shader_driver.h"
#include "../video_texture.h"
diff --git a/gfx/drivers_shader/shader_gl_cg.c b/gfx/drivers_shader/shader_gl_cg.c
index f5b793531f..ff30c2d9df 100644
--- a/gfx/drivers_shader/shader_gl_cg.c
+++ b/gfx/drivers_shader/shader_gl_cg.c
@@ -24,7 +24,7 @@
#include
#ifdef HAVE_OPENGL
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
#include
#endif
diff --git a/gfx/drivers_shader/shader_glsl.c b/gfx/drivers_shader/shader_glsl.c
index 6fa9a9d518..aa3bceb28d 100644
--- a/gfx/drivers_shader/shader_glsl.c
+++ b/gfx/drivers_shader/shader_glsl.c
@@ -31,7 +31,7 @@
#endif
#ifdef HAVE_OPENGL
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
#endif
#ifdef HAVE_OPENGLES2
diff --git a/gfx/drivers_shader/shader_null.c b/gfx/drivers_shader/shader_null.c
index 43142cad84..3490002952 100644
--- a/gfx/drivers_shader/shader_null.c
+++ b/gfx/drivers_shader/shader_null.c
@@ -31,7 +31,7 @@
#endif
#ifdef HAVE_OPENGL
-#include "../drivers/gl_common.h"
+#include "../common/gl_common.h"
#endif
#include "../video_shader_driver.h"
diff --git a/gfx/drivers_wm/win32_shader_dlg.c b/gfx/drivers_wm/win32_shader_dlg.c
index 842c2b36bb..a870c44717 100644
--- a/gfx/drivers_wm/win32_shader_dlg.c
+++ b/gfx/drivers_wm/win32_shader_dlg.c
@@ -36,11 +36,12 @@
#include "../../driver.h"
#include "../../runloop.h"
#include "../video_context_driver.h"
-#include "../drivers/gl_common.h"
#include "../video_monitor.h"
-#include "../common/win32_common.h"
#include "win32_shader_dlg.h"
+#include "../common/gl_common.h"
+#include "../common/win32_common.h"
+
#define IDI_ICON 1
#define SHADER_DLG_WIDTH 220
diff --git a/gfx/video_texture.h b/gfx/video_texture.h
index dfe6699810..252b5bf1ca 100644
--- a/gfx/video_texture.h
+++ b/gfx/video_texture.h
@@ -31,7 +31,7 @@ extern "C" {
#endif
#ifdef HAVE_OPENGL
-#include "drivers/gl_common.h"
+#include "common/gl_common.h"
void gl_load_texture_data(GLuint id,
enum gfx_wrap_type wrap_type,
diff --git a/griffin/griffin.c b/griffin/griffin.c
index fae6524804..57d3bc1e07 100644
--- a/griffin/griffin.c
+++ b/griffin/griffin.c
@@ -228,8 +228,8 @@ VIDEO DRIVER
#endif
#ifdef HAVE_OPENGL
+#include "../gfx/common/gl_common.c"
#include "../gfx/drivers/gl.c"
-#include "../gfx/drivers/gl_common.c"
#ifndef HAVE_PSGL
#include "../libretro-common/glsym/rglgen.c"
diff --git a/menu/drivers_display/menu_display_gl.c b/menu/drivers_display/menu_display_gl.c
index bc8dcade2f..caaa7e3b6c 100644
--- a/menu/drivers_display/menu_display_gl.c
+++ b/menu/drivers_display/menu_display_gl.c
@@ -20,7 +20,7 @@
#include "../../gfx/video_context_driver.h"
#include "../../gfx/video_thread_wrapper.h"
#include "../../gfx/video_texture.h"
-#include "../../gfx/drivers/gl_common.h"
+#include "../../gfx/common/gl_common.h"
#include "../menu_display.h"
diff --git a/ui/drivers/cocoa/cocoa_common.m b/ui/drivers/cocoa/cocoa_common.m
index 603982c843..db884be8bb 100644
--- a/ui/drivers/cocoa/cocoa_common.m
+++ b/ui/drivers/cocoa/cocoa_common.m
@@ -171,7 +171,7 @@ void *glkitview_init(void);
#endif
#ifdef HAVE_AVFOUNDATION
-#include "../../gfx/drivers/gl_common.h"
+#include "../../gfx/common/gl_common.h"
#ifndef GL_BGRA
#define GL_BGRA 0x80E1