[34/35] libcamera: shaders: Rename bayer_8 to bayer_unpacked
diff mbox series

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

Commit Message

Bryan O'Donoghue June 11, 2025, 1:32 a.m. UTC
From: Milan Zamazal <mzamazal@redhat.com>

bayer_8.* shaders are now used for all unpacked sensor data formats,
regardless of the pixel bit width.  Let's rename the "8-bit" shaders to
avoid confusion.

Signed-off-by: Milan Zamazal <mzamazal@redhat.com>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 .../{bayer_8.frag => bayer_unpacked.frag}     |  0
 .../{bayer_8.vert => bayer_unpacked.vert}     |  0
 .../libcamera/internal/shaders/meson.build    |  4 ++--
 src/apps/qcam/assets/shader/shaders.qrc       |  4 ++--
 src/apps/qcam/viewfinder_gl.cpp               | 16 ++++++-------
 src/libcamera/software_isp/debayer_egl.cpp    | 24 +++++++++----------
 6 files changed, 24 insertions(+), 24 deletions(-)
 rename include/libcamera/internal/shaders/{bayer_8.frag => bayer_unpacked.frag} (100%)
 rename include/libcamera/internal/shaders/{bayer_8.vert => bayer_unpacked.vert} (100%)

Comments

Bryan O'Donoghue June 11, 2025, 12:55 p.m. UTC | #1
On 11/06/2025 02:32, Bryan O'Donoghue wrote:
> From: Milan Zamazal <mzamazal@redhat.com>
> 
> bayer_8.* shaders are now used for all unpacked sensor data formats,
> regardless of the pixel bit width.  Let's rename the "8-bit" shaders to
> avoid confusion.
> 
> Signed-off-by: Milan Zamazal <mzamazal@redhat.com>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>   .../{bayer_8.frag => bayer_unpacked.frag}     |  0
>   .../{bayer_8.vert => bayer_unpacked.vert}     |  0
>   .../libcamera/internal/shaders/meson.build    |  4 ++--
>   src/apps/qcam/assets/shader/shaders.qrc       |  4 ++--
>   src/apps/qcam/viewfinder_gl.cpp               | 16 ++++++-------
>   src/libcamera/software_isp/debayer_egl.cpp    | 24 +++++++++----------
>   6 files changed, 24 insertions(+), 24 deletions(-)
>   rename include/libcamera/internal/shaders/{bayer_8.frag => bayer_unpacked.frag} (100%)
>   rename include/libcamera/internal/shaders/{bayer_8.vert => bayer_unpacked.vert} (100%)
> 
> diff --git a/include/libcamera/internal/shaders/bayer_8.frag b/include/libcamera/internal/shaders/bayer_unpacked.frag
> similarity index 100%
> rename from include/libcamera/internal/shaders/bayer_8.frag
> rename to include/libcamera/internal/shaders/bayer_unpacked.frag
> diff --git a/include/libcamera/internal/shaders/bayer_8.vert b/include/libcamera/internal/shaders/bayer_unpacked.vert
> similarity index 100%
> rename from include/libcamera/internal/shaders/bayer_8.vert
> rename to include/libcamera/internal/shaders/bayer_unpacked.vert
> diff --git a/include/libcamera/internal/shaders/meson.build b/include/libcamera/internal/shaders/meson.build
> index 386b342d..dd441a57 100644
> --- a/include/libcamera/internal/shaders/meson.build
> +++ b/include/libcamera/internal/shaders/meson.build
> @@ -4,7 +4,7 @@
>   # for the purposes of inclusion in OpenGL debayering
>   shader_files = files([
>       'bayer_1x_packed.frag',
> -    'bayer_8.frag',
> -    'bayer_8.vert',
> +    'bayer_unpacked.frag',
> +    'bayer_unpacked.vert',
>       'identity.vert',
>   ])
> diff --git a/src/apps/qcam/assets/shader/shaders.qrc b/src/apps/qcam/assets/shader/shaders.qrc
> index 04f9d706..32dfa51b 100644
> --- a/src/apps/qcam/assets/shader/shaders.qrc
> +++ b/src/apps/qcam/assets/shader/shaders.qrc
> @@ -6,8 +6,8 @@
>   	<file>../../../../../include/libcamera/internal/shaders/YUV_3_planes.frag</file>
>   	<file>../../../../../include/libcamera/internal/shaders/YUV_packed.frag</file>
>   	<file>../../../../../include/libcamera/internal/shaders/bayer_1x_packed.frag</file>
> -	<file>../../../../../include/libcamera/internal/shaders/bayer_8.frag</file>
> -	<file>../../../../../include/libcamera/internal/shaders/bayer_8.vert</file>
> +	<file>../../../../../include/libcamera/internal/shaders/bayer_unpacked.frag</file>
> +	<file>../../../../../include/libcamera/internal/shaders/bayer_unpacked.vert</file>
>   	<file>../../../../../include/libcamera/internal/shaders/identity.vert</file>
>   </qresource>
>   </RCC>
> diff --git a/src/apps/qcam/viewfinder_gl.cpp b/src/apps/qcam/viewfinder_gl.cpp
> index 70f60065..95965ab7 100644
> --- a/src/apps/qcam/viewfinder_gl.cpp
> +++ b/src/apps/qcam/viewfinder_gl.cpp
> @@ -235,29 +235,29 @@ bool ViewFinderGL::selectFormat(const libcamera::PixelFormat &format)
>   	case libcamera::formats::SBGGR8:
>   		firstRed_.setX(1.0);
>   		firstRed_.setY(1.0);
> -		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.vert";
> -		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.frag";
> +		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.vert";
> +		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.frag";
>   		textureMinMagFilters_ = GL_NEAREST;
>   		break;
>   	case libcamera::formats::SGBRG8:
>   		firstRed_.setX(0.0);
>   		firstRed_.setY(1.0);
> -		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.vert";
> -		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.frag";
> +		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.vert";
> +		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.frag";
>   		textureMinMagFilters_ = GL_NEAREST;
>   		break;
>   	case libcamera::formats::SGRBG8:
>   		firstRed_.setX(1.0);
>   		firstRed_.setY(0.0);
> -		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.vert";
> -		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.frag";
> +		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.vert";
> +		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.frag";
>   		textureMinMagFilters_ = GL_NEAREST;
>   		break;
>   	case libcamera::formats::SRGGB8:
>   		firstRed_.setX(0.0);
>   		firstRed_.setY(0.0);
> -		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.vert";
> -		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.frag";
> +		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.vert";
> +		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.frag";
>   		textureMinMagFilters_ = GL_NEAREST;
>   		break;
>   	case libcamera::formats::SBGGR10_CSI2P:
> diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp
> index 71742d84..9ec96660 100644
> --- a/src/libcamera/software_isp/debayer_egl.cpp
> +++ b/src/libcamera/software_isp/debayer_egl.cpp
> @@ -189,10 +189,10 @@ int DebayerEGL::initBayerShaders(PixelFormat inputFormat, PixelFormat outputForm
>   	case libcamera::formats::SGBRG8:
>   	case libcamera::formats::SGRBG8:
>   	case libcamera::formats::SRGGB8:
> -		fragmentShaderData = bayer_8_frag;
> -		fragmentShaderDataLen = bayer_8_frag_len;
> -		vertexShaderData = bayer_8_vert;
> -		vertexShaderDataLen = bayer_8_vert_len;
> +		fragmentShaderData = bayer_unpacked_frag;
> +		fragmentShaderDataLen = bayer_unpacked_frag_len;
> +		vertexShaderData = bayer_unpacked_vert;
> +		vertexShaderDataLen = bayer_unpacked_vert_len;
>   		break;
>   	case libcamera::formats::SBGGR10_CSI2P:
>   	case libcamera::formats::SGBRG10_CSI2P:
> @@ -200,10 +200,10 @@ int DebayerEGL::initBayerShaders(PixelFormat inputFormat, PixelFormat outputForm
>   	case libcamera::formats::SRGGB10_CSI2P:
>   		egl_.pushEnv(shaderEnv, "#define RAW10P");
>   		if (BayerFormat::fromPixelFormat(inputFormat).packing == BayerFormat::Packing::None) {
> -			fragmentShaderData = bayer_8_frag;
> -			fragmentShaderDataLen = bayer_8_frag_len;
> -			vertexShaderData = bayer_8_vert;
> -			vertexShaderDataLen = bayer_8_vert_len;
> +			fragmentShaderData = bayer_unpacked_frag;
> +			fragmentShaderDataLen = bayer_unpacked_frag_len;
> +			vertexShaderData = bayer_unpacked_vert;
> +			vertexShaderDataLen = bayer_unpacked_vert_len;
>   			glFormat_ = GL_RG;
>   			bytesPerPixel_ = 2;
>   		} else {
> @@ -219,10 +219,10 @@ int DebayerEGL::initBayerShaders(PixelFormat inputFormat, PixelFormat outputForm
>   	case libcamera::formats::SRGGB12_CSI2P:
>   		egl_.pushEnv(shaderEnv, "#define RAW12P");
>   		if (BayerFormat::fromPixelFormat(inputFormat).packing == BayerFormat::Packing::None) {
> -			fragmentShaderData = bayer_8_frag;
> -			fragmentShaderDataLen = bayer_8_frag_len;
> -			vertexShaderData = bayer_8_vert;
> -			vertexShaderDataLen = bayer_8_vert_len;
> +			fragmentShaderData = bayer_unpacked_frag;
> +			fragmentShaderDataLen = bayer_unpacked_frag_len;
> +			vertexShaderData = bayer_unpacked_vert;
> +			vertexShaderDataLen = bayer_unpacked_vert_len;
>   			glFormat_ = GL_RG;
>   			bytesPerPixel_ = 2;
>   		} else {
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

Patch
diff mbox series

diff --git a/include/libcamera/internal/shaders/bayer_8.frag b/include/libcamera/internal/shaders/bayer_unpacked.frag
similarity index 100%
rename from include/libcamera/internal/shaders/bayer_8.frag
rename to include/libcamera/internal/shaders/bayer_unpacked.frag
diff --git a/include/libcamera/internal/shaders/bayer_8.vert b/include/libcamera/internal/shaders/bayer_unpacked.vert
similarity index 100%
rename from include/libcamera/internal/shaders/bayer_8.vert
rename to include/libcamera/internal/shaders/bayer_unpacked.vert
diff --git a/include/libcamera/internal/shaders/meson.build b/include/libcamera/internal/shaders/meson.build
index 386b342d..dd441a57 100644
--- a/include/libcamera/internal/shaders/meson.build
+++ b/include/libcamera/internal/shaders/meson.build
@@ -4,7 +4,7 @@ 
 # for the purposes of inclusion in OpenGL debayering
 shader_files = files([
     'bayer_1x_packed.frag',
-    'bayer_8.frag',
-    'bayer_8.vert',
+    'bayer_unpacked.frag',
+    'bayer_unpacked.vert',
     'identity.vert',
 ])
diff --git a/src/apps/qcam/assets/shader/shaders.qrc b/src/apps/qcam/assets/shader/shaders.qrc
index 04f9d706..32dfa51b 100644
--- a/src/apps/qcam/assets/shader/shaders.qrc
+++ b/src/apps/qcam/assets/shader/shaders.qrc
@@ -6,8 +6,8 @@ 
 	<file>../../../../../include/libcamera/internal/shaders/YUV_3_planes.frag</file>
 	<file>../../../../../include/libcamera/internal/shaders/YUV_packed.frag</file>
 	<file>../../../../../include/libcamera/internal/shaders/bayer_1x_packed.frag</file>
-	<file>../../../../../include/libcamera/internal/shaders/bayer_8.frag</file>
-	<file>../../../../../include/libcamera/internal/shaders/bayer_8.vert</file>
+	<file>../../../../../include/libcamera/internal/shaders/bayer_unpacked.frag</file>
+	<file>../../../../../include/libcamera/internal/shaders/bayer_unpacked.vert</file>
 	<file>../../../../../include/libcamera/internal/shaders/identity.vert</file>
 </qresource>
 </RCC>
diff --git a/src/apps/qcam/viewfinder_gl.cpp b/src/apps/qcam/viewfinder_gl.cpp
index 70f60065..95965ab7 100644
--- a/src/apps/qcam/viewfinder_gl.cpp
+++ b/src/apps/qcam/viewfinder_gl.cpp
@@ -235,29 +235,29 @@  bool ViewFinderGL::selectFormat(const libcamera::PixelFormat &format)
 	case libcamera::formats::SBGGR8:
 		firstRed_.setX(1.0);
 		firstRed_.setY(1.0);
-		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.vert";
-		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.frag";
+		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.vert";
+		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.frag";
 		textureMinMagFilters_ = GL_NEAREST;
 		break;
 	case libcamera::formats::SGBRG8:
 		firstRed_.setX(0.0);
 		firstRed_.setY(1.0);
-		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.vert";
-		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.frag";
+		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.vert";
+		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.frag";
 		textureMinMagFilters_ = GL_NEAREST;
 		break;
 	case libcamera::formats::SGRBG8:
 		firstRed_.setX(1.0);
 		firstRed_.setY(0.0);
-		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.vert";
-		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.frag";
+		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.vert";
+		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.frag";
 		textureMinMagFilters_ = GL_NEAREST;
 		break;
 	case libcamera::formats::SRGGB8:
 		firstRed_.setX(0.0);
 		firstRed_.setY(0.0);
-		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.vert";
-		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_8.frag";
+		vertexShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.vert";
+		fragmentShaderFile_ = ":include/libcamera/internal/shaders/bayer_unpacked.frag";
 		textureMinMagFilters_ = GL_NEAREST;
 		break;
 	case libcamera::formats::SBGGR10_CSI2P:
diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp
index 71742d84..9ec96660 100644
--- a/src/libcamera/software_isp/debayer_egl.cpp
+++ b/src/libcamera/software_isp/debayer_egl.cpp
@@ -189,10 +189,10 @@  int DebayerEGL::initBayerShaders(PixelFormat inputFormat, PixelFormat outputForm
 	case libcamera::formats::SGBRG8:
 	case libcamera::formats::SGRBG8:
 	case libcamera::formats::SRGGB8:
-		fragmentShaderData = bayer_8_frag;
-		fragmentShaderDataLen = bayer_8_frag_len;
-		vertexShaderData = bayer_8_vert;
-		vertexShaderDataLen = bayer_8_vert_len;
+		fragmentShaderData = bayer_unpacked_frag;
+		fragmentShaderDataLen = bayer_unpacked_frag_len;
+		vertexShaderData = bayer_unpacked_vert;
+		vertexShaderDataLen = bayer_unpacked_vert_len;
 		break;
 	case libcamera::formats::SBGGR10_CSI2P:
 	case libcamera::formats::SGBRG10_CSI2P:
@@ -200,10 +200,10 @@  int DebayerEGL::initBayerShaders(PixelFormat inputFormat, PixelFormat outputForm
 	case libcamera::formats::SRGGB10_CSI2P:
 		egl_.pushEnv(shaderEnv, "#define RAW10P");
 		if (BayerFormat::fromPixelFormat(inputFormat).packing == BayerFormat::Packing::None) {
-			fragmentShaderData = bayer_8_frag;
-			fragmentShaderDataLen = bayer_8_frag_len;
-			vertexShaderData = bayer_8_vert;
-			vertexShaderDataLen = bayer_8_vert_len;
+			fragmentShaderData = bayer_unpacked_frag;
+			fragmentShaderDataLen = bayer_unpacked_frag_len;
+			vertexShaderData = bayer_unpacked_vert;
+			vertexShaderDataLen = bayer_unpacked_vert_len;
 			glFormat_ = GL_RG;
 			bytesPerPixel_ = 2;
 		} else {
@@ -219,10 +219,10 @@  int DebayerEGL::initBayerShaders(PixelFormat inputFormat, PixelFormat outputForm
 	case libcamera::formats::SRGGB12_CSI2P:
 		egl_.pushEnv(shaderEnv, "#define RAW12P");
 		if (BayerFormat::fromPixelFormat(inputFormat).packing == BayerFormat::Packing::None) {
-			fragmentShaderData = bayer_8_frag;
-			fragmentShaderDataLen = bayer_8_frag_len;
-			vertexShaderData = bayer_8_vert;
-			vertexShaderDataLen = bayer_8_vert_len;
+			fragmentShaderData = bayer_unpacked_frag;
+			fragmentShaderDataLen = bayer_unpacked_frag_len;
+			vertexShaderData = bayer_unpacked_vert;
+			vertexShaderDataLen = bayer_unpacked_vert_len;
 			glFormat_ = GL_RG;
 			bytesPerPixel_ = 2;
 		} else {