[PATCH 23/27] libcamera: shaders: Use highp not mediump for float precision

Bryan O'Donoghue bryan.odonoghue at linaro.org
Tue Apr 22 23:59:16 CEST 2025


We get better sample resolution with highp instead of mediump.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue at linaro.org>
---
 src/apps/qcam/assets/shader/RGB.frag             | 2 +-
 src/apps/qcam/assets/shader/YUV_2_planes.frag    | 2 +-
 src/apps/qcam/assets/shader/YUV_3_planes.frag    | 2 +-
 src/apps/qcam/assets/shader/YUV_packed.frag      | 2 +-
 src/apps/qcam/assets/shader/bayer_1x_packed.frag | 2 +-
 src/apps/qcam/assets/shader/bayer_8.frag         | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/apps/qcam/assets/shader/RGB.frag b/src/apps/qcam/assets/shader/RGB.frag
index 4c374ac9..72439589 100644
--- a/src/apps/qcam/assets/shader/RGB.frag
+++ b/src/apps/qcam/assets/shader/RGB.frag
@@ -6,7 +6,7 @@
  */
 
 #ifdef GL_ES
-precision mediump float;
+precision highp float;
 #endif
 
 varying vec2 textureOut;
diff --git a/src/apps/qcam/assets/shader/YUV_2_planes.frag b/src/apps/qcam/assets/shader/YUV_2_planes.frag
index 1d5d1206..d286f117 100644
--- a/src/apps/qcam/assets/shader/YUV_2_planes.frag
+++ b/src/apps/qcam/assets/shader/YUV_2_planes.frag
@@ -6,7 +6,7 @@
  */
 
 #ifdef GL_ES
-precision mediump float;
+precision highp float;
 #endif
 
 varying vec2 textureOut;
diff --git a/src/apps/qcam/assets/shader/YUV_3_planes.frag b/src/apps/qcam/assets/shader/YUV_3_planes.frag
index 8f788e90..8e3e0b4a 100644
--- a/src/apps/qcam/assets/shader/YUV_3_planes.frag
+++ b/src/apps/qcam/assets/shader/YUV_3_planes.frag
@@ -6,7 +6,7 @@
  */
 
 #ifdef GL_ES
-precision mediump float;
+precision highp float;
 #endif
 
 varying vec2 textureOut;
diff --git a/src/apps/qcam/assets/shader/YUV_packed.frag b/src/apps/qcam/assets/shader/YUV_packed.frag
index b9ef9d41..3c9e3e39 100644
--- a/src/apps/qcam/assets/shader/YUV_packed.frag
+++ b/src/apps/qcam/assets/shader/YUV_packed.frag
@@ -6,7 +6,7 @@
  */
 
 #ifdef GL_ES
-precision mediump float;
+precision highp float;
 #endif
 
 varying vec2 textureOut;
diff --git a/src/apps/qcam/assets/shader/bayer_1x_packed.frag b/src/apps/qcam/assets/shader/bayer_1x_packed.frag
index f53f5575..19b13ad0 100644
--- a/src/apps/qcam/assets/shader/bayer_1x_packed.frag
+++ b/src/apps/qcam/assets/shader/bayer_1x_packed.frag
@@ -20,7 +20,7 @@
  */
 
 #ifdef GL_ES
-precision mediump float;
+precision highp float;
 #endif
 
 /*
diff --git a/src/apps/qcam/assets/shader/bayer_8.frag b/src/apps/qcam/assets/shader/bayer_8.frag
index 7e35ca88..aa7a1b00 100644
--- a/src/apps/qcam/assets/shader/bayer_8.frag
+++ b/src/apps/qcam/assets/shader/bayer_8.frag
@@ -16,7 +16,7 @@ Copyright (C) 2021, Linaro
 
 //Pixel Shader
 #ifdef GL_ES
-precision mediump float;
+precision highp float;
 #endif
 
 /** Monochrome RGBA or GL_LUMINANCE Bayer encoded texture.*/
-- 
2.49.0



More information about the libcamera-devel mailing list