[v4,05/23] libcamera: shaders: Use highp not mediump for float precision
diff mbox series

Message ID 20251120233347.5046-6-bryan.odonoghue@linaro.org
State Superseded
Headers show
Series
  • Add GLES 2.0 GPUISP to libcamera
Related show

Commit Message

Bryan O'Donoghue Nov. 20, 2025, 11:33 p.m. UTC
We get better sample resolution with highp instead of mediump.

Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 include/libcamera/internal/shaders/RGB.frag             | 2 +-
 include/libcamera/internal/shaders/YUV_2_planes.frag    | 2 +-
 include/libcamera/internal/shaders/YUV_3_planes.frag    | 2 +-
 include/libcamera/internal/shaders/YUV_packed.frag      | 2 +-
 include/libcamera/internal/shaders/bayer_1x_packed.frag | 2 +-
 include/libcamera/internal/shaders/bayer_unpacked.frag  | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

Comments

Laurent Pinchart Nov. 21, 2025, 3:11 a.m. UTC | #1
On Thu, Nov 20, 2025 at 11:33:29PM +0000, Bryan O'Donoghue wrote:
> We get better sample resolution with highp instead of mediump.

Please explain the potential drawbacks in the commit message.

> Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>  include/libcamera/internal/shaders/RGB.frag             | 2 +-
>  include/libcamera/internal/shaders/YUV_2_planes.frag    | 2 +-
>  include/libcamera/internal/shaders/YUV_3_planes.frag    | 2 +-
>  include/libcamera/internal/shaders/YUV_packed.frag      | 2 +-
>  include/libcamera/internal/shaders/bayer_1x_packed.frag | 2 +-
>  include/libcamera/internal/shaders/bayer_unpacked.frag  | 2 +-
>  6 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/include/libcamera/internal/shaders/RGB.frag b/include/libcamera/internal/shaders/RGB.frag
> index 4c374ac98..724395894 100644
> --- a/include/libcamera/internal/shaders/RGB.frag
> +++ b/include/libcamera/internal/shaders/RGB.frag
> @@ -6,7 +6,7 @@
>   */
>  
>  #ifdef GL_ES
> -precision mediump float;
> +precision highp float;
>  #endif
>  
>  varying vec2 textureOut;
> diff --git a/include/libcamera/internal/shaders/YUV_2_planes.frag b/include/libcamera/internal/shaders/YUV_2_planes.frag
> index 1d5d12062..d286f1179 100644
> --- a/include/libcamera/internal/shaders/YUV_2_planes.frag
> +++ b/include/libcamera/internal/shaders/YUV_2_planes.frag
> @@ -6,7 +6,7 @@
>   */
>  
>  #ifdef GL_ES
> -precision mediump float;
> +precision highp float;
>  #endif
>  
>  varying vec2 textureOut;
> diff --git a/include/libcamera/internal/shaders/YUV_3_planes.frag b/include/libcamera/internal/shaders/YUV_3_planes.frag
> index 8f788e90a..8e3e0b4a5 100644
> --- a/include/libcamera/internal/shaders/YUV_3_planes.frag
> +++ b/include/libcamera/internal/shaders/YUV_3_planes.frag
> @@ -6,7 +6,7 @@
>   */
>  
>  #ifdef GL_ES
> -precision mediump float;
> +precision highp float;
>  #endif
>  
>  varying vec2 textureOut;
> diff --git a/include/libcamera/internal/shaders/YUV_packed.frag b/include/libcamera/internal/shaders/YUV_packed.frag
> index b9ef9d41b..3c9e3e397 100644
> --- a/include/libcamera/internal/shaders/YUV_packed.frag
> +++ b/include/libcamera/internal/shaders/YUV_packed.frag
> @@ -6,7 +6,7 @@
>   */
>  
>  #ifdef GL_ES
> -precision mediump float;
> +precision highp float;
>  #endif
>  
>  varying vec2 textureOut;
> diff --git a/include/libcamera/internal/shaders/bayer_1x_packed.frag b/include/libcamera/internal/shaders/bayer_1x_packed.frag
> index f53f55758..19b13ad08 100644
> --- a/include/libcamera/internal/shaders/bayer_1x_packed.frag
> +++ b/include/libcamera/internal/shaders/bayer_1x_packed.frag
> @@ -20,7 +20,7 @@
>   */
>  
>  #ifdef GL_ES
> -precision mediump float;
> +precision highp float;
>  #endif
>  
>  /*
> diff --git a/include/libcamera/internal/shaders/bayer_unpacked.frag b/include/libcamera/internal/shaders/bayer_unpacked.frag
> index 7e35ca88e..aa7a1b004 100644
> --- a/include/libcamera/internal/shaders/bayer_unpacked.frag
> +++ b/include/libcamera/internal/shaders/bayer_unpacked.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.*/

