qcam: viewfinder_gl: Hardcode the vertex shader file name

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@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
Laurent Pinchart
2020-09-16 16:24:54 +03:00
parent 52f2581709
commit 079afd17e7
2 changed files with 2 additions and 11 deletions

View File

@@ -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;
}

View File

@@ -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_;