[v9,26/26] libcamera: software_isp: Add a gpuisp todo list
diff mbox series

Message ID 20251217100138.82525-27-bryan.odonoghue@linaro.org
State New
Headers show
Series
  • Add GLES 2.0 GPUISP to libcamera
Related show

Commit Message

Bryan O'Donoghue Dec. 17, 2025, 10:01 a.m. UTC
List the series of things to do in GPU ISP in perceived order of
difficulty.

Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 src/libcamera/software_isp/gpuisp-todo.txt | 40 ++++++++++++++++++++++
 1 file changed, 40 insertions(+)
 create mode 100644 src/libcamera/software_isp/gpuisp-todo.txt

Comments

Milan Zamazal Dec. 17, 2025, 1:50 p.m. UTC | #1
Bryan O'Donoghue <bryan.odonoghue@linaro.org> writes:

> List the series of things to do in GPU ISP in perceived order of
> difficulty.
>
> Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

Reviewed-by: Milan Zamazal <mzamazal@redhat.com>

> ---
>  src/libcamera/software_isp/gpuisp-todo.txt | 40 ++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
>  create mode 100644 src/libcamera/software_isp/gpuisp-todo.txt
>
> diff --git a/src/libcamera/software_isp/gpuisp-todo.txt b/src/libcamera/software_isp/gpuisp-todo.txt
> new file mode 100644
> index 000000000..8930da120
> --- /dev/null
> +++ b/src/libcamera/software_isp/gpuisp-todo.txt
> @@ -0,0 +1,40 @@
> +List the TODOs in perceived order of ease.
> +
> +
> +Denoising:
> +	- WIP
> +
> +Dead pixel correction:
> +	- WIP
> +
> +Lense shading correction:
> +	- WIP
> +
> +Use dma-buf handle to generate upload texture:
> +	- eglCreateImageKHR can be used to generate the upload texture i.e.
> +	  to feed the bayer data into the GPU.
> +
> +processFrame() to run in its own thread:
> +	- processFrame() runs in the context of the Debayer::process()
> +	  thread. Robert Mader suggested and it seems like a good
> +	  suggestion too to run processFrame() in its own thread.
> +
> +Multi-pass shaders:
> +	- This needs some rewiring the idea is to have a list
> +	  of algorithms as is done in cpuisp iterating through the
> +	  list in a for() loop.
> +	- The logic managing the loop has an initial input buffer
> +	  and the final output buffer.
> +	- The higher level logic must then inform each of the
> +	  algorithms either to generate an internal working buffer
> +	  or pass the final output buffer to the last shader
> +	  in the list
> +	- This will allow for multi-pass shaders with the final
> +	  algorithm presenting data not to its internal buffer
> +	  but to the final output buffer
> +
> +24 bit output support:
> +	- Need to implement compute shader to do this.
> +
> +Lense flare correction:
> +	- Not WIP still TBD

Patch
diff mbox series

diff --git a/src/libcamera/software_isp/gpuisp-todo.txt b/src/libcamera/software_isp/gpuisp-todo.txt
new file mode 100644
index 000000000..8930da120
--- /dev/null
+++ b/src/libcamera/software_isp/gpuisp-todo.txt
@@ -0,0 +1,40 @@ 
+List the TODOs in perceived order of ease.
+
+
+Denoising:
+	- WIP
+
+Dead pixel correction:
+	- WIP
+
+Lense shading correction:
+	- WIP
+
+Use dma-buf handle to generate upload texture:
+	- eglCreateImageKHR can be used to generate the upload texture i.e.
+	  to feed the bayer data into the GPU.
+
+processFrame() to run in its own thread:
+	- processFrame() runs in the context of the Debayer::process()
+	  thread. Robert Mader suggested and it seems like a good
+	  suggestion too to run processFrame() in its own thread.
+
+Multi-pass shaders:
+	- This needs some rewiring the idea is to have a list
+	  of algorithms as is done in cpuisp iterating through the
+	  list in a for() loop.
+	- The logic managing the loop has an initial input buffer
+	  and the final output buffer.
+	- The higher level logic must then inform each of the
+	  algorithms either to generate an internal working buffer
+	  or pass the final output buffer to the last shader
+	  in the list
+	- This will allow for multi-pass shaders with the final
+	  algorithm presenting data not to its internal buffer
+	  but to the final output buffer
+
+24 bit output support:
+	- Need to implement compute shader to do this.
+
+Lense flare correction:
+	- Not WIP still TBD