summaryrefslogtreecommitdiff
path: root/src/qcam/assets/shader/YUV_2_planes.frag
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-08-03 12:02:55 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-08-03 23:37:39 +0300
commitc615807bc420d3ce8fe2091ae99789077cb094a1 (patch)
treef3f8a3ceede1b99415d5f7f67a53e8b95e6954e8 /src/qcam/assets/shader/YUV_2_planes.frag
parent86eac92fcf0c5d37c9db779008ff513c4f36d9be (diff)
qcam: Support OpenGL ES 2.0
The GL_RG and GL_RED texture formats are not supported in OpenGL ES prior to 3.0. In order to be compatible with OpenGL ES 2.0, use GL_LUMINANCE_ALPHA and GL_LUMINANCE instead. The shader code needs to be updated accordingly for GL_RG, as the second component is now stored in the alpha component instead of the green component. Usage of the red component is fine, the luminance value is stored in the red, green and blue components. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Andrey Konovalov <andrey.konovalov@linaro.org>
Diffstat (limited to 'src/qcam/assets/shader/YUV_2_planes.frag')
-rw-r--r--src/qcam/assets/shader/YUV_2_planes.frag4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/qcam/assets/shader/YUV_2_planes.frag b/src/qcam/assets/shader/YUV_2_planes.frag
index 125f1c85..254463c0 100644
--- a/src/qcam/assets/shader/YUV_2_planes.frag
+++ b/src/qcam/assets/shader/YUV_2_planes.frag
@@ -26,9 +26,9 @@ void main(void)
yuv.x = texture2D(tex_y, textureOut).r - 0.063;
#if defined(YUV_PATTERN_UV)
yuv.y = texture2D(tex_u, textureOut).r - 0.500;
- yuv.z = texture2D(tex_u, textureOut).g - 0.500;
+ yuv.z = texture2D(tex_u, textureOut).a - 0.500;
#elif defined(YUV_PATTERN_VU)
- yuv.y = texture2D(tex_u, textureOut).g - 0.500;
+ yuv.y = texture2D(tex_u, textureOut).a - 0.500;
yuv.z = texture2D(tex_u, textureOut).r - 0.500;
#else
#error Invalid pattern