[libcamera-devel] [PATCH 4/7] qcam: viewfinder_gl: Rename shader files

Niklas Söderlund niklas.soderlund at ragnatech.se
Wed Sep 16 17:16:28 CEST 2020


Hi Laurent,

Thanks for your work.

On 2020-09-16 17:52:51 +0300, Laurent Pinchart wrote:
> Rename shader files to prepare for packed YUYV support:
> 
> - The NV prefix isn't a good match for packed (or for 3-planar) formats,
>   replace it with a YUV prefix
> - Use .frag and .vert extensions to differentiate between fragment and
>   vertex shaders
> 
> While at it, remove the uneeded './' file name prefix in shaders.qrc.

This have been moved to a different patch in the series, I like it! ;-)

With this dropped from commit message,

Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>

> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  .../shader/{NV_vertex_shader.glsl => YUV.vert} |  2 +-
>  ...2_planes_UV_f.glsl => YUV_2_planes_UV.frag} |  2 +-
>  ...2_planes_VU_f.glsl => YUV_2_planes_VU.frag} |  2 +-
>  .../{NV_3_planes_f.glsl => YUV_3_planes.frag}  |  2 +-
>  src/qcam/assets/shader/shaders.qrc             |  8 ++++----
>  src/qcam/viewfinder_gl.cpp                     | 18 +++++++++---------
>  6 files changed, 17 insertions(+), 17 deletions(-)
>  rename src/qcam/assets/shader/{NV_vertex_shader.glsl => YUV.vert} (79%)
>  rename src/qcam/assets/shader/{NV_2_planes_UV_f.glsl => YUV_2_planes_UV.frag} (88%)
>  rename src/qcam/assets/shader/{NV_2_planes_VU_f.glsl => YUV_2_planes_VU.frag} (88%)
>  rename src/qcam/assets/shader/{NV_3_planes_f.glsl => YUV_3_planes.frag} (90%)
> 
> diff --git a/src/qcam/assets/shader/NV_vertex_shader.glsl b/src/qcam/assets/shader/YUV.vert
> similarity index 79%
> rename from src/qcam/assets/shader/NV_vertex_shader.glsl
> rename to src/qcam/assets/shader/YUV.vert
> index 12e791e31e32..f38e8045db89 100644
> --- a/src/qcam/assets/shader/NV_vertex_shader.glsl
> +++ b/src/qcam/assets/shader/YUV.vert
> @@ -2,7 +2,7 @@
>  /*
>   * Copyright (C) 2020, Linaro
>   *
> - * NV_vertex_shader.glsl - Vertex shader code for NV family
> + * YUV.vert - Vertex shader for YUV to RGB conversion
>   */
>  
>  attribute vec4 vertexIn;
> diff --git a/src/qcam/assets/shader/NV_2_planes_UV_f.glsl b/src/qcam/assets/shader/YUV_2_planes_UV.frag
> similarity index 88%
> rename from src/qcam/assets/shader/NV_2_planes_UV_f.glsl
> rename to src/qcam/assets/shader/YUV_2_planes_UV.frag
> index 67633a11ee0f..081caea9214b 100644
> --- a/src/qcam/assets/shader/NV_2_planes_UV_f.glsl
> +++ b/src/qcam/assets/shader/YUV_2_planes_UV.frag
> @@ -2,7 +2,7 @@
>  /*
>   * Copyright (C) 2020, Linaro
>   *
> - * NV_2_planes_UV_f.glsl - Fragment shader code for NV12, NV16 and NV24 formats
> + * YUV_2_planes_UV.frag - Fragment shader code for NV12, NV16 and NV24 formats
>   */
>  
>  #ifdef GL_ES
> diff --git a/src/qcam/assets/shader/NV_2_planes_VU_f.glsl b/src/qcam/assets/shader/YUV_2_planes_VU.frag
> similarity index 88%
> rename from src/qcam/assets/shader/NV_2_planes_VU_f.glsl
> rename to src/qcam/assets/shader/YUV_2_planes_VU.frag
> index 086c5b6d11bd..f4a5a5ac46c0 100644
> --- a/src/qcam/assets/shader/NV_2_planes_VU_f.glsl
> +++ b/src/qcam/assets/shader/YUV_2_planes_VU.frag
> @@ -2,7 +2,7 @@
>  /*
>   * Copyright (C) 2020, Linaro
>   *
> - * NV_2_planes_VU_f.glsl - Fragment shader code for NV21, NV61 and NV42 formats
> + * YUV_2_planes_VU.frag - Fragment shader code for NV21, NV61 and NV42 formats
>   */
>  
>  #ifdef GL_ES
> diff --git a/src/qcam/assets/shader/NV_3_planes_f.glsl b/src/qcam/assets/shader/YUV_3_planes.frag
> similarity index 90%
> rename from src/qcam/assets/shader/NV_3_planes_f.glsl
> rename to src/qcam/assets/shader/YUV_3_planes.frag
> index 4bc941842710..2be74b5d2a9d 100644
> --- a/src/qcam/assets/shader/NV_3_planes_f.glsl
> +++ b/src/qcam/assets/shader/YUV_3_planes.frag
> @@ -2,7 +2,7 @@
>  /*
>   * Copyright (C) 2020, Linaro
>   *
> - * NV_3_planes_UV_f.glsl - Fragment shader code for YUV420 format
> + * YUV_3_planes_UV.frag - Fragment shader code for YUV420 format
>   */
>  
>  #ifdef GL_ES
> diff --git a/src/qcam/assets/shader/shaders.qrc b/src/qcam/assets/shader/shaders.qrc
> index 9ae35c9f70d6..533396d1fb28 100644
> --- a/src/qcam/assets/shader/shaders.qrc
> +++ b/src/qcam/assets/shader/shaders.qrc
> @@ -1,9 +1,9 @@
>  <!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
>  <!DOCTYPE RCC><RCC version="1.0">
>  <qresource>
> -	<file>NV_vertex_shader.glsl</file>
> -	<file>NV_2_planes_UV_f.glsl</file>
> -	<file>NV_2_planes_VU_f.glsl</file>
> -	<file>NV_3_planes_f.glsl</file>
> +	<file>YUV.vert</file>
> +	<file>YUV_2_planes_UV.frag</file>
> +	<file>YUV_2_planes_VU.frag</file>
> +	<file>YUV_3_planes.frag</file>
>  </qresource>
>  </RCC>
> diff --git a/src/qcam/viewfinder_gl.cpp b/src/qcam/viewfinder_gl.cpp
> index 76e4a900a25a..0fa06a290959 100644
> --- a/src/qcam/viewfinder_gl.cpp
> +++ b/src/qcam/viewfinder_gl.cpp
> @@ -101,42 +101,42 @@ bool ViewFinderGL::selectFormat(const libcamera::PixelFormat &format)
>  	case libcamera::formats::NV12:
>  		horzSubSample_ = 2;
>  		vertSubSample_ = 2;
> -		fragmentShaderSrc_ = ":NV_2_planes_UV_f.glsl";
> +		fragmentShaderSrc_ = ":YUV_2_planes_UV.frag";
>  		break;
>  	case libcamera::formats::NV21:
>  		horzSubSample_ = 2;
>  		vertSubSample_ = 2;
> -		fragmentShaderSrc_ = ":NV_2_planes_VU_f.glsl";
> +		fragmentShaderSrc_ = ":YUV_2_planes_VU.frag";
>  		break;
>  	case libcamera::formats::NV16:
>  		horzSubSample_ = 2;
>  		vertSubSample_ = 1;
> -		fragmentShaderSrc_ = ":NV_2_planes_UV_f.glsl";
> +		fragmentShaderSrc_ = ":YUV_2_planes_UV.frag";
>  		break;
>  	case libcamera::formats::NV61:
>  		horzSubSample_ = 2;
>  		vertSubSample_ = 1;
> -		fragmentShaderSrc_ = ":NV_2_planes_VU_f.glsl";
> +		fragmentShaderSrc_ = ":YUV_2_planes_VU.frag";
>  		break;
>  	case libcamera::formats::NV24:
>  		horzSubSample_ = 1;
>  		vertSubSample_ = 1;
> -		fragmentShaderSrc_ = ":NV_2_planes_UV_f.glsl";
> +		fragmentShaderSrc_ = ":YUV_2_planes_UV.frag";
>  		break;
>  	case libcamera::formats::NV42:
>  		horzSubSample_ = 1;
>  		vertSubSample_ = 1;
> -		fragmentShaderSrc_ = ":NV_2_planes_VU_f.glsl";
> +		fragmentShaderSrc_ = ":YUV_2_planes_VU.frag";
>  		break;
>  	case libcamera::formats::YUV420:
>  		horzSubSample_ = 2;
>  		vertSubSample_ = 2;
> -		fragmentShaderSrc_ = ":NV_3_planes_f.glsl";
> +		fragmentShaderSrc_ = ":YUV_3_planes.frag";
>  		break;
>  	case libcamera::formats::YVU420:
>  		horzSubSample_ = 2;
>  		vertSubSample_ = 2;
> -		fragmentShaderSrc_ = ":NV_3_planes_f.glsl";
> +		fragmentShaderSrc_ = ":YUV_3_planes.frag";
>  		break;
>  	default:
>  		ret = false;
> @@ -154,7 +154,7 @@ bool ViewFinderGL::createVertexShader()
>  	vertexShader_ = new QOpenGLShader(QOpenGLShader::Vertex, this);
>  
>  	/* Compile the vertex shader */
> -	if (!vertexShader_->compileSourceFile(":NV_vertex_shader.glsl")) {
> +	if (!vertexShader_->compileSourceFile(":YUV.vert")) {
>  		qWarning() << "[ViewFinderGL]:" << vertexShader_->log();
>  		return false;
>  	}
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list