ipa: simple: Add a flag to indicate gpuIspEnabled

Flag gpuIspEnabled in the simple IPA context. This flag will allow to
selectively avoid some calculations or to generate a default CCM.

Reviewed-by: Milan Zamazal <mzamazal@redhat.com>
Tested-by: Robert Mader <robert.mader@collabora.com>
Tested-by: Hans de Goede <johannes.goede@oss.qualcomm.com> # ThinkPad T14s gen 6 (arm64) ov02c10 + X1c gen 12 ov08x40
Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com> # Lenovo X13s
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Bryan O'Donoghue
2026-01-06 17:00:54 +00:00
committed by Kieran Bingham
parent a92cc12fb5
commit fe9e143702
4 changed files with 15 additions and 3 deletions

View File

@@ -121,14 +121,20 @@ SoftwareIsp::SoftwareIsp(PipelineHandler *pipe, const CameraSensor *sensor,
}
stats->statsReady.connect(this, &SoftwareIsp::statsReady);
bool gpuIspEnabled;
#if HAVE_DEBAYER_EGL
std::optional<std::string> softISPMode = configuration.envOption("LIBCAMERA_SOFTISP_MODE", { "software_isp", "mode" });
if (softISPMode && softISPMode == "gpu")
if (softISPMode && softISPMode == "gpu") {
debayer_ = std::make_unique<DebayerEGL>(std::move(stats), configuration);
gpuIspEnabled = true;
}
#endif
if (!debayer_)
if (!debayer_) {
debayer_ = std::make_unique<DebayerCpu>(std::move(stats), configuration);
gpuIspEnabled = false;
}
debayer_->inputBufferReady.connect(this, &SoftwareIsp::inputReady);
debayer_->outputBufferReady.connect(this, &SoftwareIsp::outputReady);
@@ -160,6 +166,7 @@ SoftwareIsp::SoftwareIsp(PipelineHandler *pipe, const CameraSensor *sensor,
sharedParams_.fd(),
sensorInfo,
sensor->controls(),
gpuIspEnabled,
ipaControls,
&ccmEnabled_);
if (ret) {