diff --git a/app/resources.qrc b/app/resources.qrc
index 7d8cc9dc..8046a379 100644
--- a/app/resources.qrc
+++ b/app/resources.qrc
@@ -84,11 +84,9 @@
SDL_GameControllerDB/gamecontrollerdb.txt
ModeSeven.ttf
shaders/egl_nv12.frag
- shaders/egl_nv12.vert
shaders/egl_opaque.frag
- shaders/egl_opaque.vert
shaders/egl_overlay.frag
- shaders/egl_overlay.vert
+ shaders/egl.vert
shaders/d3d11_vertex.fxc
shaders/d3d11_overlay_pixel.fxc
shaders/d3d11_yuv420_pixel.fxc
diff --git a/app/shaders/egl_overlay.vert b/app/shaders/egl.vert
similarity index 98%
rename from app/shaders/egl_overlay.vert
rename to app/shaders/egl.vert
index c51b547a..128b34f7 100644
--- a/app/shaders/egl_overlay.vert
+++ b/app/shaders/egl.vert
@@ -5,4 +5,4 @@ varying vec2 vTexCoord;
void main() {
vTexCoord = aTexCoord;
gl_Position = vec4(aPosition, 0, 1);
-}
+}
\ No newline at end of file
diff --git a/app/shaders/egl_nv12.frag b/app/shaders/egl_nv12.frag
index 66d3a6cd..193b84d4 100644
--- a/app/shaders/egl_nv12.frag
+++ b/app/shaders/egl_nv12.frag
@@ -1,9 +1,7 @@
-#version 300 es
#extension GL_OES_EGL_image_external : require
precision mediump float;
-out vec4 FragColor;
-in vec2 vTextCoord;
+varying vec2 vTexCoord;
uniform mat3 yuvmat;
uniform vec3 offset;
@@ -12,11 +10,11 @@ uniform samplerExternalOES plane1;
uniform samplerExternalOES plane2;
void main() {
- vec3 YCbCr = vec3(
- texture2D(plane1, vTextCoord)[0],
- texture2D(plane2, vTextCoord + chromaOffset).xy
- );
+ vec3 YCbCr = vec3(
+ texture2D(plane1, vTexCoord)[0],
+ texture2D(plane2, vTexCoord + chromaOffset).xy
+ );
- YCbCr -= offset;
- FragColor = vec4(clamp(yuvmat * YCbCr, 0.0, 1.0), 1.0f);
+ YCbCr -= offset;
+ gl_FragColor = vec4(clamp(yuvmat * YCbCr, 0.0, 1.0), 1.0f);
}
diff --git a/app/shaders/egl_nv12.vert b/app/shaders/egl_nv12.vert
deleted file mode 100644
index bf0848d9..00000000
--- a/app/shaders/egl_nv12.vert
+++ /dev/null
@@ -1,10 +0,0 @@
-#version 300 es
-
-layout (location = 0) in vec2 aPosition; // 2D: X,Y
-layout (location = 1) in vec2 aTexCoord;
-out vec2 vTextCoord;
-
-void main() {
- vTextCoord = aTexCoord;
- gl_Position = vec4(aPosition, 0, 1);
-}
diff --git a/app/shaders/egl_opaque.frag b/app/shaders/egl_opaque.frag
index 3c462657..8ddd1c95 100644
--- a/app/shaders/egl_opaque.frag
+++ b/app/shaders/egl_opaque.frag
@@ -1,12 +1,10 @@
-#version 300 es
#extension GL_OES_EGL_image_external : require
precision mediump float;
-out vec4 FragColor;
-in vec2 vTextCoord;
+varying vec2 vTexCoord;
uniform samplerExternalOES uTexture;
void main() {
- FragColor = texture2D(uTexture, vTextCoord);
+ gl_FragColor = texture2D(uTexture, vTexCoord);
}
diff --git a/app/shaders/egl_opaque.vert b/app/shaders/egl_opaque.vert
deleted file mode 100644
index bf0848d9..00000000
--- a/app/shaders/egl_opaque.vert
+++ /dev/null
@@ -1,10 +0,0 @@
-#version 300 es
-
-layout (location = 0) in vec2 aPosition; // 2D: X,Y
-layout (location = 1) in vec2 aTexCoord;
-out vec2 vTextCoord;
-
-void main() {
- vTextCoord = aTexCoord;
- gl_Position = vec4(aPosition, 0, 1);
-}
diff --git a/app/shaders/egl_overlay.frag b/app/shaders/egl_overlay.frag
index 1c5539db..7b3f080e 100644
--- a/app/shaders/egl_overlay.frag
+++ b/app/shaders/egl_overlay.frag
@@ -1,4 +1,5 @@
precision mediump float;
+
uniform sampler2D uTexture;
varying vec2 vTexCoord;
diff --git a/app/streaming/video/ffmpeg-renderers/eglvid.cpp b/app/streaming/video/ffmpeg-renderers/eglvid.cpp
index 69ede9e9..5b006177 100644
--- a/app/streaming/video/ffmpeg-renderers/eglvid.cpp
+++ b/app/streaming/video/ffmpeg-renderers/eglvid.cpp
@@ -351,7 +351,7 @@ bool EGLRenderer::compileShaders() {
// XXX: TODO: other formats
if (m_EGLImagePixelFormat == AV_PIX_FMT_NV12 || m_EGLImagePixelFormat == AV_PIX_FMT_P010) {
- m_ShaderProgram = compileShader("egl_nv12.vert", "egl_nv12.frag");
+ m_ShaderProgram = compileShader("egl.vert", "egl_nv12.frag");
if (!m_ShaderProgram) {
return false;
}
@@ -369,7 +369,7 @@ bool EGLRenderer::compileShaders() {
glUseProgram(0);
}
else if (m_EGLImagePixelFormat == AV_PIX_FMT_DRM_PRIME) {
- m_ShaderProgram = compileShader("egl_opaque.vert", "egl_opaque.frag");
+ m_ShaderProgram = compileShader("egl.vert", "egl_opaque.frag");
if (!m_ShaderProgram) {
return false;
}
@@ -389,7 +389,7 @@ bool EGLRenderer::compileShaders() {
return false;
}
- m_OverlayShaderProgram = compileShader("egl_overlay.vert", "egl_overlay.frag");
+ m_OverlayShaderProgram = compileShader("egl.vert", "egl_overlay.frag");
if (!m_OverlayShaderProgram) {
return false;
}