Patch
diff mbox series

diff --git a/include/libcamera/internal/shaders/RGB.frag b/include/libcamera/internal/shaders/RGB.frag
index 4c374ac98..724395894 100644
--- a/include/libcamera/internal/shaders/RGB.frag
+++ b/include/libcamera/internal/shaders/RGB.frag
@@ -6,7 +6,7 @@ 
  */
 
 #ifdef GL_ES
-precision mediump float;
+precision highp float;
 #endif
 
 varying vec2 textureOut;
diff --git a/include/libcamera/internal/shaders/YUV_2_planes.frag b/include/libcamera/internal/shaders/YUV_2_planes.frag
index 1d5d12062..d286f1179 100644
--- a/include/libcamera/internal/shaders/YUV_2_planes.frag
+++ b/include/libcamera/internal/shaders/YUV_2_planes.frag
@@ -6,7 +6,7 @@ 
  */
 
 #ifdef GL_ES
-precision mediump float;
+precision highp float;
 #endif
 
 varying vec2 textureOut;
diff --git a/include/libcamera/internal/shaders/YUV_3_planes.frag b/include/libcamera/internal/shaders/YUV_3_planes.frag
index 8f788e90a..8e3e0b4a5 100644
--- a/include/libcamera/internal/shaders/YUV_3_planes.frag
+++ b/include/libcamera/internal/shaders/YUV_3_planes.frag
@@ -6,7 +6,7 @@ 
  */
 
 #ifdef GL_ES
-precision mediump float;
+precision highp float;
 #endif
 
 varying vec2 textureOut;
diff --git a/include/libcamera/internal/shaders/YUV_packed.frag b/include/libcamera/internal/shaders/YUV_packed.frag
index b9ef9d41b..3c9e3e397 100644
--- a/include/libcamera/internal/shaders/YUV_packed.frag
+++ b/include/libcamera/internal/shaders/YUV_packed.frag
@@ -6,7 +6,7 @@ 
  */
 
 #ifdef GL_ES
-precision mediump float;
+precision highp float;
 #endif
 
 varying vec2 textureOut;
diff --git a/include/libcamera/internal/shaders/bayer_1x_packed.frag b/include/libcamera/internal/shaders/bayer_1x_packed.frag
index f53f55758..19b13ad08 100644
--- a/include/libcamera/internal/shaders/bayer_1x_packed.frag
+++ b/include/libcamera/internal/shaders/bayer_1x_packed.frag
@@ -20,7 +20,7 @@ 
  */
 
 #ifdef GL_ES
-precision mediump float;
+precision highp float;
 #endif
 
 /*
diff --git a/include/libcamera/internal/shaders/bayer_unpacked.frag b/include/libcamera/internal/shaders/bayer_unpacked.frag
index 7e35ca88e..aa7a1b004 100644
--- a/include/libcamera/internal/shaders/bayer_unpacked.frag
+++ b/include/libcamera/internal/shaders/bayer_unpacked.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.*/