[libcamera-devel] [PATCH 3/7] qcam: viewfinder_gl: Hardcode the vertex shader file name
Niklas Söderlund
niklas.soderlund at ragnatech.se
Wed Sep 16 17:04:26 CEST 2020
Hi Laurent,
Thanks for your work.
On 2020-09-16 17:52:50 +0300, Laurent Pinchart wrote:
> The GL renderer uses the same vertex shader for all formats. Hardcode
> the file name instead of storing it in a member variable.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> ---
> src/qcam/viewfinder_gl.cpp | 10 +---------
> src/qcam/viewfinder_gl.h | 3 +--
> 2 files changed, 2 insertions(+), 11 deletions(-)
>
> diff --git a/src/qcam/viewfinder_gl.cpp b/src/qcam/viewfinder_gl.cpp
> index 18ebe46fe2f9..76e4a900a25a 100644
> --- a/src/qcam/viewfinder_gl.cpp
> +++ b/src/qcam/viewfinder_gl.cpp
> @@ -101,49 +101,41 @@ bool ViewFinderGL::selectFormat(const libcamera::PixelFormat &format)
> case libcamera::formats::NV12:
> horzSubSample_ = 2;
> vertSubSample_ = 2;
> - vertexShaderSrc_ = ":NV_vertex_shader.glsl";
> fragmentShaderSrc_ = ":NV_2_planes_UV_f.glsl";
> break;
> case libcamera::formats::NV21:
> horzSubSample_ = 2;
> vertSubSample_ = 2;
> - vertexShaderSrc_ = ":NV_vertex_shader.glsl";
> fragmentShaderSrc_ = ":NV_2_planes_VU_f.glsl";
> break;
> case libcamera::formats::NV16:
> horzSubSample_ = 2;
> vertSubSample_ = 1;
> - vertexShaderSrc_ = ":NV_vertex_shader.glsl";
> fragmentShaderSrc_ = ":NV_2_planes_UV_f.glsl";
> break;
> case libcamera::formats::NV61:
> horzSubSample_ = 2;
> vertSubSample_ = 1;
> - vertexShaderSrc_ = ":NV_vertex_shader.glsl";
> fragmentShaderSrc_ = ":NV_2_planes_VU_f.glsl";
> break;
> case libcamera::formats::NV24:
> horzSubSample_ = 1;
> vertSubSample_ = 1;
> - vertexShaderSrc_ = ":NV_vertex_shader.glsl";
> fragmentShaderSrc_ = ":NV_2_planes_UV_f.glsl";
> break;
> case libcamera::formats::NV42:
> horzSubSample_ = 1;
> vertSubSample_ = 1;
> - vertexShaderSrc_ = ":NV_vertex_shader.glsl";
> fragmentShaderSrc_ = ":NV_2_planes_VU_f.glsl";
> break;
> case libcamera::formats::YUV420:
> horzSubSample_ = 2;
> vertSubSample_ = 2;
> - vertexShaderSrc_ = ":NV_vertex_shader.glsl";
> fragmentShaderSrc_ = ":NV_3_planes_f.glsl";
> break;
> case libcamera::formats::YVU420:
> horzSubSample_ = 2;
> vertSubSample_ = 2;
> - vertexShaderSrc_ = ":NV_vertex_shader.glsl";
> fragmentShaderSrc_ = ":NV_3_planes_f.glsl";
> break;
> default:
> @@ -162,7 +154,7 @@ bool ViewFinderGL::createVertexShader()
> vertexShader_ = new QOpenGLShader(QOpenGLShader::Vertex, this);
>
> /* Compile the vertex shader */
> - if (!vertexShader_->compileSourceFile(vertexShaderSrc_)) {
> + if (!vertexShader_->compileSourceFile(":NV_vertex_shader.glsl")) {
> qWarning() << "[ViewFinderGL]:" << vertexShader_->log();
> return false;
> }
> diff --git a/src/qcam/viewfinder_gl.h b/src/qcam/viewfinder_gl.h
> index 825af1c13cb7..7675d0a06351 100644
> --- a/src/qcam/viewfinder_gl.h
> +++ b/src/qcam/viewfinder_gl.h
> @@ -73,9 +73,8 @@ private:
> /* Vertex buffer */
> QOpenGLBuffer vertexBuffer_;
>
> - /* Fragment and Vertex shader file name */
> + /* Fragment shader file name */
> QString fragmentShaderSrc_;
> - QString vertexShaderSrc_;
>
> /* YUV texture planars and parameters */
> GLuint textureUniformU_;
> --
> 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