| Message ID | 20260618122245.946138-19-bryan.odonoghue@linaro.org |
|---|---|
| State | RFC |
| Headers | show |
| Series |
|
| Related | show |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> writes: > We will use ping/pong buffers as intermediary steps in the GPUISP pipeline. > The last texture should logically be texture unit #3. I don't mind either way. Reviewed-by: Milan Zamazal <mzamazal@redhat.com> > > TEXTURE0 = Input > TEXTURE1 = Ping > TEXTURE2 = Pong > TEXTURE3 = Output > > We don't have ping/pong yet but in preparation make the small change to > TEXTURE3 for the existing output framebuffer. > > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> > --- > src/libcamera/software_isp/software_isp_pipeline_gpu.cpp | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/libcamera/software_isp/software_isp_pipeline_gpu.cpp b/src/libcamera/software_isp/software_isp_pipeline_gpu.cpp > index 8bafd70f8..458b65854 100644 > --- a/src/libcamera/software_isp/software_isp_pipeline_gpu.cpp > +++ b/src/libcamera/software_isp/software_isp_pipeline_gpu.cpp > @@ -336,7 +336,7 @@ int SoftwareIspPipelineGpu::start() > eglImageBayerIn_ = std::make_unique<eGLImage>(gpuIspShaderPassDemosiac_.glFormat_, inputConfig_.stride / gpuIspShaderPassDemosiac_.getBytesPerPixel(), height_, inputConfig_.stride, GL_TEXTURE0, 0); > > /* Texture we will render to */ > - eglImageRGBAOut_ = std::make_unique<eGLImage>(GL_RGBA, outputSize_.width, outputSize_.height, outputConfig_.stride, GL_TEXTURE1, 1); > + eglImageRGBAOut_ = std::make_unique<eGLImage>(GL_RGBA, outputSize_.width, outputSize_.height, outputConfig_.stride, GL_TEXTURE3, 3); > > return 0; > }
diff --git a/src/libcamera/software_isp/software_isp_pipeline_gpu.cpp b/src/libcamera/software_isp/software_isp_pipeline_gpu.cpp index 8bafd70f8..458b65854 100644 --- a/src/libcamera/software_isp/software_isp_pipeline_gpu.cpp +++ b/src/libcamera/software_isp/software_isp_pipeline_gpu.cpp @@ -336,7 +336,7 @@ int SoftwareIspPipelineGpu::start() eglImageBayerIn_ = std::make_unique<eGLImage>(gpuIspShaderPassDemosiac_.glFormat_, inputConfig_.stride / gpuIspShaderPassDemosiac_.getBytesPerPixel(), height_, inputConfig_.stride, GL_TEXTURE0, 0); /* Texture we will render to */ - eglImageRGBAOut_ = std::make_unique<eGLImage>(GL_RGBA, outputSize_.width, outputSize_.height, outputConfig_.stride, GL_TEXTURE1, 1); + eglImageRGBAOut_ = std::make_unique<eGLImage>(GL_RGBA, outputSize_.width, outputSize_.height, outputConfig_.stride, GL_TEXTURE3, 3); return 0; }
We will use ping/pong buffers as intermediary steps in the GPUISP pipeline. The last texture should logically be texture unit #3. TEXTURE0 = Input TEXTURE1 = Ping TEXTURE2 = Pong TEXTURE3 = Output We don't have ping/pong yet but in preparation make the small change to TEXTURE3 for the existing output framebuffer. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> --- src/libcamera/software_isp/software_isp_pipeline_gpu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)