Message ID | 20250611013245.133785-32-bryan.odonoghue@linaro.org |
---|---|
State | New |
Headers | show |
Series |
|
Related | show |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> writes: > We can easily facilitate swapping R and B on output. Pivot on an > environment define for this purpose. > > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Milan Zamazal <mzamazal@redhat.com> (But see my related comment in "libcamera: software_isp: debayer_egl: Add an eGL debayer class".) > --- > include/libcamera/internal/shaders/bayer_1x_packed.frag | 4 ++++ > include/libcamera/internal/shaders/bayer_8.frag | 6 +++++- > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/include/libcamera/internal/shaders/bayer_1x_packed.frag b/include/libcamera/internal/shaders/bayer_1x_packed.frag > index 90bd6457..c0632eb1 100644 > --- a/include/libcamera/internal/shaders/bayer_1x_packed.frag > +++ b/include/libcamera/internal/shaders/bayer_1x_packed.frag > @@ -268,5 +268,9 @@ void main(void) > rgb.b = texture2D(blue_param, vec2(rgb.b, 0.5)).b; > #endif > > +#if defined (SWAP_BLUE) > + gl_FragColor = vec4(rgb.bgr, 1.0); > +#else > gl_FragColor = vec4(rgb, 1.0); > +#endif > } > diff --git a/include/libcamera/internal/shaders/bayer_8.frag b/include/libcamera/internal/shaders/bayer_8.frag > index 5955c2ea..74ce1509 100644 > --- a/include/libcamera/internal/shaders/bayer_8.frag > +++ b/include/libcamera/internal/shaders/bayer_8.frag > @@ -163,5 +163,9 @@ void main(void) { > rgb.b = texture2D(red_param, vec2(rgb.b, 0.5)).b; > #endif > > - gl_FragColor.rgb = rgb; > +#if defined (SWAP_BLUE) > + gl_FragColor = vec4(rgb.bgr, 1.0); > +#else > + gl_FragColor = vec4(rgb, 1.0); > +#endif > }
diff --git a/include/libcamera/internal/shaders/bayer_1x_packed.frag b/include/libcamera/internal/shaders/bayer_1x_packed.frag index 90bd6457..c0632eb1 100644 --- a/include/libcamera/internal/shaders/bayer_1x_packed.frag +++ b/include/libcamera/internal/shaders/bayer_1x_packed.frag @@ -268,5 +268,9 @@ void main(void) rgb.b = texture2D(blue_param, vec2(rgb.b, 0.5)).b; #endif +#if defined (SWAP_BLUE) + gl_FragColor = vec4(rgb.bgr, 1.0); +#else gl_FragColor = vec4(rgb, 1.0); +#endif } diff --git a/include/libcamera/internal/shaders/bayer_8.frag b/include/libcamera/internal/shaders/bayer_8.frag index 5955c2ea..74ce1509 100644 --- a/include/libcamera/internal/shaders/bayer_8.frag +++ b/include/libcamera/internal/shaders/bayer_8.frag @@ -163,5 +163,9 @@ void main(void) { rgb.b = texture2D(red_param, vec2(rgb.b, 0.5)).b; #endif - gl_FragColor.rgb = rgb; +#if defined (SWAP_BLUE) + gl_FragColor = vec4(rgb.bgr, 1.0); +#else + gl_FragColor = vec4(rgb, 1.0); +#endif }
We can easily facilitate swapping R and B on output. Pivot on an environment define for this purpose. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> --- include/libcamera/internal/shaders/bayer_1x_packed.frag | 4 ++++ include/libcamera/internal/shaders/bayer_8.frag | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-)