amd-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] Documentation/amdgpu/display: describe color and blend mode properties mapping
@ 2022-07-16 22:25 Melissa Wen
  2022-07-16 22:25 ` [PATCH 1/4] Documentation/amdgpu_dm: Add DM color correction documentation Melissa Wen
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Melissa Wen @ 2022-07-16 22:25 UTC (permalink / raw)
  To: alexander.deucher, christian.koenig, Xinhui.Pan, harry.wentland,
	sunpeng.li, Rodrigo.Siqueira
  Cc: kernel-dev, dri-devel, nicholas.kazlauskas, amd-gfx, sungjoon.kim

Patches 1 and 2 describe DM mapping of DRM color correction properties
to DC interface and where detached from 3D LUT RFC series [1]. Patches 3
and 4 describe MPC block programming that matches the three DRM blend
modes and came from previous work [2][3] and discussions on AMD issue
tracker. Let me know any misleading information.

[1] https://lore.kernel.org/amd-gfx/20220619223104.667413-1-mwen@igalia.com/
[2] https://lore.kernel.org/amd-gfx/20220329201835.2393141-1-mwen@igalia.com/
[3] https://lore.kernel.org/amd-gfx/7a95d6a4-bc2f-b0e8-83f8-8cc5b75599f2@amd.com/

Melissa Wen (4):
  Documentation/amdgpu_dm: Add DM color correction documentation
  Documentation/amdgpu/display: add DC color caps info
  drm/amd/display: add doc entries for MPC blending configuration
  Documentation/gpu/amdgpu/amdgpu_dm: add DM docs for pixel blend mode

 .../amdgpu/display/dcn2_cm_drm_current.svg    | 1370 +++++++++++++++
 .../amdgpu/display/dcn3_cm_drm_current.svg    | 1529 +++++++++++++++++
 .../gpu/amdgpu/display/display-manager.rst    |  142 ++
 Documentation/gpu/drm-kms.rst                 |    2 +
 .../amd/display/amdgpu_dm/amdgpu_dm_color.c   |  121 +-
 drivers/gpu/drm/amd/display/dc/dc.h           |   74 +-
 drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h   |   91 +-
 7 files changed, 3270 insertions(+), 59 deletions(-)
 create mode 100644 Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
 create mode 100644 Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg

-- 
2.35.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/4] Documentation/amdgpu_dm: Add DM color correction documentation
  2022-07-16 22:25 [PATCH 0/4] Documentation/amdgpu/display: describe color and blend mode properties mapping Melissa Wen
@ 2022-07-16 22:25 ` Melissa Wen
  2022-07-17 22:03   ` Tales Lelo da Aparecida
  2022-07-16 22:25 ` [PATCH 2/4] Documentation/amdgpu/display: add DC color caps info Melissa Wen
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 16+ messages in thread
From: Melissa Wen @ 2022-07-16 22:25 UTC (permalink / raw)
  To: alexander.deucher, christian.koenig, Xinhui.Pan, harry.wentland,
	sunpeng.li, Rodrigo.Siqueira
  Cc: kernel-dev, dri-devel, nicholas.kazlauskas, amd-gfx, sungjoon.kim

AMDGPU DM maps DRM color management properties (degamma, ctm and gamma)
to DC color correction entities. Part of this mapping is already
documented as code comments and can be converted as kernel docs.

v2:
- rebase to amd-staging-drm-next

Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Melissa Wen <mwen@igalia.com>
---
 .../gpu/amdgpu/display/display-manager.rst    |   9 ++
 .../amd/display/amdgpu_dm/amdgpu_dm_color.c   | 121 +++++++++++++-----
 2 files changed, 98 insertions(+), 32 deletions(-)

diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst b/Documentation/gpu/amdgpu/display/display-manager.rst
index 7ce31f89d9a0..b1b0f11aed83 100644
--- a/Documentation/gpu/amdgpu/display/display-manager.rst
+++ b/Documentation/gpu/amdgpu/display/display-manager.rst
@@ -40,3 +40,12 @@ Atomic Implementation
 
 .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
    :functions: amdgpu_dm_atomic_check amdgpu_dm_atomic_commit_tail
+
+Color Management Properties
+===========================
+
+.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
+   :doc: overview
+
+.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
+   :internal:
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
index a71177305bcd..93c813089bff 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
@@ -29,7 +29,9 @@
 #include "modules/color/color_gamma.h"
 #include "basics/conversion.h"
 
-/*
+/**
+ * DOC: overview
+ *
  * The DC interface to HW gives us the following color management blocks
  * per pipe (surface):
  *
@@ -71,8 +73,8 @@
 
 #define MAX_DRM_LUT_VALUE 0xFFFF
 
-/*
- * Initialize the color module.
+/**
+ * amdgpu_dm_init_color_mod - Initialize the color module.
  *
  * We're not using the full color module, only certain components.
  * Only call setup functions for components that we need.
@@ -82,7 +84,14 @@ void amdgpu_dm_init_color_mod(void)
 	setup_x_points_distribution();
 }
 
-/* Extracts the DRM lut and lut size from a blob. */
+/**
+ * __extract_blob_lut - Extracts the DRM lut and lut size from a blob.
+ * @blob: DRM color mgmt property blob
+ * @size: lut size
+ *
+ * Returns:
+ * DRM LUT or NULL
+ */
 static const struct drm_color_lut *
 __extract_blob_lut(const struct drm_property_blob *blob, uint32_t *size)
 {
@@ -90,13 +99,18 @@ __extract_blob_lut(const struct drm_property_blob *blob, uint32_t *size)
 	return blob ? (struct drm_color_lut *)blob->data : NULL;
 }
 
-/*
- * Return true if the given lut is a linear mapping of values, i.e. it acts
- * like a bypass LUT.
+/**
+ * __is_lut_linear - check if the given lut is a linear mapping of values
+ * @lut: given lut to check values
+ * @size: lut size
  *
  * It is considered linear if the lut represents:
- * f(a) = (0xFF00/MAX_COLOR_LUT_ENTRIES-1)a; for integer a in
- *                                           [0, MAX_COLOR_LUT_ENTRIES)
+ * f(a) = (0xFF00/MAX_COLOR_LUT_ENTRIES-1)a; for integer a in [0,
+ * MAX_COLOR_LUT_ENTRIES)
+ *
+ * Returns:
+ * True if the given lut is a linear mapping of values, i.e. it acts like a
+ * bypass LUT. Otherwise, false.
  */
 static bool __is_lut_linear(const struct drm_color_lut *lut, uint32_t size)
 {
@@ -119,9 +133,13 @@ static bool __is_lut_linear(const struct drm_color_lut *lut, uint32_t size)
 	return true;
 }
 
-/*
- * Convert the drm_color_lut to dc_gamma. The conversion depends on the size
- * of the lut - whether or not it's legacy.
+/**
+ * __drm_lut_to_dc_gamma - convert the drm_color_lut to dc_gamma.
+ * @lut: DRM lookup table for color conversion
+ * @gamma: DC gamma to set entries
+ * @is_legacy: legacy or atomic gamma
+ *
+ * The conversion depends on the size of the lut - whether or not it's legacy.
  */
 static void __drm_lut_to_dc_gamma(const struct drm_color_lut *lut,
 				  struct dc_gamma *gamma, bool is_legacy)
@@ -154,8 +172,11 @@ static void __drm_lut_to_dc_gamma(const struct drm_color_lut *lut,
 	}
 }
 
-/*
- * Converts a DRM CTM to a DC CSC float matrix.
+/**
+ * __drm_ctm_to_dc_matrix - converts a DRM CTM to a DC CSC float matrix
+ * @ctm: DRM color transformation matrix
+ * @matrix: DC CSC float matrix
+ *
  * The matrix needs to be a 3x4 (12 entry) matrix.
  */
 static void __drm_ctm_to_dc_matrix(const struct drm_color_ctm *ctm,
@@ -189,7 +210,18 @@ static void __drm_ctm_to_dc_matrix(const struct drm_color_ctm *ctm,
 	}
 }
 
-/* Calculates the legacy transfer function - only for sRGB input space. */
+/**
+ * __set_legacy_tf - Calculates the legacy transfer function
+ * @func: transfer function
+ * @lut: lookup table that defines the color space
+ * @lut_size: size of respective lut
+ * @has_rom: if ROM can be used for hardcoded curve
+ *
+ * Only for sRGB input space
+ *
+ * Returns:
+ * 0 in case of sucess, -ENOMEM if fails
+ */
 static int __set_legacy_tf(struct dc_transfer_func *func,
 			   const struct drm_color_lut *lut, uint32_t lut_size,
 			   bool has_rom)
@@ -218,7 +250,16 @@ static int __set_legacy_tf(struct dc_transfer_func *func,
 	return res ? 0 : -ENOMEM;
 }
 
-/* Calculates the output transfer function based on expected input space. */
+/**
+ * __set_output_tf - calculates the output transfer function based on expected input space.
+ * @func: transfer function
+ * @lut: lookup table that defines the color space
+ * @lut_size: size of respective lut
+ * @has_rom: if ROM can be used for hardcoded curve
+ *
+ * Returns:
+ * 0 in case of success. -ENOMEM if fails.
+ */
 static int __set_output_tf(struct dc_transfer_func *func,
 			   const struct drm_color_lut *lut, uint32_t lut_size,
 			   bool has_rom)
@@ -239,7 +280,7 @@ static int __set_output_tf(struct dc_transfer_func *func,
 	__drm_lut_to_dc_gamma(lut, gamma, false);
 
 	if (func->tf == TRANSFER_FUNCTION_LINEAR) {
-		/*
+		/**
 		 * Color module doesn't like calculating regamma params
 		 * on top of a linear input. But degamma params can be used
 		 * instead to simulate this.
@@ -262,7 +303,16 @@ static int __set_output_tf(struct dc_transfer_func *func,
 	return res ? 0 : -ENOMEM;
 }
 
-/* Caculates the input transfer function based on expected input space. */
+/**
+ * __set_input_tf - calculates the input transfer function based on expected
+ * input space.
+ * @func: transfer function
+ * @lut: lookup table that defines the color space
+ * @lut_size: size of respective lut.
+ *
+ * Returns:
+ * 0 in case of success. -ENOMEM if fails.
+ */
 static int __set_input_tf(struct dc_transfer_func *func,
 			  const struct drm_color_lut *lut, uint32_t lut_size)
 {
@@ -285,13 +335,15 @@ static int __set_input_tf(struct dc_transfer_func *func,
 }
 
 /**
- * amdgpu_dm_verify_lut_sizes
+ * amdgpu_dm_verify_lut_sizes - verifies if DRM luts match the hw supported sizes
  * @crtc_state: the DRM CRTC state
  *
- * Verifies that the Degamma and Gamma LUTs attached to the |crtc_state| are of
- * the expected size.
+ * Verifies that the Degamma and Gamma LUTs attached to the &crtc_state
+ * are of the expected size.
  *
- * Returns 0 on success.
+ * Returns:
+ * 0 on success.
+ * -EINVAL if any lut sizes are invalid.
  */
 int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
 {
@@ -327,9 +379,9 @@ int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
  * of the HW blocks as long as the CRTC CTM always comes before the
  * CRTC RGM and after the CRTC DGM.
  *
- * The CRTC RGM block will be placed in the RGM LUT block if it is non-linear.
- * The CRTC DGM block will be placed in the DGM LUT block if it is non-linear.
- * The CRTC CTM will be placed in the gamut remap block if it is non-linear.
+ * * The CRTC RGM block will be placed in the RGM LUT block if it is non-linear.
+ * * The CRTC DGM block will be placed in the DGM LUT block if it is non-linear.
+ * * The CRTC CTM will be placed in the gamut remap block if it is non-linear.
  *
  * The RGM block is typically more fully featured and accurate across
  * all ASICs - DCE can't support a custom non-linear CRTC DGM.
@@ -338,7 +390,9 @@ int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
  * management at once we have to either restrict the usage of CRTC properties
  * or blend adjustments together.
  *
- * Returns 0 on success.
+ * Returns:
+ * 0 on success.
+ * Error code if setup fails.
  */
 int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
 {
@@ -373,7 +427,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
 
 	/* Setup regamma and degamma. */
 	if (is_legacy) {
-		/*
+		/**
 		 * Legacy regamma forces us to use the sRGB RGM as a base.
 		 * This also means we can't use linear DGM since DGM needs
 		 * to use sRGB as a base as well, resulting in incorrect CRTC
@@ -393,7 +447,8 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
 		if (r)
 			return r;
 	} else if (has_regamma) {
-		/* CRTC RGM goes into RGM LUT. */
+		/**
+		 * If atomic regamma, CRTC RGM goes into RGM LUT. */
 		stream->out_transfer_func->type = TF_TYPE_DISTRIBUTED_POINTS;
 		stream->out_transfer_func->tf = TRANSFER_FUNCTION_LINEAR;
 
@@ -402,7 +457,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
 		if (r)
 			return r;
 	} else {
-		/*
+		/**
 		 * No CRTC RGM means we can just put the block into bypass
 		 * since we don't have any plane level adjustments using it.
 		 */
@@ -410,7 +465,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
 		stream->out_transfer_func->tf = TRANSFER_FUNCTION_LINEAR;
 	}
 
-	/*
+	/**
 	 * CRTC DGM goes into DGM LUT. It would be nice to place it
 	 * into the RGM since it's a more featured block but we'd
 	 * have to place the CTM in the OCSC in that case.
@@ -421,7 +476,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
 	if (crtc->base.ctm) {
 		ctm = (struct drm_color_ctm *)crtc->base.ctm->data;
 
-		/*
+		/**
 		 * Gamut remapping must be used for gamma correction
 		 * since it comes before the regamma correction.
 		 *
@@ -452,7 +507,9 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
  * preparation for hardware commit. The transfer function used depends on
  * the prepartion done on the stream for color management.
  *
- * Returns 0 on success.
+ * Returns:
+ * 0 on success.
+ * ENOMEM if mem allocation fails.
  */
 int amdgpu_dm_update_plane_color_mgmt(struct dm_crtc_state *crtc,
 				      struct dc_plane_state *dc_plane_state)
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/4] Documentation/amdgpu/display: add DC color caps info
  2022-07-16 22:25 [PATCH 0/4] Documentation/amdgpu/display: describe color and blend mode properties mapping Melissa Wen
  2022-07-16 22:25 ` [PATCH 1/4] Documentation/amdgpu_dm: Add DM color correction documentation Melissa Wen
@ 2022-07-16 22:25 ` Melissa Wen
  2022-07-17 23:28   ` Tales Lelo da Aparecida
  2022-07-16 22:25 ` [PATCH 3/4] drm/amd/display: add doc entries for MPC blending configuration Melissa Wen
  2022-07-16 22:25 ` [PATCH 4/4] Documentation/gpu/amdgpu/amdgpu_dm: add DM docs for pixel blend mode Melissa Wen
  3 siblings, 1 reply; 16+ messages in thread
From: Melissa Wen @ 2022-07-16 22:25 UTC (permalink / raw)
  To: alexander.deucher, christian.koenig, Xinhui.Pan, harry.wentland,
	sunpeng.li, Rodrigo.Siqueira
  Cc: kernel-dev, dri-devel, nicholas.kazlauskas, amd-gfx, sungjoon.kim

Add details about color correction capabilities and explain a bit about
differences between DC hw generations and also how they are mapped
between DRM and DC interface. Two schemas for DCN 2.0 and 3.0 (converted
to svg from the original png) is included to illustrate it. They were
obtained from a discussion[1] in the amd-gfx mailing list.

[1] https://lore.kernel.org/amd-gfx/20220422142811.dm6vtk6v64jcwydk@mail.igalia.com/

v2:

- remove redundant comments (Harry)
- fix typo (Harry)

Signed-off-by: Melissa Wen <mwen@igalia.com>
---
 .../amdgpu/display/dcn2_cm_drm_current.svg    | 1370 +++++++++++++++
 .../amdgpu/display/dcn3_cm_drm_current.svg    | 1529 +++++++++++++++++
 .../gpu/amdgpu/display/display-manager.rst    |   35 +
 drivers/gpu/drm/amd/display/dc/dc.h           |   74 +-
 4 files changed, 2995 insertions(+), 13 deletions(-)
 create mode 100644 Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
 create mode 100644 Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg

diff --git a/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg b/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
new file mode 100644
index 000000000000..315ffc5a1a4b
--- /dev/null
+++ b/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
@@ -0,0 +1,1370 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   version="1.1"
+   id="svg2019"
+   width="1702"
+   height="1845"
+   viewBox="0 0 1702 1845"
+   sodipodi:docname="dcn2_cm_drm_current.svg"
+   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs2023" />
+  <sodipodi:namedview
+     id="namedview2021"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     showgrid="false"
+     inkscape:zoom="0.56413987"
+     inkscape:cx="1003.2973"
+     inkscape:cy="691.31792"
+     inkscape:window-width="1920"
+     inkscape:window-height="1011"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g2025" />
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Image"
+     id="g2025">
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
+       id="rect34"
+       width="208.83351"
+       height="486.09872"
+       x="0.90158081"
+       y="132.77872" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1019"
+       width="126.38867"
+       height="55.320732"
+       x="25.960823"
+       y="188.06937" />
+    <rect
+       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1021"
+       width="126.38867"
+       height="55.320732"
+       x="25.960823"
+       y="346.06937" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1103"
+       width="126.38867"
+       height="55.320732"
+       x="25.960823"
+       y="266.06937" />
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1105"
+       width="126.38867"
+       height="55.320732"
+       x="25.960823"
+       y="426.06937" />
+    <rect
+       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1107"
+       width="126.38867"
+       height="55.320732"
+       x="25.960823"
+       y="506.06934" />
+    <path
+       d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
+       id="path381056"
+       sodipodi:nodetypes="cccccccccc"
+       style="stroke-width:0.205176"
+       inkscape:transform-center-x="-325.50819"
+       inkscape:transform-center-y="-121.97185" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
+       id="rect1131"
+       width="239.47592"
+       height="1015.9909"
+       x="298.65631"
+       y="82.399658" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1"
+       id="rect1133"
+       width="340.44653"
+       height="525.77448"
+       x="298.79562"
+       y="1142.5299" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
+       id="rect1237"
+       width="284.00113"
+       height="945.41412"
+       x="827.75012"
+       y="82.880798"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
+       id="rect1239"
+       width="239.37569"
+       height="179.03308"
+       x="1356.9507"
+       y="98.758331" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1"
+       id="rect1241"
+       width="239.4184"
+       height="713.64905"
+       x="1356.9543"
+       y="307.7951"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
+       id="rect1345"
+       width="330.32059"
+       height="409.44757"
+       x="1363.8723"
+       y="1147.7572" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
+       id="rect1347"
+       width="369.8941"
+       height="682.32245"
+       x="825.72528"
+       y="1146.6448"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1349"
+       width="163.95746"
+       height="40.144867"
+       x="1389.9988"
+       y="190.80583" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1"
+       id="rect1619"
+       width="271.99091"
+       height="42.038273"
+       x="1393.981"
+       y="1197.161"
+       inkscape:connector-avoid="true" />
+    <path
+       d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
+       id="path106-1"
+       sodipodi:nodetypes="cccccccccc"
+       style="stroke-width:0.205176"
+       inkscape:transform-center-x="-325.50819"
+       inkscape:transform-center-y="-121.97185" />
+    <path
+       d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
+       id="path106-1-7"
+       sodipodi:nodetypes="cccccccccc"
+       style="stroke-width:0.205176"
+       inkscape:transform-center-x="-325.50819"
+       inkscape:transform-center-y="-121.97185" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1623"
+       width="137.32646"
+       height="41.782684"
+       x="1396.3848"
+       y="1268.2837"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1705"
+       width="137.32646"
+       height="41.782684"
+       x="1396.3848"
+       y="1348.2837" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1707"
+       width="137.32646"
+       height="41.782684"
+       x="1396.3848"
+       y="1432.2837" />
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1731"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="190.42665"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1813"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="254.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1815"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="318.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1817"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="412.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1819"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="560.42664" />
+    <rect
+       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1821"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="674.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1823"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="744.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1825"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="820.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1827"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="890.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1829"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="956.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1831"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1256.4268" />
+    <rect
+       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1833"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1402.4268" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1915"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1330.4268"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1917"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1478.4268" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1919"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1548.4268" />
+    <rect
+       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1921"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1614.4268" />
+    <rect
+       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1923"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1686.4268" />
+    <rect
+       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1925"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1754.4268" />
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
+       id="rect1925-3"
+       width="169.23357"
+       height="44.678963"
+       x="325.21747"
+       y="134.37756" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
+       id="rect1954"
+       width="169.23357"
+       height="44.678963"
+       x="325.21747"
+       y="276.37756"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1956"
+       width="168.66573"
+       height="122.14091"
+       x="325.50134"
+       y="358.6615"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
+       id="rect1958"
+       width="169.23357"
+       height="44.678963"
+       x="325.21747"
+       y="672.37756" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
+       id="rect1960"
+       width="169.23357"
+       height="44.678963"
+       x="325.21747"
+       y="744.37756" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
+       id="rect1962"
+       width="169.14041"
+       height="54.756817"
+       x="325.26404"
+       y="814.42413"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
+       id="rect1964"
+       width="169.14041"
+       height="54.756817"
+       x="325.26404"
+       y="886.42413"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
+       id="rect1966"
+       width="169.14041"
+       height="54.756817"
+       x="325.26404"
+       y="952.42413"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1"
+       id="rect2428"
+       width="169.0854"
+       height="61.19017"
+       x="325.29156"
+       y="1468.4518" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1"
+       id="rect2430"
+       width="169.26669"
+       height="41.344128"
+       x="325.20093"
+       y="1550.3611" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1"
+       id="rect2432"
+       width="287.86237"
+       height="44.416805"
+       x="325.34854"
+       y="1194.5088" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1"
+       id="rect2434"
+       width="285.86655"
+       height="44.4207"
+       x="867.34656"
+       y="1194.5068" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2509" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2511" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2513" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2515" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2517" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2519" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2521" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2523" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2525" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2527" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2529" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2531" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 442.80064,179.02883 0.91401,36.01283 423.64827,-2.29193"
+       id="path6876"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1925-3"
+       inkscape:connection-end="#rect1731"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 494.45103,156.71704 205.18886,-0.43622 0.59548,162.1112 167.12755,0.0346"
+       id="path6878"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1925-3"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 447.83425,321.05653 v 19.69319 h 419.52867"
+       id="path7294"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1954"
+       inkscape:connection-end="#rect1815"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292"
+       id="path7296"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-end="#rect1817"
+       inkscape:connection-start="#rect1954"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 867.36292,560.42664 -422.77356,1.33638 0.45008,-79.26417"
+       id="path7720"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 494.45103,696.74972 H 867.36292"
+       id="path7726"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1958"
+       inkscape:connection-end="#rect1821" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 867.36292,766.74972 H 494.45103"
+       id="path7728"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1823"
+       inkscape:connection-end="#rect1960" />
+    <path
+       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292"
+       id="path7730"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-end="#rect1831"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874"
+       id="path8140"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1962"
+       inkscape:connection-end="#rect1825" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874"
+       id="path8142"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1964"
+       inkscape:connection-end="#rect1827" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874"
+       id="path8144"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1966"
+       inkscape:connection-end="#rect1829" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 494.37697,1500.7498 H 867.36292"
+       id="path8150"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect2428"
+       inkscape:connection-end="#rect1917" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 494.46762,1570.7498 h 372.8953"
+       id="path8152"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect2430"
+       inkscape:connection-end="#rect1919" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368"
+       id="path8154"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1623"
+       inkscape:connection-end="#rect1819" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 1396.3848,1369.175 -159.2837,-1.364 0.5816,-88.2579 -147.975,-0.8033"
+       id="path8462"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1705"
+       inkscape:connection-end="#rect1831"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 1089.7077,1500.7498 h 375.3403 v -26.6834"
+       id="path8668"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1917"
+       inkscape:connection-end="#rect1707" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 1389.9988,212.74973 H 1089.7077"
+       id="path8672"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1349"
+       inkscape:connection-end="#rect1731" />
+    <path
+       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233"
+       id="path8674"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-end="#rect1815"
+       sodipodi:nodetypes="cccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="58.63356"
+       y="69.574417"
+       id="text28675"><tspan
+         sodipodi:role="line"
+         id="tspan28673"
+         x="58.63356"
+         y="69.574417" /></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="56.388252"
+       y="221.86568"
+       id="text31913"><tspan
+         sodipodi:role="line"
+         id="tspan31911"
+         x="56.388252"
+         y="221.86568">Matrix</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="53.441296"
+       y="300.866"
+       id="text38843"><tspan
+         sodipodi:role="line"
+         id="tspan38841"
+         x="53.441296"
+         y="300.866">1D LUT</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="53.441296"
+       y="378.866"
+       id="text41049"><tspan
+         sodipodi:role="line"
+         id="tspan41047"
+         x="53.441296"
+         y="378.866">3D LUT</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="40.831493"
+       y="460.87411"
+       id="text45037"><tspan
+         sodipodi:role="line"
+         id="tspan45035"
+         x="40.831493"
+         y="460.87411"
+         style="font-size:18.6667px">Unpacking</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="62.130371"
+       y="540.68872"
+       id="text49945"><tspan
+         sodipodi:role="line"
+         id="tspan49943"
+         x="62.130371"
+         y="540.68872"
+         style="font-size:18.6667px">Other</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1423.2806"
+       y="128.08769"
+       id="text55719"><tspan
+         sodipodi:role="line"
+         id="tspan55717"
+         x="1423.2806"
+         y="128.08769"
+         style="font-size:18.6667px">drm_framebuffer</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1439.9988"
+       y="218.74973"
+       id="text62479"><tspan
+         sodipodi:role="line"
+         id="tspan62477"
+         x="1439.9988"
+         y="218.74973"
+         style="font-size:18.6667px">format</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1475.2806"
+       y="340.08771"
+       id="text64465"><tspan
+         sodipodi:role="line"
+         id="tspan64463"
+         x="1475.2806"
+         y="340.08771"
+         style="font-size:18.6667px">drm_plane</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1589.2806"
+       y="1178.0876"
+       id="text64469"><tspan
+         sodipodi:role="line"
+         id="tspan64467"
+         x="1589.2806"
+         y="1178.0876"
+         style="font-size:18.6667px">drm_crtc</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="872.23993"
+       y="1172.4491"
+       id="text64469-9"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2"
+         x="872.23993"
+         y="1172.4491"
+         style="font-size:18.6667px">Stream</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="328.26071"
+       y="1175.6371"
+       id="text64469-9-2"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-8"
+         x="328.26071"
+         y="1175.6371"
+         style="font-size:18.6667px">MPC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="330.14737"
+       y="114.41869"
+       id="text64469-9-9"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-7"
+         x="330.14737"
+         y="114.41869"
+         style="font-size:18.6667px">DPP</tspan></text>
+    <path
+       d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
+       id="path106"
+       sodipodi:nodetypes="cccccccccc"
+       style="stroke-width:0.205176"
+       inkscape:transform-center-x="-325.50819"
+       inkscape:transform-center-y="-121.97185" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1495.9988"
+       y="1224.7498"
+       id="text78849"><tspan
+         sodipodi:role="line"
+         id="tspan78847"
+         x="1495.9988"
+         y="1224.7498"
+         style="font-size:18.6667px">Blender</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1417.9988"
+       y="1294.7498"
+       id="text78853"><tspan
+         sodipodi:role="line"
+         id="tspan78851"
+         x="1417.9988"
+         y="1294.7498"
+         style="font-size:18.6667px">Degamma</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1451.9988"
+       y="1376.7498"
+       id="text78857"><tspan
+         sodipodi:role="line"
+         id="tspan78855"
+         x="1451.9988"
+         y="1376.7498"
+         style="font-size:18.6667px">CTM</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1427.9988"
+       y="1458.7498"
+       id="text78861"><tspan
+         sodipodi:role="line"
+         id="tspan78859"
+         x="1427.9988"
+         y="1458.7498"
+         style="font-size:18.6667px">Gamma</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="949.99878"
+       y="218.74973"
+       id="text104653"><tspan
+         sodipodi:role="line"
+         id="tspan104651"
+         x="949.99878"
+         y="218.74973"
+         style="font-size:18.6667px">format</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="911.99878"
+       y="284.74973"
+       id="text104657"><tspan
+         sodipodi:role="line"
+         id="tspan104655"
+         x="911.99878"
+         y="284.74973"
+         style="font-size:18.6667px">bias_and_scale</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="887.99878"
+       y="346.74973"
+       id="text104661"><tspan
+         sodipodi:role="line"
+         id="tspan104659"
+         x="887.99878"
+         y="346.74973"
+         style="font-size:18.6667px">color space matrix</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="871.99878"
+       y="442.74973"
+       id="text104665"><tspan
+         sodipodi:role="line"
+         id="tspan104663"
+         x="871.99878"
+         y="442.74973"
+         style="font-size:18.6667px">input_csc_color_matrix</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="905.99878"
+       y="586.74976"
+       id="text125075"><tspan
+         sodipodi:role="line"
+         id="tspan125073"
+         x="905.99878"
+         y="586.74976"
+         style="font-size:18.6667px">in_transfer_func</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="945.0083"
+       y="702.85938"
+       id="text117309"><tspan
+         sodipodi:role="line"
+         id="tspan117307"
+         x="945.0083"
+         y="702.85938"
+         style="font-size:18.6667px">hdr_mult</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="874.5556"
+       y="773.42615"
+       id="text117309-6"><tspan
+         sodipodi:role="line"
+         id="tspan117307-7"
+         x="874.5556"
+         y="773.42615"
+         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="913.72528"
+       y="846.55896"
+       id="text117309-5"><tspan
+         sodipodi:role="line"
+         id="tspan117307-3"
+         x="913.72528"
+         y="846.55896"
+         style="font-size:18.6667px">in_shaper_func</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="937.72528"
+       y="918.25787"
+       id="text117309-56"><tspan
+         sodipodi:role="line"
+         id="tspan117307-2"
+         x="937.72528"
+         y="918.25787"
+         style="font-size:18.6667px">lut3d_func</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="945.9895"
+       y="986.10767"
+       id="text117309-9"><tspan
+         sodipodi:role="line"
+         id="tspan117307-1"
+         x="945.9895"
+         y="986.10767"
+         style="font-size:18.6667px">blend_tf</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="975.91803"
+       y="1224.5564"
+       id="text137434"><tspan
+         sodipodi:role="line"
+         id="tspan137432"
+         x="975.91803"
+         y="1224.5564"
+         style="font-size:18.6667px">Blender</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="879.31372"
+       y="1283.4249"
+       id="text137434-2"><tspan
+         sodipodi:role="line"
+         id="tspan137432-7"
+         x="879.31372"
+         y="1283.4249"
+         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="925.31372"
+       y="1359.2747"
+       id="text137434-0"><tspan
+         sodipodi:role="line"
+         id="tspan137432-9"
+         x="925.31372"
+         y="1359.2747"
+         style="font-size:18.6667px">func_shaper</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="930.33252"
+       y="1430.2566"
+       id="text137434-3"><tspan
+         sodipodi:role="line"
+         id="tspan137432-6"
+         x="930.33252"
+         y="1430.2566"
+         style="font-size:18.6667px">lut3d_func</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="900.18158"
+       y="1504.6725"
+       id="text137434-06"><tspan
+         sodipodi:role="line"
+         id="tspan137432-2"
+         x="900.18158"
+         y="1504.6725"
+         style="font-size:18.6667px">out_transfer_func</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="904.0307"
+       y="1575.8053"
+       id="text137434-6"><tspan
+         sodipodi:role="line"
+         id="tspan137432-1"
+         x="904.0307"
+         y="1575.8053"
+         style="font-size:18.6667px">csc_color_matrix</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="903.16278"
+       y="1642.1078"
+       id="text137434-8"><tspan
+         sodipodi:role="line"
+         id="tspan137432-79"
+         x="903.16278"
+         y="1642.1078"
+         style="font-size:18.6667px">bit_depth_param</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="939.31372"
+       y="1713.8068"
+       id="text137434-20"><tspan
+         sodipodi:role="line"
+         id="tspan137432-23"
+         x="939.31372"
+         y="1713.8068"
+         style="font-size:18.6667px">clamping</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="894.0307"
+       y="1782.5244"
+       id="text137434-7"><tspan
+         sodipodi:role="line"
+         id="tspan137432-5"
+         x="894.0307"
+         y="1782.5244"
+         style="font-size:18.6667px">output_color_space</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="869.63062"
+       y="117.7968"
+       id="text176429"><tspan
+         sodipodi:role="line"
+         id="tspan176427"
+         x="869.63062"
+         y="117.7968"
+         style="font-size:18.6667px">Plane</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="27.605465"
+       y="162.20587"
+       id="text176429-2"><tspan
+         sodipodi:role="line"
+         id="tspan176427-0"
+         x="27.605465"
+         y="162.20587"
+         style="font-size:18.6667px">Legend</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="298.63959"
+       y="59.293999"
+       id="text176429-9"><tspan
+         sodipodi:role="line"
+         id="tspan176427-2"
+         x="298.63959"
+         y="59.293999"
+         style="font-size:18.6667px">DCN 2.0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="826.65735"
+       y="59.458061"
+       id="text176429-66"><tspan
+         sodipodi:role="line"
+         id="tspan176427-4"
+         x="826.65735"
+         y="59.458061"
+         style="font-size:18.6667px">DC Interface</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1362.9948"
+       y="59.458061"
+       id="text176429-95"><tspan
+         sodipodi:role="line"
+         id="tspan176427-04"
+         x="1362.9948"
+         y="59.458061"
+         style="font-size:18.6667px">DRM Interface</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="867.34656"
+       y="1194.5068"
+       id="text184728"><tspan
+         sodipodi:role="line"
+         id="tspan184726"
+         x="867.34656"
+         y="1194.5068" /></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="389.01593"
+       y="159.8909"
+       id="text64469-9-3"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-6"
+         x="389.01593"
+         y="159.8909"
+         style="font-size:18.6667px">CNVC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="365.88379"
+       y="303.59048"
+       id="text64469-9-1"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-2"
+         x="365.88379"
+         y="303.59048"
+         style="font-size:18.6667px">Input CSC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="409.06488"
+       y="404.95001"
+       id="text64469-9-93"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-1"
+         x="409.06488"
+         y="404.95001"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan
+         sodipodi:role="line"
+         x="409.06488"
+         y="428.28339"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle"
+         id="tspan233797">RAM and ROM</tspan><tspan
+         sodipodi:role="line"
+         x="409.06488"
+         y="451.61676"
+         style="font-size:10.6667px;text-align:center;text-anchor:middle"
+         id="tspan242597">(sRGB, BT2020</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="351.16684"
+       y="700.34918"
+       id="text64469-9-0"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-3"
+         x="351.16684"
+         y="700.34918"
+         style="font-size:18.6667px">HDR Multiply</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="345.16684"
+       y="771.33112"
+       id="text64469-9-6"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-10"
+         x="345.16684"
+         y="771.33112"
+         style="font-size:18.6667px">Gamut Remap</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="412.5184"
+       y="836.04877"
+       id="text64469-9-63"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-20"
+         x="412.5184"
+         y="836.04877"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan
+         sodipodi:role="line"
+         x="412.5184"
+         y="859.38214"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle"
+         id="tspan222533">RAM</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="413.54086"
+       y="908.61554"
+       id="text64469-9-61"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-55"
+         x="413.54086"
+         y="908.61554"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan
+         sodipodi:role="line"
+         x="413.54086"
+         y="931.94891"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle"
+         id="tspan221121">RAM</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="344.0347"
+       y="985.33319"
+       id="text64469-9-47"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-65"
+         x="344.0347"
+         y="985.33319"
+         style="font-size:18.6667px">Blend Gamma</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="433.84625"
+       y="1223.411"
+       id="text64469-9-69"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-37"
+         x="433.84625"
+         y="1223.411"
+         style="font-size:18.6667px">Blender</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="408.64996"
+       y="1492.8102"
+       id="text64469-9-8"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-84"
+         x="408.64996"
+         y="1492.8102"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan
+         sodipodi:role="line"
+         x="408.64996"
+         y="1516.1436"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle"
+         id="tspan197733">RAM</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="385.46863"
+       y="1575.2261"
+       id="text64469-9-31"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-49"
+         x="385.46863"
+         y="1575.2261"
+         style="font-size:18.6667px">OCSC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1356.5106"
+       y="53.140579"
+       id="text273287"><tspan
+         sodipodi:role="line"
+         id="tspan273285"
+         x="1356.5106"
+         y="53.140579" /></text>
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1411"
+       width="177.28049"
+       height="38.940468"
+       x="1392.2576"
+       y="459.24118" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1411.7203"
+       y="485.93231"
+       id="text78841"><tspan
+         sodipodi:role="line"
+         id="tspan78839"
+         x="1411.7203"
+         y="485.93231"
+         style="font-size:18.6667px">color_encoding</tspan></text>
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1515"
+       width="175.11876"
+       height="43.239407"
+       x="1393.7493"
+       y="525.6983" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1399.212"
+       y="553.44904"
+       id="text78845"><tspan
+         sodipodi:role="line"
+         id="tspan78843"
+         x="1399.212"
+         y="553.44904">pixel_blend_mode</tspan></text>
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect371322"
+       width="177.28049"
+       height="38.940468"
+       x="1391.6781"
+       y="385.61713" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1427.5771"
+       y="409.29523"
+       id="text78837"><tspan
+         sodipodi:role="line"
+         id="tspan78835"
+         x="1427.5771"
+         y="409.29523"
+         style="font-size:18.6667px">color_range</tspan></text>
+    <path
+       d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
+       id="path371636-7"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
+       id="path371636-7-2"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-7"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-22"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-6"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-1"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-5"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-9"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-4"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-90"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-91"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
+       id="path371636-7-59"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+  </g>
+</svg>
diff --git a/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg b/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
new file mode 100644
index 000000000000..7299ee9b6d64
--- /dev/null
+++ b/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
@@ -0,0 +1,1529 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   version="1.1"
+   id="svg2019"
+   width="1702"
+   height="1845"
+   viewBox="0 0 1702 1845"
+   sodipodi:docname="dcn3_cm_drm_current.svg"
+   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs2023" />
+  <sodipodi:namedview
+     id="namedview2021"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     showgrid="false"
+     inkscape:zoom="0.55760543"
+     inkscape:cx="1011.4679"
+     inkscape:cy="249.28021"
+     inkscape:window-width="1920"
+     inkscape:window-height="1011"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g2025" />
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Image"
+     id="g2025">
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
+       id="rect34"
+       width="208.83351"
+       height="486.09872"
+       x="0.90158081"
+       y="132.77872" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1019"
+       width="126.38867"
+       height="55.320732"
+       x="25.960823"
+       y="188.06937" />
+    <rect
+       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1021"
+       width="126.38867"
+       height="55.320732"
+       x="25.960823"
+       y="346.06937" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1103"
+       width="126.38867"
+       height="55.320732"
+       x="25.960823"
+       y="266.06937" />
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1105"
+       width="126.38867"
+       height="55.320732"
+       x="25.960823"
+       y="426.06937" />
+    <rect
+       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1107"
+       width="126.38867"
+       height="55.320732"
+       x="25.960823"
+       y="506.06934" />
+    <path
+       d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
+       id="path381056"
+       sodipodi:nodetypes="cccccccccc"
+       style="stroke-width:0.205176"
+       inkscape:transform-center-x="-325.50819"
+       inkscape:transform-center-y="-121.97185" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
+       id="rect1131"
+       width="239.47592"
+       height="1015.9909"
+       x="298.65631"
+       y="82.399658" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1"
+       id="rect1133"
+       width="340.44653"
+       height="525.77448"
+       x="298.79562"
+       y="1142.5299" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
+       id="rect1237"
+       width="284.00113"
+       height="945.41412"
+       x="827.75012"
+       y="82.880798"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
+       id="rect1239"
+       width="239.37569"
+       height="179.03308"
+       x="1356.9507"
+       y="98.758331" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1"
+       id="rect1241"
+       width="239.4184"
+       height="713.64905"
+       x="1356.9543"
+       y="307.7951"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
+       id="rect1345"
+       width="330.32059"
+       height="409.44757"
+       x="1363.8723"
+       y="1147.7572" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
+       id="rect1347"
+       width="369.8941"
+       height="682.32245"
+       x="825.72528"
+       y="1146.6448"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1349"
+       width="163.95746"
+       height="40.144867"
+       x="1389.9988"
+       y="190.80583" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1"
+       id="rect1619"
+       width="271.99091"
+       height="42.038273"
+       x="1393.981"
+       y="1197.161"
+       inkscape:connector-avoid="true" />
+    <path
+       d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
+       id="path106-1"
+       sodipodi:nodetypes="cccccccccc"
+       style="stroke-width:0.205176"
+       inkscape:transform-center-x="-325.50819"
+       inkscape:transform-center-y="-121.97185" />
+    <path
+       d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
+       id="path106-1-7"
+       sodipodi:nodetypes="cccccccccc"
+       style="stroke-width:0.205176"
+       inkscape:transform-center-x="-325.50819"
+       inkscape:transform-center-y="-121.97185" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1623"
+       width="137.32646"
+       height="41.782684"
+       x="1396.3848"
+       y="1268.2837"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1705"
+       width="137.32646"
+       height="41.782684"
+       x="1396.3848"
+       y="1348.2837" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1707"
+       width="137.32646"
+       height="41.782684"
+       x="1396.3848"
+       y="1432.2837" />
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1731"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="190.42665"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1813"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="254.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1815"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="318.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1817"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="412.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1819"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="560.42664" />
+    <rect
+       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1821"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="674.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1823"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="744.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1825"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="820.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1827"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="890.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1829"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="956.42664"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1831"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1256.4268" />
+    <rect
+       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1833"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1402.4268" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1915"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1330.4268"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1917"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1478.4268" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1919"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1548.4268" />
+    <rect
+       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1921"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1614.4268" />
+    <rect
+       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1923"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1686.4268" />
+    <rect
+       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1925"
+       width="222.34483"
+       height="44.64616"
+       x="867.36292"
+       y="1754.4268" />
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
+       id="rect1925-3"
+       width="169.23357"
+       height="44.678963"
+       x="325.21747"
+       y="134.37756" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
+       id="rect1954"
+       width="169.23357"
+       height="44.678963"
+       x="325.21747"
+       y="276.37756"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1956"
+       width="168.66573"
+       height="122.14091"
+       x="325.50134"
+       y="358.6615"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
+       id="rect1958"
+       width="169.23357"
+       height="44.678963"
+       x="325.21747"
+       y="672.37756" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
+       id="rect1960"
+       width="169.23357"
+       height="44.678963"
+       x="325.21747"
+       y="744.37756" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
+       id="rect1962"
+       width="169.14041"
+       height="54.756817"
+       x="325.26404"
+       y="814.42413"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
+       id="rect1964"
+       width="169.14041"
+       height="54.756817"
+       x="325.26404"
+       y="886.42413"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
+       id="rect1966"
+       width="169.14041"
+       height="54.756817"
+       x="325.26404"
+       y="952.42413"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
+       id="rect2418"
+       width="169.23357"
+       height="44.678963"
+       x="325.21747"
+       y="510.37756"
+       inkscape:connector-avoid="true" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
+       id="rect2422"
+       width="169.23357"
+       height="44.678963"
+       x="325.21747"
+       y="1262.3777" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1"
+       id="rect2424"
+       width="169.12494"
+       height="56.528603"
+       x="325.27179"
+       y="1322.432" />
+    <rect
+       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1"
+       id="rect2426"
+       width="169.12494"
+       height="56.528603"
+       x="325.27179"
+       y="1396.432" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1"
+       id="rect2428"
+       width="169.0854"
+       height="61.19017"
+       x="325.29156"
+       y="1468.4518" />
+    <rect
+       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1"
+       id="rect2430"
+       width="169.26669"
+       height="41.344128"
+       x="325.20093"
+       y="1550.3611" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1"
+       id="rect2432"
+       width="287.86237"
+       height="44.416805"
+       x="325.34854"
+       y="1194.5088" />
+    <rect
+       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1"
+       id="rect2434"
+       width="285.86655"
+       height="44.4207"
+       x="867.34656"
+       y="1194.5068" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2509" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2511" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2513" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2515" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2517" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2519" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2521" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2523" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2525" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2527" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2529" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
+       d="m 867.36292,235.07281 v 0"
+       id="path2531" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 449.83425,179.05653 v 33.6932 h 417.52867"
+       id="path6876"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1925-3"
+       inkscape:connection-end="#rect1731"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 494.45103,156.71704 h 216.64955 v 161.7096 h 156.26234"
+       id="path6878"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1925-3"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 451.83425,321.05653 v 19.69319 h 415.52867"
+       id="path7294"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1954"
+       inkscape:connection-end="#rect1815"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292"
+       id="path7296"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-end="#rect1817"
+       inkscape:connection-start="#rect1954"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 867.36292,560.42664 H 661.10058 V 480.8024 H 494.16705"
+       id="path7720"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 455.83425,594.37756 V 582.74972 H 867.36292"
+       id="path7724"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect2420"
+       inkscape:connection-end="#rect1819"
+       sodipodi:nodetypes="ccc" />
+    <rect
+       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
+       id="rect2420"
+       width="169.23357"
+       height="44.678963"
+       x="325.21747"
+       y="594.37756" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 494.45103,696.74972 H 867.36292"
+       id="path7726"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1958"
+       inkscape:connection-end="#rect1821" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 867.36292,766.74972 H 494.45103"
+       id="path7728"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1823"
+       inkscape:connection-end="#rect1960" />
+    <path
+       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292"
+       id="path7730"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-end="#rect1831"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874"
+       id="path8140"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1962"
+       inkscape:connection-end="#rect1825" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874"
+       id="path8142"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1964"
+       inkscape:connection-end="#rect1827" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874"
+       id="path8144"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1966"
+       inkscape:connection-end="#rect1829" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 494.39673,1352.7498 H 867.36292"
+       id="path8146"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect2424"
+       inkscape:connection-end="#rect1915" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 494.39673,1424.7498 H 867.36292"
+       id="path8148"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect2426"
+       inkscape:connection-end="#rect1833" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 494.37697,1500.7498 H 867.36292"
+       id="path8150"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect2428"
+       inkscape:connection-end="#rect1917" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 494.46762,1570.7498 h 372.8953"
+       id="path8152"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect2430"
+       inkscape:connection-end="#rect1919" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368"
+       id="path8154"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1623"
+       inkscape:connection-end="#rect1819" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 1396.3848,1369.175 h -156.2403 v -90.4252 h -150.4368"
+       id="path8462"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1705"
+       inkscape:connection-end="#rect1831"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 1089.7077,1500.7498 h 375.3403 v -26.6834"
+       id="path8668"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1917"
+       inkscape:connection-end="#rect1707" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 1389.9988,212.74973 H 1089.7077"
+       id="path8672"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-start="#rect1349"
+       inkscape:connection-end="#rect1731" />
+    <path
+       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233"
+       id="path8674"
+       inkscape:connector-type="orthogonal"
+       inkscape:connector-curvature="0"
+       inkscape:connection-end="#rect1815"
+       sodipodi:nodetypes="cccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="58.63356"
+       y="69.574417"
+       id="text28675"><tspan
+         sodipodi:role="line"
+         id="tspan28673"
+         x="58.63356"
+         y="69.574417" /></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="56.388252"
+       y="221.86568"
+       id="text31913"><tspan
+         sodipodi:role="line"
+         id="tspan31911"
+         x="56.388252"
+         y="221.86568">Matrix</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="53.441296"
+       y="300.866"
+       id="text38843"><tspan
+         sodipodi:role="line"
+         id="tspan38841"
+         x="53.441296"
+         y="300.866">1D LUT</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="53.441296"
+       y="378.866"
+       id="text41049"><tspan
+         sodipodi:role="line"
+         id="tspan41047"
+         x="53.441296"
+         y="378.866">3D LUT</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="40.831493"
+       y="460.87411"
+       id="text45037"><tspan
+         sodipodi:role="line"
+         id="tspan45035"
+         x="40.831493"
+         y="460.87411"
+         style="font-size:18.6667px">Unpacking</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="62.130371"
+       y="540.68872"
+       id="text49945"><tspan
+         sodipodi:role="line"
+         id="tspan49943"
+         x="62.130371"
+         y="540.68872"
+         style="font-size:18.6667px">Other</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1423.2806"
+       y="128.08769"
+       id="text55719"><tspan
+         sodipodi:role="line"
+         id="tspan55717"
+         x="1423.2806"
+         y="128.08769"
+         style="font-size:18.6667px">drm_framebuffer</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1439.9988"
+       y="218.74973"
+       id="text62479"><tspan
+         sodipodi:role="line"
+         id="tspan62477"
+         x="1439.9988"
+         y="218.74973"
+         style="font-size:18.6667px">format</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1475.2806"
+       y="340.08771"
+       id="text64465"><tspan
+         sodipodi:role="line"
+         id="tspan64463"
+         x="1475.2806"
+         y="340.08771"
+         style="font-size:18.6667px">drm_plane</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1589.2806"
+       y="1178.0876"
+       id="text64469"><tspan
+         sodipodi:role="line"
+         id="tspan64467"
+         x="1589.2806"
+         y="1178.0876"
+         style="font-size:18.6667px">drm_crtc</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="872.23993"
+       y="1172.4491"
+       id="text64469-9"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2"
+         x="872.23993"
+         y="1172.4491"
+         style="font-size:18.6667px">Stream</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="328.26071"
+       y="1175.6371"
+       id="text64469-9-2"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-8"
+         x="328.26071"
+         y="1175.6371"
+         style="font-size:18.6667px">MPC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="330.14737"
+       y="114.41869"
+       id="text64469-9-9"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-7"
+         x="330.14737"
+         y="114.41869"
+         style="font-size:18.6667px">DPP</tspan></text>
+    <path
+       d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
+       id="path106"
+       sodipodi:nodetypes="cccccccccc"
+       style="stroke-width:0.205176"
+       inkscape:transform-center-x="-325.50819"
+       inkscape:transform-center-y="-121.97185" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1495.9988"
+       y="1224.7498"
+       id="text78849"><tspan
+         sodipodi:role="line"
+         id="tspan78847"
+         x="1495.9988"
+         y="1224.7498"
+         style="font-size:18.6667px">Blender</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1417.9988"
+       y="1294.7498"
+       id="text78853"><tspan
+         sodipodi:role="line"
+         id="tspan78851"
+         x="1417.9988"
+         y="1294.7498"
+         style="font-size:18.6667px">Degamma</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1451.9988"
+       y="1376.7498"
+       id="text78857"><tspan
+         sodipodi:role="line"
+         id="tspan78855"
+         x="1451.9988"
+         y="1376.7498"
+         style="font-size:18.6667px">CTM</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1427.9988"
+       y="1458.7498"
+       id="text78861"><tspan
+         sodipodi:role="line"
+         id="tspan78859"
+         x="1427.9988"
+         y="1458.7498"
+         style="font-size:18.6667px">Gamma</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="949.99878"
+       y="218.74973"
+       id="text104653"><tspan
+         sodipodi:role="line"
+         id="tspan104651"
+         x="949.99878"
+         y="218.74973"
+         style="font-size:18.6667px">format</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="911.99878"
+       y="284.74973"
+       id="text104657"><tspan
+         sodipodi:role="line"
+         id="tspan104655"
+         x="911.99878"
+         y="284.74973"
+         style="font-size:18.6667px">bias_and_scale</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="887.99878"
+       y="346.74973"
+       id="text104661"><tspan
+         sodipodi:role="line"
+         id="tspan104659"
+         x="887.99878"
+         y="346.74973"
+         style="font-size:18.6667px">color space matrix</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="871.99878"
+       y="442.74973"
+       id="text104665"><tspan
+         sodipodi:role="line"
+         id="tspan104663"
+         x="871.99878"
+         y="442.74973"
+         style="font-size:18.6667px">input_csc_color_matrix</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="905.99878"
+       y="586.74976"
+       id="text125075"><tspan
+         sodipodi:role="line"
+         id="tspan125073"
+         x="905.99878"
+         y="586.74976"
+         style="font-size:18.6667px">in_transfer_func</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="945.0083"
+       y="702.85938"
+       id="text117309"><tspan
+         sodipodi:role="line"
+         id="tspan117307"
+         x="945.0083"
+         y="702.85938"
+         style="font-size:18.6667px">hdr_mult</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="874.5556"
+       y="773.42615"
+       id="text117309-6"><tspan
+         sodipodi:role="line"
+         id="tspan117307-7"
+         x="874.5556"
+         y="773.42615"
+         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="913.72528"
+       y="846.55896"
+       id="text117309-5"><tspan
+         sodipodi:role="line"
+         id="tspan117307-3"
+         x="913.72528"
+         y="846.55896"
+         style="font-size:18.6667px">in_shaper_func</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="937.72528"
+       y="918.25787"
+       id="text117309-56"><tspan
+         sodipodi:role="line"
+         id="tspan117307-2"
+         x="937.72528"
+         y="918.25787"
+         style="font-size:18.6667px">lut3d_func</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="945.9895"
+       y="986.10767"
+       id="text117309-9"><tspan
+         sodipodi:role="line"
+         id="tspan117307-1"
+         x="945.9895"
+         y="986.10767"
+         style="font-size:18.6667px">blend_tf</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="975.91803"
+       y="1224.5564"
+       id="text137434"><tspan
+         sodipodi:role="line"
+         id="tspan137432"
+         x="975.91803"
+         y="1224.5564"
+         style="font-size:18.6667px">Blender</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="879.31372"
+       y="1283.4249"
+       id="text137434-2"><tspan
+         sodipodi:role="line"
+         id="tspan137432-7"
+         x="879.31372"
+         y="1283.4249"
+         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="925.31372"
+       y="1359.2747"
+       id="text137434-0"><tspan
+         sodipodi:role="line"
+         id="tspan137432-9"
+         x="925.31372"
+         y="1359.2747"
+         style="font-size:18.6667px">func_shaper</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="930.33252"
+       y="1430.2566"
+       id="text137434-3"><tspan
+         sodipodi:role="line"
+         id="tspan137432-6"
+         x="930.33252"
+         y="1430.2566"
+         style="font-size:18.6667px">lut3d_func</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="900.18158"
+       y="1504.6725"
+       id="text137434-06"><tspan
+         sodipodi:role="line"
+         id="tspan137432-2"
+         x="900.18158"
+         y="1504.6725"
+         style="font-size:18.6667px">out_transfer_func</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="904.0307"
+       y="1575.8053"
+       id="text137434-6"><tspan
+         sodipodi:role="line"
+         id="tspan137432-1"
+         x="904.0307"
+         y="1575.8053"
+         style="font-size:18.6667px">csc_color_matrix</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="903.16278"
+       y="1642.1078"
+       id="text137434-8"><tspan
+         sodipodi:role="line"
+         id="tspan137432-79"
+         x="903.16278"
+         y="1642.1078"
+         style="font-size:18.6667px">bit_depth_param</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="939.31372"
+       y="1713.8068"
+       id="text137434-20"><tspan
+         sodipodi:role="line"
+         id="tspan137432-23"
+         x="939.31372"
+         y="1713.8068"
+         style="font-size:18.6667px">clamping</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="894.0307"
+       y="1782.5244"
+       id="text137434-7"><tspan
+         sodipodi:role="line"
+         id="tspan137432-5"
+         x="894.0307"
+         y="1782.5244"
+         style="font-size:18.6667px">output_color_space</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="869.63062"
+       y="117.7968"
+       id="text176429"><tspan
+         sodipodi:role="line"
+         id="tspan176427"
+         x="869.63062"
+         y="117.7968"
+         style="font-size:18.6667px">Plane</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="27.605465"
+       y="162.20587"
+       id="text176429-2"><tspan
+         sodipodi:role="line"
+         id="tspan176427-0"
+         x="27.605465"
+         y="162.20587"
+         style="font-size:18.6667px">Legend</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="298.63959"
+       y="59.293999"
+       id="text176429-9"><tspan
+         sodipodi:role="line"
+         id="tspan176427-2"
+         x="298.63959"
+         y="59.293999"
+         style="font-size:18.6667px">DCN 3.0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="826.65735"
+       y="59.458061"
+       id="text176429-66"><tspan
+         sodipodi:role="line"
+         id="tspan176427-4"
+         x="826.65735"
+         y="59.458061"
+         style="font-size:18.6667px">DC Interface</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1362.9948"
+       y="59.458061"
+       id="text176429-95"><tspan
+         sodipodi:role="line"
+         id="tspan176427-04"
+         x="1362.9948"
+         y="59.458061"
+         style="font-size:18.6667px">DRM Interface</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="867.34656"
+       y="1194.5068"
+       id="text184728"><tspan
+         sodipodi:role="line"
+         id="tspan184726"
+         x="867.34656"
+         y="1194.5068" /></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="389.01593"
+       y="159.8909"
+       id="text64469-9-3"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-6"
+         x="389.01593"
+         y="159.8909"
+         style="font-size:18.6667px">CNVC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="365.88379"
+       y="303.59048"
+       id="text64469-9-1"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-2"
+         x="365.88379"
+         y="303.59048"
+         style="font-size:18.6667px">Input CSC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="413.06488"
+       y="390.95001"
+       id="text64469-9-93"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-1"
+         x="413.06488"
+         y="390.95001"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan
+         sodipodi:role="line"
+         x="413.06488"
+         y="414.28339"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle"
+         id="tspan233797">ROM</tspan><tspan
+         sodipodi:role="line"
+         x="413.06488"
+         y="437.61676"
+         style="font-size:10.6667px;text-align:center;text-anchor:middle"
+         id="tspan233799">(sRGB, BT2020, Gamma 2.2,</tspan><tspan
+         sodipodi:role="line"
+         x="413.06488"
+         y="460.95013"
+         style="font-size:10.6667px;text-align:center;text-anchor:middle"
+         id="tspan242597">PQ, HLG)</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="372.44986"
+       y="538.83807"
+       id="text64469-9-94"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-78"
+         x="372.44986"
+         y="538.83807"
+         style="font-size:18.6667px">Post CSC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="335.31775"
+       y="622.23511"
+       id="text64469-9-4"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-5"
+         x="335.31775"
+         y="622.23511"
+         style="font-size:16px">Gamma Correction</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="351.16684"
+       y="700.34918"
+       id="text64469-9-0"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-3"
+         x="351.16684"
+         y="700.34918"
+         style="font-size:18.6667px">HDR Multiply</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="345.16684"
+       y="771.33112"
+       id="text64469-9-6"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-10"
+         x="345.16684"
+         y="771.33112"
+         style="font-size:18.6667px">Gamut Remap</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="412.5184"
+       y="836.04877"
+       id="text64469-9-63"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-20"
+         x="412.5184"
+         y="836.04877"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan
+         sodipodi:role="line"
+         x="412.5184"
+         y="859.38214"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle"
+         id="tspan222533">RAM</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="413.54086"
+       y="908.61554"
+       id="text64469-9-61"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-55"
+         x="413.54086"
+         y="908.61554"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan
+         sodipodi:role="line"
+         x="413.54086"
+         y="931.94891"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle"
+         id="tspan221121">RAM</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="344.0347"
+       y="985.33319"
+       id="text64469-9-47"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-65"
+         x="344.0347"
+         y="985.33319"
+         style="font-size:18.6667px">Blend Gamma</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="433.84625"
+       y="1223.411"
+       id="text64469-9-69"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-37"
+         x="433.84625"
+         y="1223.411"
+         style="font-size:18.6667px">Blender</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="343.73291"
+       y="1290.2421"
+       id="text64469-9-45"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-25"
+         x="343.73291"
+         y="1290.2421"
+         style="font-size:18.6667px">Gamut Remap</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="408.74442"
+       y="1344.2428"
+       id="text64469-9-474"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-4"
+         x="408.74442"
+         y="1344.2428"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan
+         sodipodi:role="line"
+         x="408.74442"
+         y="1367.5762"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle"
+         id="tspan208303">RAM</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="407.1257"
+       y="1420.2435"
+       id="text64469-9-30"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-786"
+         x="407.1257"
+         y="1420.2435"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan
+         sodipodi:role="line"
+         x="407.1257"
+         y="1443.5769"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle"
+         id="tspan204749">RAM</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="408.64996"
+       y="1492.8102"
+       id="text64469-9-8"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-84"
+         x="408.64996"
+         y="1492.8102"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan
+         sodipodi:role="line"
+         x="408.64996"
+         y="1516.1436"
+         style="font-size:18.6667px;text-align:center;text-anchor:middle"
+         id="tspan197733">RAM</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="385.46863"
+       y="1575.2261"
+       id="text64469-9-31"><tspan
+         sodipodi:role="line"
+         id="tspan64467-2-49"
+         x="385.46863"
+         y="1575.2261"
+         style="font-size:18.6667px">OCSC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1356.5106"
+       y="53.140579"
+       id="text273287"><tspan
+         sodipodi:role="line"
+         id="tspan273285"
+         x="1356.5106"
+         y="53.140579" /></text>
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1411"
+       width="177.28049"
+       height="38.940468"
+       x="1392.2576"
+       y="459.24118" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1411.7203"
+       y="485.93231"
+       id="text78841"><tspan
+         sodipodi:role="line"
+         id="tspan78839"
+         x="1411.7203"
+         y="485.93231"
+         style="font-size:18.6667px">color_encoding</tspan></text>
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect1515"
+       width="175.11876"
+       height="43.239407"
+       x="1393.7493"
+       y="525.6983" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1399.212"
+       y="553.44904"
+       id="text78845"><tspan
+         sodipodi:role="line"
+         id="tspan78843"
+         x="1399.212"
+         y="553.44904">pixel_blend_mode</tspan></text>
+    <rect
+       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       id="rect371322"
+       width="177.28049"
+       height="38.940468"
+       x="1391.6781"
+       y="385.61713" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+       x="1427.5771"
+       y="409.29523"
+       id="text78837"><tspan
+         sodipodi:role="line"
+         id="tspan78835"
+         x="1427.5771"
+         y="409.29523"
+         style="font-size:18.6667px">color_range</tspan></text>
+    <path
+       d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
+       id="path371636-7"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
+       id="path371636-7-2"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-7"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-22"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-6"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-1"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 404.2055,500.78482 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-0"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 402.6188,581.69367 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-61"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-5"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-9"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-4"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-90"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
+       id="path371636-7-91"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 407.9989,1311.6005 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.513 -3.575,-6.1779 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
+       id="path371636-7-77"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 407.9989,1381.5424 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
+       id="path371636-7-11"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+    <path
+       d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
+       id="path371636-7-59"
+       sodipodi:nodetypes="cccccc"
+       style="stroke-width:0.262672"
+       inkscape:transform-center-x="-416.72543"
+       inkscape:transform-center-y="-156.15191" />
+  </g>
+</svg>
diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst b/Documentation/gpu/amdgpu/display/display-manager.rst
index b1b0f11aed83..8960a5f1fa66 100644
--- a/Documentation/gpu/amdgpu/display/display-manager.rst
+++ b/Documentation/gpu/amdgpu/display/display-manager.rst
@@ -49,3 +49,38 @@ Color Management Properties
 
 .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
    :internal:
+
+
+DC Color Capabilities between DCN generations
+---------------------------------------------
+
+DRM/KMS framework defines three CRTC color correction properties: degamma,
+color transformation matrix (ctm) and gamma, and two properties for degamma and
+gamma lut sizes. AMD DC programs some of the color correction features
+pre-blending but DRM/KMS has not per-plane color correction properties.
+
+What's possible to do before and after blending has changed quite a bit between
+DCN generations as it depends on hardware color capabilities. DPP and MPC color
+correction caps are described below.
+
+.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h
+   :doc: color-management-caps
+
+.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h
+   :internal:
+
+In general, the DRM three properties are programed to DC, as follows: CRTC
+gamma after blending, and CRTC degamma pre-blending. Although CTM is programmed
+after blending, it is mapped to DPP hw blocks (pre-blending). Other color caps
+available in the hw is not currently exposed by DRM interface and are by
+passed.  To illustrate DCN generation capabilities and differences between
+them, you can compare the color management schemas for DCN 2.0 and DCN 3.0
+families below.
+
+**DCN 2.0 family color caps and mapping**
+
+.. kernel-figure:: dcn2_cm_drm_current.svg
+
+**DCN 3.0 family color caps and mapping**
+
+.. kernel-figure:: dcn3_cm_drm_current.svg
diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
index 7c42377f0aae..84275f3974c1 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -118,7 +118,26 @@ struct dc_plane_cap {
 	uint32_t min_height;
 };
 
-// Color management caps (DPP and MPC)
+/**
+ * DOC: color-management-caps
+ *
+ * **Color management caps (DPP and MPC)**
+ *
+ * Modules/color calculates various colour operations which are translated to
+ * abstracted HW. DCE 5-12 had almost no important changes, but starting with
+ * DCN1, every new generation comes with fairly major differences in color
+ * pipeline. Therefore, we abstract color pipe capabilities so modules/DM can
+ * decide mapping to HW block based on logical capabilities.
+ */
+
+/**
+ * struct rom_curve_caps - predefined transfer function caps for degamma and regamma
+ * @srgb: RGB color space transfer func
+ * @bt2020: BT.2020 transfer func
+ * @gamma2_2: standard gamma
+ * @pq: perceptual quantizer transfer function
+ * @hlg: hybrid log–gamma transfer function
+ */
 struct rom_curve_caps {
 	uint16_t srgb : 1;
 	uint16_t bt2020 : 1;
@@ -127,36 +146,65 @@ struct rom_curve_caps {
 	uint16_t hlg : 1;
 };
 
+/**
+ * struct dpp_color_caps - color pipeline capabilities for display pipe and
+ * plane blocks
+ *
+ * @dcn_arch: all DCE generations treated the same
+ * @input_lut_shared: shared with DGAM. Input lut is different than most LUTs,
+ * just plain 256-entry lookup
+ * @icsc: input color space conversion
+ * @post_csc: post color space conversion, before gamut remap
+ * @gamma_corr: degamma correction
+ * @hw_3d_lut: 3d lut support. It implies a shaper LUT before, it may be shared
+ * with MPC by setting mpc:shared_3d_lut flag
+ * @ogam_ram: blend gamma
+ * @ocsc: output color space conversion
+ * @dgam_rom_caps: caps for degamma
+ * @ogam_rom_caps: caps for regamma 1D lut
+ *
+ * Note: hdr_mult and gamut remap (ctm) are always available in DPP (in that order)
+ */
 struct dpp_color_caps {
-	uint16_t dcn_arch : 1; // all DCE generations treated the same
-	// input lut is different than most LUTs, just plain 256-entry lookup
-	uint16_t input_lut_shared : 1; // shared with DGAM
+	uint16_t dcn_arch : 1;
+	uint16_t input_lut_shared : 1;
 	uint16_t icsc : 1;
 	uint16_t dgam_ram : 1;
-	uint16_t post_csc : 1; // before gamut remap
+	uint16_t post_csc : 1;
 	uint16_t gamma_corr : 1;
-
-	// hdr_mult and gamut remap always available in DPP (in that order)
-	// 3d lut implies shaper LUT,
-	// it may be shared with MPC - check MPC:shared_3d_lut flag
 	uint16_t hw_3d_lut : 1;
-	uint16_t ogam_ram : 1; // blnd gam
+	uint16_t ogam_ram : 1;
 	uint16_t ocsc : 1;
 	uint16_t dgam_rom_for_yuv : 1;
 	struct rom_curve_caps dgam_rom_caps;
 	struct rom_curve_caps ogam_rom_caps;
 };
 
+/**
+ * struct mpc_color_caps - color pipeline capabilities for multiple pipe and
+ * plane combined blocks
+ *
+ * @gamut_remap: color transformation matrix
+ * @ocsc: output color space conversion matrix
+ * @num_3dluts: 3d lut, always assumes a preceding shaper LUT
+ * @shared_3d_lut: shared 3d lut flag, can be either DPP or MPC, but single
+ * instance
+ * @ogam_rom_caps: caps for regama 1d lut
+ */
 struct mpc_color_caps {
 	uint16_t gamut_remap : 1;
 	uint16_t ogam_ram : 1;
 	uint16_t ocsc : 1;
-	uint16_t num_3dluts : 3; //3d lut always assumes a preceding shaper LUT
-	uint16_t shared_3d_lut:1; //can be in either DPP or MPC, but single instance
-
+	uint16_t num_3dluts : 3;
+	uint16_t shared_3d_lut:1;
 	struct rom_curve_caps ogam_rom_caps;
 };
 
+/**
+ * struct dc_color_caps - color pipes capabilities for DPP and MPC hw blocks
+ * @dpp: color pipes caps for DPP
+ * @mpc: color pipes caps for MPC
+ */
 struct dc_color_caps {
 	struct dpp_color_caps dpp;
 	struct mpc_color_caps mpc;
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 3/4] drm/amd/display: add doc entries for MPC blending configuration
  2022-07-16 22:25 [PATCH 0/4] Documentation/amdgpu/display: describe color and blend mode properties mapping Melissa Wen
  2022-07-16 22:25 ` [PATCH 1/4] Documentation/amdgpu_dm: Add DM color correction documentation Melissa Wen
  2022-07-16 22:25 ` [PATCH 2/4] Documentation/amdgpu/display: add DC color caps info Melissa Wen
@ 2022-07-16 22:25 ` Melissa Wen
  2022-07-18  1:25   ` Tales Lelo da Aparecida
  2022-07-16 22:25 ` [PATCH 4/4] Documentation/gpu/amdgpu/amdgpu_dm: add DM docs for pixel blend mode Melissa Wen
  3 siblings, 1 reply; 16+ messages in thread
From: Melissa Wen @ 2022-07-16 22:25 UTC (permalink / raw)
  To: alexander.deucher, christian.koenig, Xinhui.Pan, harry.wentland,
	sunpeng.li, Rodrigo.Siqueira
  Cc: kernel-dev, dri-devel, nicholas.kazlauskas, amd-gfx, sungjoon.kim

Describe structs and enums used to set blend mode properties to MPC
blocks. Some pieces of information are already available as code
comments, and were just formatted. Others were collected and summarised
from discusssions on AMD issue tracker[1][2].

[1] https://gitlab.freedesktop.org/drm/amd/-/issues/1734
[2] https://gitlab.freedesktop.org/drm/amd/-/issues/1769

Signed-off-by: Melissa Wen <mwen@igalia.com>
---
 drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h | 91 +++++++++++++++++----
 1 file changed, 77 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h b/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
index 5097037e3962..cf28b841c42d 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
@@ -22,6 +22,16 @@
  *
  */
 
+/**
+ * DOC: mpc-overview
+ *
+ * Multiple Pipe/Plane Combined (MPC) is a component in the hardware pipeline
+ * that performs blending of multiple planes, using global and per-pixel alpha.
+ * It also performs post-blending color correction operations according to the
+ * hardware capabilities, such as color transformation matrix and gamma 1D and
+ * 3D LUT.
+ */
+
 #ifndef __DC_MPCC_H__
 #define __DC_MPCC_H__
 
@@ -48,14 +58,39 @@ enum mpcc_blend_mode {
 	MPCC_BLEND_MODE_TOP_BOT_BLENDING
 };
 
+/**
+ * enum mpcc_alpha_blend_mode - define the alpha blend mode regarding pixel
+ * alpha and plane alpha values
+ */
 enum mpcc_alpha_blend_mode {
+	/**
+	 * @MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA: per pixel alpha using DPP
+	 * alpha value
+	 */
 	MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA,
+	/**
+	 * @MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA_COMBINED_GLOBAL_GAIN: per
+	 * pixel alpha using DPP alpha value multiplied by a global gain (plane
+	 * alpha)
+	 */
 	MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA_COMBINED_GLOBAL_GAIN,
+	/**
+	 * @MPCC_ALPHA_BLEND_MODE_GLOBAL_ALPHA: global alpha value, ignores
+	 * pixel alpha and consider only plane alpha
+	 */
 	MPCC_ALPHA_BLEND_MODE_GLOBAL_ALPHA
 };
 
-/*
- * MPCC blending configuration
+/**
+ * struct mpcc_blnd_cfg - MPCC blending configuration
+ *
+ * @black_color: background color
+ * @alpha_mode: alpha blend mode (MPCC_ALPHA_BLND_MODE)
+ * @pre_multiplied_alpha: whether pixel color values were pre-multiplied by the
+ * alpha channel (MPCC_ALPHA_MULTIPLIED_MODE)
+ * @global_gain: used when blend mode considers both pixel alpha and plane
+ * alpha value and assumes the global alpha value.
+ * @global_alpha: plane alpha value
  */
 struct mpcc_blnd_cfg {
 	struct tg_color black_color;	/* background color */
@@ -107,8 +142,15 @@ struct mpc_dwb_flow_control {
 	int flow_ctrl_cnt1;
 };
 
-/*
- * MPCC connection and blending configuration for a single MPCC instance.
+/**
+ * struct mpcc - MPCC connection and blending configuration for a single MPCC instance.
+ * @mpcc_id: MPCC physical instance
+ * @dpp_id: DPP input to this MPCC
+ * @mpcc_bot: pointer to bottom layer MPCC. NULL when not connected.
+ * @blnd_cfg: the blending configuration for this MPCC
+ * @sm_cfg: stereo mix setting for this MPCC
+ * @shared_bottom: if MPCC output to both OPP and DWB endpoints, true. Othewise, false.
+ *
  * This struct is used as a node in an MPC tree.
  */
 struct mpcc {
@@ -120,8 +162,12 @@ struct mpcc {
 	bool shared_bottom;		/* TRUE if MPCC output to both OPP and DWB endpoints, else FALSE */
 };
 
-/*
- * MPC tree represents all MPCC connections for a pipe.
+/**
+ * struct mpc_tree - MPC tree represents all MPCC connections for a pipe.
+ *
+ * @opp_id: the OPP instance that owns this MPC tree
+ * @opp_list: the top MPCC layer of the MPC tree that outputs to OPP endpoint
+ *
  */
 struct mpc_tree {
 	int opp_id;			/* The OPP instance that owns this MPC tree */
@@ -149,13 +195,18 @@ struct mpcc_state {
 	uint32_t busy;
 };
 
+/**
+ * struct mpc_funcs - funcs
+ */
 struct mpc_funcs {
 	void (*read_mpcc_state)(
 			struct mpc *mpc,
 			int mpcc_inst,
 			struct mpcc_state *s);
 
-	/*
+	/**
+	 * @insert_plane:
+	 *
 	 * Insert DPP into MPC tree based on specified blending position.
 	 * Only used for planes that are part of blending chain for OPP output
 	 *
@@ -180,7 +231,9 @@ struct mpc_funcs {
 			int dpp_id,
 			int mpcc_id);
 
-	/*
+	/**
+	 * @remove_mpcc:
+	 *
 	 * Remove a specified MPCC from the MPC tree.
 	 *
 	 * Parameters:
@@ -195,7 +248,9 @@ struct mpc_funcs {
 			struct mpc_tree *tree,
 			struct mpcc *mpcc);
 
-	/*
+	/**
+	 * @mpc_init:
+	 *
 	 * Reset the MPCC HW status by disconnecting all muxes.
 	 *
 	 * Parameters:
@@ -208,7 +263,9 @@ struct mpc_funcs {
 			struct mpc *mpc,
 			unsigned int mpcc_id);
 
-	/*
+	/**
+	 * @update_blending:
+	 *
 	 * Update the blending configuration for a specified MPCC.
 	 *
 	 * Parameters:
@@ -223,7 +280,9 @@ struct mpc_funcs {
 		struct mpcc_blnd_cfg *blnd_cfg,
 		int mpcc_id);
 
-	/*
+	/**
+	 * @cursor_lock:
+	 *
 	 * Lock cursor updates for the specified OPP.
 	 * OPP defines the set of MPCC that are locked together for cursor.
 	 *
@@ -239,8 +298,10 @@ struct mpc_funcs {
 			int opp_id,
 			bool lock);
 
-	/*
-	 * Add DPP into 'secondary' MPC tree based on specified blending position.
+	/**
+	 * @insert_plane_to_secondary:
+	 *
+	 * Add DPP into secondary MPC tree based on specified blending position.
 	 * Only used for planes that are part of blending chain for DWB output
 	 *
 	 * Parameters:
@@ -264,7 +325,9 @@ struct mpc_funcs {
 			int dpp_id,
 			int mpcc_id);
 
-	/*
+	/**
+	 * @remove_mpcc_from_secondary:
+	 *
 	 * Remove a specified DPP from the 'secondary' MPC tree.
 	 *
 	 * Parameters:
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 4/4] Documentation/gpu/amdgpu/amdgpu_dm: add DM docs for pixel blend mode
  2022-07-16 22:25 [PATCH 0/4] Documentation/amdgpu/display: describe color and blend mode properties mapping Melissa Wen
                   ` (2 preceding siblings ...)
  2022-07-16 22:25 ` [PATCH 3/4] drm/amd/display: add doc entries for MPC blending configuration Melissa Wen
@ 2022-07-16 22:25 ` Melissa Wen
  2022-07-18  1:39   ` Tales Lelo da Aparecida
  3 siblings, 1 reply; 16+ messages in thread
From: Melissa Wen @ 2022-07-16 22:25 UTC (permalink / raw)
  To: alexander.deucher, christian.koenig, Xinhui.Pan, harry.wentland,
	sunpeng.li, Rodrigo.Siqueira
  Cc: kernel-dev, dri-devel, nicholas.kazlauskas, amd-gfx, sungjoon.kim

AMD GPU display manager (DM) maps DRM pixel blend modes (None,
Pre-multiplied, Coverage) to MPC hw blocks through blend configuration
options. Describe relevant elements and how to set and test them to get
the expected DRM blend mode on DCN hw.

Signed-off-by: Melissa Wen <mwen@igalia.com>
---
 .../gpu/amdgpu/display/display-manager.rst    | 98 +++++++++++++++++++
 Documentation/gpu/drm-kms.rst                 |  2 +
 2 files changed, 100 insertions(+)

diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst b/Documentation/gpu/amdgpu/display/display-manager.rst
index 8960a5f1fa66..7a495ed1f69e 100644
--- a/Documentation/gpu/amdgpu/display/display-manager.rst
+++ b/Documentation/gpu/amdgpu/display/display-manager.rst
@@ -84,3 +84,101 @@ families below.
 **DCN 3.0 family color caps and mapping**
 
 .. kernel-figure:: dcn3_cm_drm_current.svg
+
+Blend Mode Properties
+=====================
+
+Pixel blend mode is a DRM plane composition property of :c:type:`drm_plane` used to
+describes how pixels from a foreground plane (fg) are composited with the
+background plane (bg). Here, we present main concepts of DRM blend mode to help
+to understand how this property is mapped to AMD DC interface. See more about
+this DRM property and the alpha blending equations in :ref:`DRM Plane
+Composition Properties <plane_composition_properties>`.
+
+Basically, a blend mode sets the alpha blending equation for plane
+composition that fits the mode in which the alpha channel affects the state of
+pixel color values and, therefore, the resulted pixel color. For
+example, consider the following elements of the alpha blending equation:
+
+- *fg.rgb*: Each of the RGB component values from the foreground's pixel.
+- *fg.alpha*: Alpha component value from the foreground's pixel.
+- *bg.rgb*: Each of the RGB component values from the background.
+- *plane_alpha*: Plane alpha value set by the **plane "alpha" property**, see
+  more in `DRM Plane Composition Properties <plane_composition_properties>`.
+
+in the basic alpha blending equation::
+
+   out.rgb = alpha * fg.rgb + (1 - alpha) * bg.rgb
+
+the alpha channel value of each pixel in a plane is ignored and only the plane
+alpha affects the resulted pixel color values.
+
+DRM has three blend mode to define the blend formula in the plane composition:
+
+* **None**: Blend formula that ignores the pixel alpha.
+
+* **Pre-multiplied**: Blend formula that assumes the pixel color values in a
+  plane was already pre-multiplied by its own alpha channel before storage.
+
+* **Coverage**: Blend formula that assumes the pixel color values were not
+  pre-multiplied with the alpha channel values.
+
+and pre-multiplied is the default pixel blend mode, that means, when no blend
+mode property is created or defined, DRM considers the plane's pixels has
+pre-multiplied color values. On IGT GPU tools, the kms_plane_alpha_blend test
+provides a set of subtests to verify plane alpha and blend mode properties.
+
+The DRM blend mode and its elements are then mapped by AMDGPU display manager
+(DM) to program the blending configuration of the Multiple Pipe/Plane Combined
+(MPC), as follows:
+
+.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
+   :doc: mpc-overview
+
+.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
+   :functions: mpcc_blnd_cfg
+
+Therefore, the blending configuration for a single MPCC instance on the MPC
+tree is defined by :c:type:`mpcc_blnd_cfg`, where
+:c:type:`pre_multiplied_alpha` is the alpha pre-multiplied mode flag used to
+set :c:type:`MPCC_ALPHA_MULTIPLIED_MODE`. It controls whether alpha is
+multiplied (true/false), being only true for DRM pre-multiplied blend mode.
+:c:type:`mpcc_alpha_blend_mode` defines the alpha blend mode regarding pixel
+alpha and plane alpha values. It sets one of the three modes for
+:c:type:`MPCC_ALPHA_BLND_MODE`, as described below.
+
+.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
+   :functions: mpcc_alpha_blend_mode
+
+DM then maps the elements of `enum mpcc_alpha_blend_mode` to those in the DRM
+blend formula, as follows:
+
+* *MPC pixel alpha* matches *DRM fg.alpha* as the alpha component value
+  from the plane's pixel
+* *MPC global alpha* matches *DRM plane_alpha* when the pixel alpha should
+  be ignored and, therefore, pixel values are not pre-multiplied
+* *MPC global gain* assumes *MPC global alpha* value when both *DRM
+  fg.alpha* and *DRM plane_alpha* participate in the blend equation
+
+In short, *fg.alpha* is ignored by selecting
+:c:type:`MPCC_ALPHA_BLEND_MODE_GLOBAL_ALPHA`. On the other hand, (plane_alpha *
+fg.alpha) component becomes available by selecting
+:c:type:`MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA_COMBINED_GLOBAL_GAIN`. And the
+:c:type:`MPCC_ALPHA_MULTIPLIED_MODE` defines if the pixel color values are
+pre-multiplied by alpha or not.
+
+Blend configuration flow
+------------------------
+
+The alpha blending equation is configured from DRM to DC interface by the
+following path:
+
+1. When updating a :c:type:`drm_plane_state <drm_plane_state>`, DM calls
+   :c:type:`fill_blending_from_plane_state()` that maps
+   :c:type:`drm_plane_state <drm_plane_state>` attributes to
+   :c:type:`dc_plane_info <dc_plane_info>` struct to be handled in the
+   OS-agnostic component (DC).
+
+2. On DC interface, :c:type:`struct mpcc_blnd_cfg <mpcc_blnd_cfg>` programs the
+   MPCC blend configuration considering the :c:type:`dc_plane_info
+   <dc_plane_info>` input from DPP.
diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst
index d14bf1c35d7e..7ec9dbe18b65 100644
--- a/Documentation/gpu/drm-kms.rst
+++ b/Documentation/gpu/drm-kms.rst
@@ -532,6 +532,8 @@ Standard Plane Properties
 .. kernel-doc:: drivers/gpu/drm/drm_plane.c
    :doc: standard plane properties
 
+.. _plane_composition_properties:
+
 Plane Composition Properties
 ----------------------------
 
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/4] Documentation/amdgpu_dm: Add DM color correction documentation
  2022-07-16 22:25 ` [PATCH 1/4] Documentation/amdgpu_dm: Add DM color correction documentation Melissa Wen
@ 2022-07-17 22:03   ` Tales Lelo da Aparecida
  2022-07-20 22:54     ` Melissa Wen
  0 siblings, 1 reply; 16+ messages in thread
From: Tales Lelo da Aparecida @ 2022-07-17 22:03 UTC (permalink / raw)
  To: Melissa Wen
  Cc: sunpeng.li, Xinhui.Pan, Rodrigo.Siqueira, amd-gfx,
	christian.koenig, dri-devel, kernel-dev, alexander.deucher,
	harry.wentland, nicholas.kazlauskas, sungjoon.kim

On 16/07/2022 19:25, Melissa Wen wrote:
> AMDGPU DM maps DRM color management properties (degamma, ctm and gamma)
> to DC color correction entities. Part of this mapping is already
> documented as code comments and can be converted as kernel docs.
> 
> v2:
> - rebase to amd-staging-drm-next
> 
> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
> Signed-off-by: Melissa Wen <mwen@igalia.com>
> ---
>   .../gpu/amdgpu/display/display-manager.rst    |   9 ++
>   .../amd/display/amdgpu_dm/amdgpu_dm_color.c   | 121 +++++++++++++-----
>   2 files changed, 98 insertions(+), 32 deletions(-)
> 
> diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst b/Documentation/gpu/amdgpu/display/display-manager.rst
> index 7ce31f89d9a0..b1b0f11aed83 100644
> --- a/Documentation/gpu/amdgpu/display/display-manager.rst
> +++ b/Documentation/gpu/amdgpu/display/display-manager.rst
> @@ -40,3 +40,12 @@ Atomic Implementation
>   
>   .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>      :functions: amdgpu_dm_atomic_check amdgpu_dm_atomic_commit_tail
> +
> +Color Management Properties
> +===========================
> +
> +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> +   :doc: overview
> +
> +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> +   :internal:
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> index a71177305bcd..93c813089bff 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> @@ -29,7 +29,9 @@
>   #include "modules/color/color_gamma.h"
>   #include "basics/conversion.h"
>   
> -/*
> +/**
> + * DOC: overview
> + *
>    * The DC interface to HW gives us the following color management blocks
>    * per pipe (surface):
>    *
> @@ -71,8 +73,8 @@
>   
>   #define MAX_DRM_LUT_VALUE 0xFFFF
>   
> -/*
> - * Initialize the color module.
> +/**
> + * amdgpu_dm_init_color_mod - Initialize the color module.
>    *
>    * We're not using the full color module, only certain components.
>    * Only call setup functions for components that we need.
> @@ -82,7 +84,14 @@ void amdgpu_dm_init_color_mod(void)
>   	setup_x_points_distribution();
>   }
>   
> -/* Extracts the DRM lut and lut size from a blob. */
> +/**
> + * __extract_blob_lut - Extracts the DRM lut and lut size from a blob.
> + * @blob: DRM color mgmt property blob
> + * @size: lut size
> + *
> + * Returns:
> + * DRM LUT or NULL
> + */
>   static const struct drm_color_lut *
>   __extract_blob_lut(const struct drm_property_blob *blob, uint32_t *size)
>   {
> @@ -90,13 +99,18 @@ __extract_blob_lut(const struct drm_property_blob *blob, uint32_t *size)
>   	return blob ? (struct drm_color_lut *)blob->data : NULL;
>   }

I don't think everyone would approve using actual kernel-doc for these 
static functions, but I can appreciate they being formatted as such.
Consider replacing /** with /*.

> -/*
> - * Return true if the given lut is a linear mapping of values, i.e. it acts
> - * like a bypass LUT.
> +/**
> + * __is_lut_linear - check if the given lut is a linear mapping of values
> + * @lut: given lut to check values
> + * @size: lut size
>    *
>    * It is considered linear if the lut represents:
> - * f(a) = (0xFF00/MAX_COLOR_LUT_ENTRIES-1)a; for integer a in
> - *                                           [0, MAX_COLOR_LUT_ENTRIES)
> + * f(a) = (0xFF00/MAX_COLOR_LUT_ENTRIES-1)a; for integer a in [0,
> + * MAX_COLOR_LUT_ENTRIES)
> + *
> + * Returns:
> + * True if the given lut is a linear mapping of values, i.e. it acts like a
> + * bypass LUT. Otherwise, false.
>    */
>   static bool __is_lut_linear(const struct drm_color_lut *lut, uint32_t size)
>   {
> @@ -119,9 +133,13 @@ static bool __is_lut_linear(const struct drm_color_lut *lut, uint32_t size)
>   	return true;
>   }
>   
> -/*
> - * Convert the drm_color_lut to dc_gamma. The conversion depends on the size
> - * of the lut - whether or not it's legacy.
> +/**
> + * __drm_lut_to_dc_gamma - convert the drm_color_lut to dc_gamma.
> + * @lut: DRM lookup table for color conversion
> + * @gamma: DC gamma to set entries
> + * @is_legacy: legacy or atomic gamma
> + *
> + * The conversion depends on the size of the lut - whether or not it's legacy.
>    */
>   static void __drm_lut_to_dc_gamma(const struct drm_color_lut *lut,
>   				  struct dc_gamma *gamma, bool is_legacy)
> @@ -154,8 +172,11 @@ static void __drm_lut_to_dc_gamma(const struct drm_color_lut *lut,
>   	}
>   }
>   
> -/*
> - * Converts a DRM CTM to a DC CSC float matrix.
> +/**
> + * __drm_ctm_to_dc_matrix - converts a DRM CTM to a DC CSC float matrix
> + * @ctm: DRM color transformation matrix
> + * @matrix: DC CSC float matrix
> + *
>    * The matrix needs to be a 3x4 (12 entry) matrix.
>    */
>   static void __drm_ctm_to_dc_matrix(const struct drm_color_ctm *ctm,
> @@ -189,7 +210,18 @@ static void __drm_ctm_to_dc_matrix(const struct drm_color_ctm *ctm,
>   	}
>   }
>   
> -/* Calculates the legacy transfer function - only for sRGB input space. */
> +/**
> + * __set_legacy_tf - Calculates the legacy transfer function
> + * @func: transfer function
> + * @lut: lookup table that defines the color space
> + * @lut_size: size of respective lut
> + * @has_rom: if ROM can be used for hardcoded curve
> + *
> + * Only for sRGB input space
> + *
> + * Returns:
> + * 0 in case of sucess, -ENOMEM if fails

Typo sucess -> success

> + */
>   static int __set_legacy_tf(struct dc_transfer_func *func,
>   			   const struct drm_color_lut *lut, uint32_t lut_size,
>   			   bool has_rom)
> @@ -218,7 +250,16 @@ static int __set_legacy_tf(struct dc_transfer_func *func,
>   	return res ? 0 : -ENOMEM;
>   }
>   
> -/* Calculates the output transfer function based on expected input space. */
> +/**
> + * __set_output_tf - calculates the output transfer function based on expected input space.
> + * @func: transfer function
> + * @lut: lookup table that defines the color space
> + * @lut_size: size of respective lut
> + * @has_rom: if ROM can be used for hardcoded curve
> + *
> + * Returns:
> + * 0 in case of success. -ENOMEM if fails.
> + */
>   static int __set_output_tf(struct dc_transfer_func *func,
>   			   const struct drm_color_lut *lut, uint32_t lut_size,
>   			   bool has_rom)
> @@ -239,7 +280,7 @@ static int __set_output_tf(struct dc_transfer_func *func,
>   	__drm_lut_to_dc_gamma(lut, gamma, false);
>   
>   	if (func->tf == TRANSFER_FUNCTION_LINEAR) {
> -		/*
> +		/**

I don't think kernel-doc should be used inside functions, as well,
maybe keep the "/*" from before. This occurs in more places in this 
patch, remember to replace them as well, if you concur.

>   		 * Color module doesn't like calculating regamma params
>   		 * on top of a linear input. But degamma params can be used
>   		 * instead to simulate this.
> @@ -262,7 +303,16 @@ static int __set_output_tf(struct dc_transfer_func *func,
>   	return res ? 0 : -ENOMEM;
>   }
>   
> -/* Caculates the input transfer function based on expected input space. */
> +/**
> + * __set_input_tf - calculates the input transfer function based on expected
> + * input space.
> + * @func: transfer function
> + * @lut: lookup table that defines the color space
> + * @lut_size: size of respective lut.
> + *
> + * Returns:
> + * 0 in case of success. -ENOMEM if fails.
> + */
>   static int __set_input_tf(struct dc_transfer_func *func,
>   			  const struct drm_color_lut *lut, uint32_t lut_size)
>   {
> @@ -285,13 +335,15 @@ static int __set_input_tf(struct dc_transfer_func *func,
>   }
>   
>   /**
> - * amdgpu_dm_verify_lut_sizes
> + * amdgpu_dm_verify_lut_sizes - verifies if DRM luts match the hw supported sizes
>    * @crtc_state: the DRM CRTC state
>    *
> - * Verifies that the Degamma and Gamma LUTs attached to the |crtc_state| are of
> - * the expected size.
> + * Verifies that the Degamma and Gamma LUTs attached to the &crtc_state
> + * are of the expected size.
>    *
> - * Returns 0 on success.
> + * Returns:
> + * 0 on success.
> + * -EINVAL if any lut sizes are invalid.

I don't know if you expect this to be rendered in two lines, given that 
you wrote something equivalent in a single line in other docstrings 
above, but if you do, use instead:
```
* * 0 on success.
* * -EINVAL if any lut sizes are invalid.
```
As described at: 
https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#return-values

>    */
>   int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
>   {
> @@ -327,9 +379,9 @@ int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
>    * of the HW blocks as long as the CRTC CTM always comes before the
>    * CRTC RGM and after the CRTC DGM.
>    *
> - * The CRTC RGM block will be placed in the RGM LUT block if it is non-linear.
> - * The CRTC DGM block will be placed in the DGM LUT block if it is non-linear.
> - * The CRTC CTM will be placed in the gamut remap block if it is non-linear.
> + * * The CRTC RGM block will be placed in the RGM LUT block if it is non-linear.
> + * * The CRTC DGM block will be placed in the DGM LUT block if it is non-linear.
> + * * The CRTC CTM will be placed in the gamut remap block if it is non-linear.
>    *
>    * The RGM block is typically more fully featured and accurate across
>    * all ASICs - DCE can't support a custom non-linear CRTC DGM.
> @@ -338,7 +390,9 @@ int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
>    * management at once we have to either restrict the usage of CRTC properties
>    * or blend adjustments together.
>    *
> - * Returns 0 on success.
> + * Returns:
> + * 0 on success.
> + * Error code if setup fails.
>    */
>   int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>   {
> @@ -373,7 +427,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>   
>   	/* Setup regamma and degamma. */
>   	if (is_legacy) {
> -		/*
> +		/**
>   		 * Legacy regamma forces us to use the sRGB RGM as a base.
>   		 * This also means we can't use linear DGM since DGM needs
>   		 * to use sRGB as a base as well, resulting in incorrect CRTC
> @@ -393,7 +447,8 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>   		if (r)
>   			return r;
>   	} else if (has_regamma) {
> -		/* CRTC RGM goes into RGM LUT. */
> +		/**
> +		 * If atomic regamma, CRTC RGM goes into RGM LUT. */
>   		stream->out_transfer_func->type = TF_TYPE_DISTRIBUTED_POINTS;
>   		stream->out_transfer_func->tf = TRANSFER_FUNCTION_LINEAR;
>   
> @@ -402,7 +457,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>   		if (r)
>   			return r;
>   	} else {
> -		/*
> +		/**
>   		 * No CRTC RGM means we can just put the block into bypass
>   		 * since we don't have any plane level adjustments using it.
>   		 */
> @@ -410,7 +465,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>   		stream->out_transfer_func->tf = TRANSFER_FUNCTION_LINEAR;
>   	}
>   
> -	/*
> +	/**
>   	 * CRTC DGM goes into DGM LUT. It would be nice to place it
>   	 * into the RGM since it's a more featured block but we'd
>   	 * have to place the CTM in the OCSC in that case.
> @@ -421,7 +476,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>   	if (crtc->base.ctm) {
>   		ctm = (struct drm_color_ctm *)crtc->base.ctm->data;
>   
> -		/*
> +		/**
>   		 * Gamut remapping must be used for gamma correction
>   		 * since it comes before the regamma correction.
>   		 *
> @@ -452,7 +507,9 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>    * preparation for hardware commit. The transfer function used depends on
>    * the prepartion done on the stream for color management.

Could you fix this typo while you are here? prepartion -> preparation

>    *
> - * Returns 0 on success.
> + * Returns:
> + * 0 on success.
> + * ENOMEM if mem allocation fails.
>    */
>   int amdgpu_dm_update_plane_color_mgmt(struct dm_crtc_state *crtc,
>   				      struct dc_plane_state *dc_plane_state)

Thanks for creating more documentation!

Kind regards,
Tales

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/4] Documentation/amdgpu/display: add DC color caps info
  2022-07-16 22:25 ` [PATCH 2/4] Documentation/amdgpu/display: add DC color caps info Melissa Wen
@ 2022-07-17 23:28   ` Tales Lelo da Aparecida
  2022-07-20 21:39     ` Melissa Wen
  2022-07-27 21:21     ` Rodrigo Siqueira Jordao
  0 siblings, 2 replies; 16+ messages in thread
From: Tales Lelo da Aparecida @ 2022-07-17 23:28 UTC (permalink / raw)
  To: Melissa Wen
  Cc: sunpeng.li, Xinhui.Pan, Rodrigo.Siqueira, dri-devel,
	nicholas.kazlauskas, amd-gfx, kernel-dev, alexander.deucher,
	harry.wentland, christian.koenig, sungjoon.kim

On 16/07/2022 19:25, Melissa Wen wrote:
> Add details about color correction capabilities and explain a bit about
> differences between DC hw generations and also how they are mapped
> between DRM and DC interface. Two schemas for DCN 2.0 and 3.0 (converted
> to svg from the original png) is included to illustrate it. They were
> obtained from a discussion[1] in the amd-gfx mailing list.
> 
> [1] https://lore.kernel.org/amd-gfx/20220422142811.dm6vtk6v64jcwydk@mail.igalia.com/
> 
> v2:
> 
> - remove redundant comments (Harry)
> - fix typo (Harry)
> 
> Signed-off-by: Melissa Wen <mwen@igalia.com>
> ---
>   .../amdgpu/display/dcn2_cm_drm_current.svg    | 1370 +++++++++++++++
>   .../amdgpu/display/dcn3_cm_drm_current.svg    | 1529 +++++++++++++++++
>   .../gpu/amdgpu/display/display-manager.rst    |   35 +
>   drivers/gpu/drm/amd/display/dc/dc.h           |   74 +-
>   4 files changed, 2995 insertions(+), 13 deletions(-)
>   create mode 100644 Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
>   create mode 100644 Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
> 
> diff --git a/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg b/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
> new file mode 100644
> index 000000000000..315ffc5a1a4b
> --- /dev/null
> +++ b/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
> @@ -0,0 +1,1370 @@
> +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
> +<!-- Created with Inkscape (http://www.inkscape.org/) -->
> +
> +<svg
> +   version="1.1"
> +   id="svg2019"
> +   width="1702"
> +   height="1845"
> +   viewBox="0 0 1702 1845"
> +   sodipodi:docname="dcn2_cm_drm_current.svg"
> +   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
> +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
> +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
> +   xmlns="http://www.w3.org/2000/svg"
> +   xmlns:svg="http://www.w3.org/2000/svg">
> +  <defs
> +     id="defs2023" />
> +  <sodipodi:namedview
> +     id="namedview2021"
> +     pagecolor="#ffffff"
> +     bordercolor="#666666"
> +     borderopacity="1.0"
> +     inkscape:pageshadow="2"
> +     inkscape:pageopacity="0.0"
> +     inkscape:pagecheckerboard="0"
> +     showgrid="false"
> +     inkscape:zoom="0.56413987"
> +     inkscape:cx="1003.2973"
> +     inkscape:cy="691.31792"
> +     inkscape:window-width="1920"
> +     inkscape:window-height="1011"
> +     inkscape:window-x="0"
> +     inkscape:window-y="0"
> +     inkscape:window-maximized="1"
> +     inkscape:current-layer="g2025" />
> +  <g
> +     inkscape:groupmode="layer"
> +     inkscape:label="Image"
> +     id="g2025">
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> +       id="rect34"
> +       width="208.83351"
> +       height="486.09872"
> +       x="0.90158081"
> +       y="132.77872" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1019"
> +       width="126.38867"
> +       height="55.320732"
> +       x="25.960823"
> +       y="188.06937" />
> +    <rect
> +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1021"
> +       width="126.38867"
> +       height="55.320732"
> +       x="25.960823"
> +       y="346.06937" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1103"
> +       width="126.38867"
> +       height="55.320732"
> +       x="25.960823"
> +       y="266.06937" />
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1105"
> +       width="126.38867"
> +       height="55.320732"
> +       x="25.960823"
> +       y="426.06937" />
> +    <rect
> +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1107"
> +       width="126.38867"
> +       height="55.320732"
> +       x="25.960823"
> +       y="506.06934" />
> +    <path
> +       d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
> +       id="path381056"
> +       sodipodi:nodetypes="cccccccccc"
> +       style="stroke-width:0.205176"
> +       inkscape:transform-center-x="-325.50819"
> +       inkscape:transform-center-y="-121.97185" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> +       id="rect1131"
> +       width="239.47592"
> +       height="1015.9909"
> +       x="298.65631"
> +       y="82.399658" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1"
> +       id="rect1133"
> +       width="340.44653"
> +       height="525.77448"
> +       x="298.79562"
> +       y="1142.5299" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> +       id="rect1237"
> +       width="284.00113"
> +       height="945.41412"
> +       x="827.75012"
> +       y="82.880798"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> +       id="rect1239"
> +       width="239.37569"
> +       height="179.03308"
> +       x="1356.9507"
> +       y="98.758331" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1"
> +       id="rect1241"
> +       width="239.4184"
> +       height="713.64905"
> +       x="1356.9543"
> +       y="307.7951"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> +       id="rect1345"
> +       width="330.32059"
> +       height="409.44757"
> +       x="1363.8723"
> +       y="1147.7572" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> +       id="rect1347"
> +       width="369.8941"
> +       height="682.32245"
> +       x="825.72528"
> +       y="1146.6448"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1349"
> +       width="163.95746"
> +       height="40.144867"
> +       x="1389.9988"
> +       y="190.80583" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1"
> +       id="rect1619"
> +       width="271.99091"
> +       height="42.038273"
> +       x="1393.981"
> +       y="1197.161"
> +       inkscape:connector-avoid="true" />
> +    <path
> +       d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
> +       id="path106-1"
> +       sodipodi:nodetypes="cccccccccc"
> +       style="stroke-width:0.205176"
> +       inkscape:transform-center-x="-325.50819"
> +       inkscape:transform-center-y="-121.97185" />
> +    <path
> +       d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
> +       id="path106-1-7"
> +       sodipodi:nodetypes="cccccccccc"
> +       style="stroke-width:0.205176"
> +       inkscape:transform-center-x="-325.50819"
> +       inkscape:transform-center-y="-121.97185" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1623"
> +       width="137.32646"
> +       height="41.782684"
> +       x="1396.3848"
> +       y="1268.2837"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1705"
> +       width="137.32646"
> +       height="41.782684"
> +       x="1396.3848"
> +       y="1348.2837" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1707"
> +       width="137.32646"
> +       height="41.782684"
> +       x="1396.3848"
> +       y="1432.2837" />
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1731"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="190.42665"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1813"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="254.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1815"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="318.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1817"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="412.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1819"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="560.42664" />
> +    <rect
> +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1821"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="674.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1823"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="744.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1825"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="820.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1827"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="890.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1829"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="956.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1831"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1256.4268" />
> +    <rect
> +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1833"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1402.4268" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1915"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1330.4268"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1917"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1478.4268" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1919"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1548.4268" />
> +    <rect
> +       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1921"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1614.4268" />
> +    <rect
> +       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1923"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1686.4268" />
> +    <rect
> +       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1925"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1754.4268" />
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> +       id="rect1925-3"
> +       width="169.23357"
> +       height="44.678963"
> +       x="325.21747"
> +       y="134.37756" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> +       id="rect1954"
> +       width="169.23357"
> +       height="44.678963"
> +       x="325.21747"
> +       y="276.37756"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
> +       id="rect1956"
> +       width="168.66573"
> +       height="122.14091"
> +       x="325.50134"
> +       y="358.6615"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> +       id="rect1958"
> +       width="169.23357"
> +       height="44.678963"
> +       x="325.21747"
> +       y="672.37756" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> +       id="rect1960"
> +       width="169.23357"
> +       height="44.678963"
> +       x="325.21747"
> +       y="744.37756" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> +       id="rect1962"
> +       width="169.14041"
> +       height="54.756817"
> +       x="325.26404"
> +       y="814.42413"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> +       id="rect1964"
> +       width="169.14041"
> +       height="54.756817"
> +       x="325.26404"
> +       y="886.42413"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> +       id="rect1966"
> +       width="169.14041"
> +       height="54.756817"
> +       x="325.26404"
> +       y="952.42413"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1"
> +       id="rect2428"
> +       width="169.0854"
> +       height="61.19017"
> +       x="325.29156"
> +       y="1468.4518" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1"
> +       id="rect2430"
> +       width="169.26669"
> +       height="41.344128"
> +       x="325.20093"
> +       y="1550.3611" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1"
> +       id="rect2432"
> +       width="287.86237"
> +       height="44.416805"
> +       x="325.34854"
> +       y="1194.5088" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1"
> +       id="rect2434"
> +       width="285.86655"
> +       height="44.4207"
> +       x="867.34656"
> +       y="1194.5068" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2509" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2511" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2513" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2515" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2517" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2519" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2521" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2523" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2525" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2527" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2529" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2531" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 442.80064,179.02883 0.91401,36.01283 423.64827,-2.29193"
> +       id="path6876"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1925-3"
> +       inkscape:connection-end="#rect1731"
> +       sodipodi:nodetypes="ccc" />
> +    <path
> +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 494.45103,156.71704 205.18886,-0.43622 0.59548,162.1112 167.12755,0.0346"
> +       id="path6878"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1925-3"
> +       sodipodi:nodetypes="cccc" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 447.83425,321.05653 v 19.69319 h 419.52867"
> +       id="path7294"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1954"
> +       inkscape:connection-end="#rect1815"
> +       sodipodi:nodetypes="ccc" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292"
> +       id="path7296"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-end="#rect1817"
> +       inkscape:connection-start="#rect1954"
> +       sodipodi:nodetypes="cccc" />
> +    <path
> +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 867.36292,560.42664 -422.77356,1.33638 0.45008,-79.26417"
> +       id="path7720"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       sodipodi:nodetypes="ccc" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 494.45103,696.74972 H 867.36292"
> +       id="path7726"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1958"
> +       inkscape:connection-end="#rect1821" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 867.36292,766.74972 H 494.45103"
> +       id="path7728"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1823"
> +       inkscape:connection-end="#rect1960" />
> +    <path
> +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292"
> +       id="path7730"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-end="#rect1831"
> +       sodipodi:nodetypes="cccc" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874"
> +       id="path8140"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1962"
> +       inkscape:connection-end="#rect1825" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874"
> +       id="path8142"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1964"
> +       inkscape:connection-end="#rect1827" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874"
> +       id="path8144"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1966"
> +       inkscape:connection-end="#rect1829" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 494.37697,1500.7498 H 867.36292"
> +       id="path8150"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect2428"
> +       inkscape:connection-end="#rect1917" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 494.46762,1570.7498 h 372.8953"
> +       id="path8152"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect2430"
> +       inkscape:connection-end="#rect1919" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368"
> +       id="path8154"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1623"
> +       inkscape:connection-end="#rect1819" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 1396.3848,1369.175 -159.2837,-1.364 0.5816,-88.2579 -147.975,-0.8033"
> +       id="path8462"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1705"
> +       inkscape:connection-end="#rect1831"
> +       sodipodi:nodetypes="cccc" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 1089.7077,1500.7498 h 375.3403 v -26.6834"
> +       id="path8668"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1917"
> +       inkscape:connection-end="#rect1707" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 1389.9988,212.74973 H 1089.7077"
> +       id="path8672"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1349"
> +       inkscape:connection-end="#rect1731" />
> +    <path
> +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233"
> +       id="path8674"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-end="#rect1815"
> +       sodipodi:nodetypes="cccc" />
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="58.63356"
> +       y="69.574417"
> +       id="text28675"><tspan
> +         sodipodi:role="line"
> +         id="tspan28673"
> +         x="58.63356"
> +         y="69.574417" /></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="56.388252"
> +       y="221.86568"
> +       id="text31913"><tspan
> +         sodipodi:role="line"
> +         id="tspan31911"
> +         x="56.388252"
> +         y="221.86568">Matrix</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="53.441296"
> +       y="300.866"
> +       id="text38843"><tspan
> +         sodipodi:role="line"
> +         id="tspan38841"
> +         x="53.441296"
> +         y="300.866">1D LUT</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="53.441296"
> +       y="378.866"
> +       id="text41049"><tspan
> +         sodipodi:role="line"
> +         id="tspan41047"
> +         x="53.441296"
> +         y="378.866">3D LUT</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="40.831493"
> +       y="460.87411"
> +       id="text45037"><tspan
> +         sodipodi:role="line"
> +         id="tspan45035"
> +         x="40.831493"
> +         y="460.87411"
> +         style="font-size:18.6667px">Unpacking</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="62.130371"
> +       y="540.68872"
> +       id="text49945"><tspan
> +         sodipodi:role="line"
> +         id="tspan49943"
> +         x="62.130371"
> +         y="540.68872"
> +         style="font-size:18.6667px">Other</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1423.2806"
> +       y="128.08769"
> +       id="text55719"><tspan
> +         sodipodi:role="line"
> +         id="tspan55717"
> +         x="1423.2806"
> +         y="128.08769"
> +         style="font-size:18.6667px">drm_framebuffer</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1439.9988"
> +       y="218.74973"
> +       id="text62479"><tspan
> +         sodipodi:role="line"
> +         id="tspan62477"
> +         x="1439.9988"
> +         y="218.74973"
> +         style="font-size:18.6667px">format</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1475.2806"
> +       y="340.08771"
> +       id="text64465"><tspan
> +         sodipodi:role="line"
> +         id="tspan64463"
> +         x="1475.2806"
> +         y="340.08771"
> +         style="font-size:18.6667px">drm_plane</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1589.2806"
> +       y="1178.0876"
> +       id="text64469"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467"
> +         x="1589.2806"
> +         y="1178.0876"
> +         style="font-size:18.6667px">drm_crtc</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="872.23993"
> +       y="1172.4491"
> +       id="text64469-9"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2"
> +         x="872.23993"
> +         y="1172.4491"
> +         style="font-size:18.6667px">Stream</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="328.26071"
> +       y="1175.6371"
> +       id="text64469-9-2"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-8"
> +         x="328.26071"
> +         y="1175.6371"
> +         style="font-size:18.6667px">MPC</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="330.14737"
> +       y="114.41869"
> +       id="text64469-9-9"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-7"
> +         x="330.14737"
> +         y="114.41869"
> +         style="font-size:18.6667px">DPP</tspan></text>
> +    <path
> +       d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
> +       id="path106"
> +       sodipodi:nodetypes="cccccccccc"
> +       style="stroke-width:0.205176"
> +       inkscape:transform-center-x="-325.50819"
> +       inkscape:transform-center-y="-121.97185" />
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1495.9988"
> +       y="1224.7498"
> +       id="text78849"><tspan
> +         sodipodi:role="line"
> +         id="tspan78847"
> +         x="1495.9988"
> +         y="1224.7498"
> +         style="font-size:18.6667px">Blender</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1417.9988"
> +       y="1294.7498"
> +       id="text78853"><tspan
> +         sodipodi:role="line"
> +         id="tspan78851"
> +         x="1417.9988"
> +         y="1294.7498"
> +         style="font-size:18.6667px">Degamma</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1451.9988"
> +       y="1376.7498"
> +       id="text78857"><tspan
> +         sodipodi:role="line"
> +         id="tspan78855"
> +         x="1451.9988"
> +         y="1376.7498"
> +         style="font-size:18.6667px">CTM</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1427.9988"
> +       y="1458.7498"
> +       id="text78861"><tspan
> +         sodipodi:role="line"
> +         id="tspan78859"
> +         x="1427.9988"
> +         y="1458.7498"
> +         style="font-size:18.6667px">Gamma</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="949.99878"
> +       y="218.74973"
> +       id="text104653"><tspan
> +         sodipodi:role="line"
> +         id="tspan104651"
> +         x="949.99878"
> +         y="218.74973"
> +         style="font-size:18.6667px">format</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="911.99878"
> +       y="284.74973"
> +       id="text104657"><tspan
> +         sodipodi:role="line"
> +         id="tspan104655"
> +         x="911.99878"
> +         y="284.74973"
> +         style="font-size:18.6667px">bias_and_scale</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="887.99878"
> +       y="346.74973"
> +       id="text104661"><tspan
> +         sodipodi:role="line"
> +         id="tspan104659"
> +         x="887.99878"
> +         y="346.74973"
> +         style="font-size:18.6667px">color space matrix</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="871.99878"
> +       y="442.74973"
> +       id="text104665"><tspan
> +         sodipodi:role="line"
> +         id="tspan104663"
> +         x="871.99878"
> +         y="442.74973"
> +         style="font-size:18.6667px">input_csc_color_matrix</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="905.99878"
> +       y="586.74976"
> +       id="text125075"><tspan
> +         sodipodi:role="line"
> +         id="tspan125073"
> +         x="905.99878"
> +         y="586.74976"
> +         style="font-size:18.6667px">in_transfer_func</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="945.0083"
> +       y="702.85938"
> +       id="text117309"><tspan
> +         sodipodi:role="line"
> +         id="tspan117307"
> +         x="945.0083"
> +         y="702.85938"
> +         style="font-size:18.6667px">hdr_mult</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="874.5556"
> +       y="773.42615"
> +       id="text117309-6"><tspan
> +         sodipodi:role="line"
> +         id="tspan117307-7"
> +         x="874.5556"
> +         y="773.42615"
> +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="913.72528"
> +       y="846.55896"
> +       id="text117309-5"><tspan
> +         sodipodi:role="line"
> +         id="tspan117307-3"
> +         x="913.72528"
> +         y="846.55896"
> +         style="font-size:18.6667px">in_shaper_func</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="937.72528"
> +       y="918.25787"
> +       id="text117309-56"><tspan
> +         sodipodi:role="line"
> +         id="tspan117307-2"
> +         x="937.72528"
> +         y="918.25787"
> +         style="font-size:18.6667px">lut3d_func</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="945.9895"
> +       y="986.10767"
> +       id="text117309-9"><tspan
> +         sodipodi:role="line"
> +         id="tspan117307-1"
> +         x="945.9895"
> +         y="986.10767"
> +         style="font-size:18.6667px">blend_tf</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="975.91803"
> +       y="1224.5564"
> +       id="text137434"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432"
> +         x="975.91803"
> +         y="1224.5564"
> +         style="font-size:18.6667px">Blender</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="879.31372"
> +       y="1283.4249"
> +       id="text137434-2"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-7"
> +         x="879.31372"
> +         y="1283.4249"
> +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="925.31372"
> +       y="1359.2747"
> +       id="text137434-0"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-9"
> +         x="925.31372"
> +         y="1359.2747"
> +         style="font-size:18.6667px">func_shaper</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="930.33252"
> +       y="1430.2566"
> +       id="text137434-3"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-6"
> +         x="930.33252"
> +         y="1430.2566"
> +         style="font-size:18.6667px">lut3d_func</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="900.18158"
> +       y="1504.6725"
> +       id="text137434-06"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-2"
> +         x="900.18158"
> +         y="1504.6725"
> +         style="font-size:18.6667px">out_transfer_func</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="904.0307"
> +       y="1575.8053"
> +       id="text137434-6"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-1"
> +         x="904.0307"
> +         y="1575.8053"
> +         style="font-size:18.6667px">csc_color_matrix</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="903.16278"
> +       y="1642.1078"
> +       id="text137434-8"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-79"
> +         x="903.16278"
> +         y="1642.1078"
> +         style="font-size:18.6667px">bit_depth_param</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="939.31372"
> +       y="1713.8068"
> +       id="text137434-20"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-23"
> +         x="939.31372"
> +         y="1713.8068"
> +         style="font-size:18.6667px">clamping</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="894.0307"
> +       y="1782.5244"
> +       id="text137434-7"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-5"
> +         x="894.0307"
> +         y="1782.5244"
> +         style="font-size:18.6667px">output_color_space</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="869.63062"
> +       y="117.7968"
> +       id="text176429"><tspan
> +         sodipodi:role="line"
> +         id="tspan176427"
> +         x="869.63062"
> +         y="117.7968"
> +         style="font-size:18.6667px">Plane</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="27.605465"
> +       y="162.20587"
> +       id="text176429-2"><tspan
> +         sodipodi:role="line"
> +         id="tspan176427-0"
> +         x="27.605465"
> +         y="162.20587"
> +         style="font-size:18.6667px">Legend</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="298.63959"
> +       y="59.293999"
> +       id="text176429-9"><tspan
> +         sodipodi:role="line"
> +         id="tspan176427-2"
> +         x="298.63959"
> +         y="59.293999"
> +         style="font-size:18.6667px">DCN 2.0</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="826.65735"
> +       y="59.458061"
> +       id="text176429-66"><tspan
> +         sodipodi:role="line"
> +         id="tspan176427-4"
> +         x="826.65735"
> +         y="59.458061"
> +         style="font-size:18.6667px">DC Interface</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1362.9948"
> +       y="59.458061"
> +       id="text176429-95"><tspan
> +         sodipodi:role="line"
> +         id="tspan176427-04"
> +         x="1362.9948"
> +         y="59.458061"
> +         style="font-size:18.6667px">DRM Interface</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="867.34656"
> +       y="1194.5068"
> +       id="text184728"><tspan
> +         sodipodi:role="line"
> +         id="tspan184726"
> +         x="867.34656"
> +         y="1194.5068" /></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="389.01593"
> +       y="159.8909"
> +       id="text64469-9-3"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-6"
> +         x="389.01593"
> +         y="159.8909"
> +         style="font-size:18.6667px">CNVC</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="365.88379"
> +       y="303.59048"
> +       id="text64469-9-1"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-2"
> +         x="365.88379"
> +         y="303.59048"
> +         style="font-size:18.6667px">Input CSC</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="409.06488"
> +       y="404.95001"
> +       id="text64469-9-93"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-1"
> +         x="409.06488"
> +         y="404.95001"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan
> +         sodipodi:role="line"
> +         x="409.06488"
> +         y="428.28339"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> +         id="tspan233797">RAM and ROM</tspan><tspan
> +         sodipodi:role="line"
> +         x="409.06488"
> +         y="451.61676"
> +         style="font-size:10.6667px;text-align:center;text-anchor:middle"
> +         id="tspan242597">(sRGB, BT2020</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="351.16684"
> +       y="700.34918"
> +       id="text64469-9-0"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-3"
> +         x="351.16684"
> +         y="700.34918"
> +         style="font-size:18.6667px">HDR Multiply</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="345.16684"
> +       y="771.33112"
> +       id="text64469-9-6"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-10"
> +         x="345.16684"
> +         y="771.33112"
> +         style="font-size:18.6667px">Gamut Remap</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="412.5184"
> +       y="836.04877"
> +       id="text64469-9-63"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-20"
> +         x="412.5184"
> +         y="836.04877"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan
> +         sodipodi:role="line"
> +         x="412.5184"
> +         y="859.38214"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> +         id="tspan222533">RAM</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="413.54086"
> +       y="908.61554"
> +       id="text64469-9-61"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-55"
> +         x="413.54086"
> +         y="908.61554"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan
> +         sodipodi:role="line"
> +         x="413.54086"
> +         y="931.94891"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> +         id="tspan221121">RAM</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="344.0347"
> +       y="985.33319"
> +       id="text64469-9-47"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-65"
> +         x="344.0347"
> +         y="985.33319"
> +         style="font-size:18.6667px">Blend Gamma</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="433.84625"
> +       y="1223.411"
> +       id="text64469-9-69"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-37"
> +         x="433.84625"
> +         y="1223.411"
> +         style="font-size:18.6667px">Blender</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="408.64996"
> +       y="1492.8102"
> +       id="text64469-9-8"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-84"
> +         x="408.64996"
> +         y="1492.8102"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan
> +         sodipodi:role="line"
> +         x="408.64996"
> +         y="1516.1436"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> +         id="tspan197733">RAM</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="385.46863"
> +       y="1575.2261"
> +       id="text64469-9-31"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-49"
> +         x="385.46863"
> +         y="1575.2261"
> +         style="font-size:18.6667px">OCSC</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1356.5106"
> +       y="53.140579"
> +       id="text273287"><tspan
> +         sodipodi:role="line"
> +         id="tspan273285"
> +         x="1356.5106"
> +         y="53.140579" /></text>
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1411"
> +       width="177.28049"
> +       height="38.940468"
> +       x="1392.2576"
> +       y="459.24118" />
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1411.7203"
> +       y="485.93231"
> +       id="text78841"><tspan
> +         sodipodi:role="line"
> +         id="tspan78839"
> +         x="1411.7203"
> +         y="485.93231"
> +         style="font-size:18.6667px">color_encoding</tspan></text>
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1515"
> +       width="175.11876"
> +       height="43.239407"
> +       x="1393.7493"
> +       y="525.6983" />
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1399.212"
> +       y="553.44904"
> +       id="text78845"><tspan
> +         sodipodi:role="line"
> +         id="tspan78843"
> +         x="1399.212"
> +         y="553.44904">pixel_blend_mode</tspan></text>
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect371322"
> +       width="177.28049"
> +       height="38.940468"
> +       x="1391.6781"
> +       y="385.61713" />
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1427.5771"
> +       y="409.29523"
> +       id="text78837"><tspan
> +         sodipodi:role="line"
> +         id="tspan78835"
> +         x="1427.5771"
> +         y="409.29523"
> +         style="font-size:18.6667px">color_range</tspan></text>
> +    <path
> +       d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> +       id="path371636-7"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> +       id="path371636-7-2"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-7"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-22"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-6"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-1"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-5"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-9"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-4"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-90"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-91"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> +       id="path371636-7-59"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +  </g>
> +</svg>
> diff --git a/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg b/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
> new file mode 100644
> index 000000000000..7299ee9b6d64
> --- /dev/null
> +++ b/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
> @@ -0,0 +1,1529 @@
> +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
> +<!-- Created with Inkscape (http://www.inkscape.org/) -->
> +
> +<svg
> +   version="1.1"
> +   id="svg2019"
> +   width="1702"
> +   height="1845"
> +   viewBox="0 0 1702 1845"
> +   sodipodi:docname="dcn3_cm_drm_current.svg"
> +   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
> +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
> +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
> +   xmlns="http://www.w3.org/2000/svg"
> +   xmlns:svg="http://www.w3.org/2000/svg">
> +  <defs
> +     id="defs2023" />
> +  <sodipodi:namedview
> +     id="namedview2021"
> +     pagecolor="#ffffff"
> +     bordercolor="#666666"
> +     borderopacity="1.0"
> +     inkscape:pageshadow="2"
> +     inkscape:pageopacity="0.0"
> +     inkscape:pagecheckerboard="0"
> +     showgrid="false"
> +     inkscape:zoom="0.55760543"
> +     inkscape:cx="1011.4679"
> +     inkscape:cy="249.28021"
> +     inkscape:window-width="1920"
> +     inkscape:window-height="1011"
> +     inkscape:window-x="0"
> +     inkscape:window-y="0"
> +     inkscape:window-maximized="1"
> +     inkscape:current-layer="g2025" />
> +  <g
> +     inkscape:groupmode="layer"
> +     inkscape:label="Image"
> +     id="g2025">
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> +       id="rect34"
> +       width="208.83351"
> +       height="486.09872"
> +       x="0.90158081"
> +       y="132.77872" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1019"
> +       width="126.38867"
> +       height="55.320732"
> +       x="25.960823"
> +       y="188.06937" />
> +    <rect
> +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1021"
> +       width="126.38867"
> +       height="55.320732"
> +       x="25.960823"
> +       y="346.06937" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1103"
> +       width="126.38867"
> +       height="55.320732"
> +       x="25.960823"
> +       y="266.06937" />
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1105"
> +       width="126.38867"
> +       height="55.320732"
> +       x="25.960823"
> +       y="426.06937" />
> +    <rect
> +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1107"
> +       width="126.38867"
> +       height="55.320732"
> +       x="25.960823"
> +       y="506.06934" />
> +    <path
> +       d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
> +       id="path381056"
> +       sodipodi:nodetypes="cccccccccc"
> +       style="stroke-width:0.205176"
> +       inkscape:transform-center-x="-325.50819"
> +       inkscape:transform-center-y="-121.97185" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> +       id="rect1131"
> +       width="239.47592"
> +       height="1015.9909"
> +       x="298.65631"
> +       y="82.399658" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1"
> +       id="rect1133"
> +       width="340.44653"
> +       height="525.77448"
> +       x="298.79562"
> +       y="1142.5299" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> +       id="rect1237"
> +       width="284.00113"
> +       height="945.41412"
> +       x="827.75012"
> +       y="82.880798"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> +       id="rect1239"
> +       width="239.37569"
> +       height="179.03308"
> +       x="1356.9507"
> +       y="98.758331" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1"
> +       id="rect1241"
> +       width="239.4184"
> +       height="713.64905"
> +       x="1356.9543"
> +       y="307.7951"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> +       id="rect1345"
> +       width="330.32059"
> +       height="409.44757"
> +       x="1363.8723"
> +       y="1147.7572" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> +       id="rect1347"
> +       width="369.8941"
> +       height="682.32245"
> +       x="825.72528"
> +       y="1146.6448"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1349"
> +       width="163.95746"
> +       height="40.144867"
> +       x="1389.9988"
> +       y="190.80583" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1"
> +       id="rect1619"
> +       width="271.99091"
> +       height="42.038273"
> +       x="1393.981"
> +       y="1197.161"
> +       inkscape:connector-avoid="true" />
> +    <path
> +       d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
> +       id="path106-1"
> +       sodipodi:nodetypes="cccccccccc"
> +       style="stroke-width:0.205176"
> +       inkscape:transform-center-x="-325.50819"
> +       inkscape:transform-center-y="-121.97185" />
> +    <path
> +       d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
> +       id="path106-1-7"
> +       sodipodi:nodetypes="cccccccccc"
> +       style="stroke-width:0.205176"
> +       inkscape:transform-center-x="-325.50819"
> +       inkscape:transform-center-y="-121.97185" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1623"
> +       width="137.32646"
> +       height="41.782684"
> +       x="1396.3848"
> +       y="1268.2837"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1705"
> +       width="137.32646"
> +       height="41.782684"
> +       x="1396.3848"
> +       y="1348.2837" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1707"
> +       width="137.32646"
> +       height="41.782684"
> +       x="1396.3848"
> +       y="1432.2837" />
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1731"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="190.42665"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1813"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="254.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1815"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="318.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1817"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="412.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1819"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="560.42664" />
> +    <rect
> +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1821"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="674.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1823"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="744.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1825"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="820.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1827"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="890.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1829"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="956.42664"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1831"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1256.4268" />
> +    <rect
> +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1833"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1402.4268" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1915"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1330.4268"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1917"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1478.4268" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1919"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1548.4268" />
> +    <rect
> +       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1921"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1614.4268" />
> +    <rect
> +       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1923"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1686.4268" />
> +    <rect
> +       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1925"
> +       width="222.34483"
> +       height="44.64616"
> +       x="867.36292"
> +       y="1754.4268" />
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> +       id="rect1925-3"
> +       width="169.23357"
> +       height="44.678963"
> +       x="325.21747"
> +       y="134.37756" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> +       id="rect1954"
> +       width="169.23357"
> +       height="44.678963"
> +       x="325.21747"
> +       y="276.37756"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
> +       id="rect1956"
> +       width="168.66573"
> +       height="122.14091"
> +       x="325.50134"
> +       y="358.6615"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> +       id="rect1958"
> +       width="169.23357"
> +       height="44.678963"
> +       x="325.21747"
> +       y="672.37756" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> +       id="rect1960"
> +       width="169.23357"
> +       height="44.678963"
> +       x="325.21747"
> +       y="744.37756" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> +       id="rect1962"
> +       width="169.14041"
> +       height="54.756817"
> +       x="325.26404"
> +       y="814.42413"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> +       id="rect1964"
> +       width="169.14041"
> +       height="54.756817"
> +       x="325.26404"
> +       y="886.42413"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> +       id="rect1966"
> +       width="169.14041"
> +       height="54.756817"
> +       x="325.26404"
> +       y="952.42413"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> +       id="rect2418"
> +       width="169.23357"
> +       height="44.678963"
> +       x="325.21747"
> +       y="510.37756"
> +       inkscape:connector-avoid="true" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> +       id="rect2422"
> +       width="169.23357"
> +       height="44.678963"
> +       x="325.21747"
> +       y="1262.3777" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1"
> +       id="rect2424"
> +       width="169.12494"
> +       height="56.528603"
> +       x="325.27179"
> +       y="1322.432" />
> +    <rect
> +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1"
> +       id="rect2426"
> +       width="169.12494"
> +       height="56.528603"
> +       x="325.27179"
> +       y="1396.432" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1"
> +       id="rect2428"
> +       width="169.0854"
> +       height="61.19017"
> +       x="325.29156"
> +       y="1468.4518" />
> +    <rect
> +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1"
> +       id="rect2430"
> +       width="169.26669"
> +       height="41.344128"
> +       x="325.20093"
> +       y="1550.3611" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1"
> +       id="rect2432"
> +       width="287.86237"
> +       height="44.416805"
> +       x="325.34854"
> +       y="1194.5088" />
> +    <rect
> +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1"
> +       id="rect2434"
> +       width="285.86655"
> +       height="44.4207"
> +       x="867.34656"
> +       y="1194.5068" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2509" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2511" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2513" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2515" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2517" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2519" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2521" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2523" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2525" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2527" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2529" />
> +    <path
> +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> +       d="m 867.36292,235.07281 v 0"
> +       id="path2531" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 449.83425,179.05653 v 33.6932 h 417.52867"
> +       id="path6876"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1925-3"
> +       inkscape:connection-end="#rect1731"
> +       sodipodi:nodetypes="ccc" />
> +    <path
> +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 494.45103,156.71704 h 216.64955 v 161.7096 h 156.26234"
> +       id="path6878"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1925-3"
> +       sodipodi:nodetypes="cccc" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 451.83425,321.05653 v 19.69319 h 415.52867"
> +       id="path7294"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1954"
> +       inkscape:connection-end="#rect1815"
> +       sodipodi:nodetypes="ccc" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292"
> +       id="path7296"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-end="#rect1817"
> +       inkscape:connection-start="#rect1954"
> +       sodipodi:nodetypes="cccc" />
> +    <path
> +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 867.36292,560.42664 H 661.10058 V 480.8024 H 494.16705"
> +       id="path7720"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       sodipodi:nodetypes="cccc" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 455.83425,594.37756 V 582.74972 H 867.36292"
> +       id="path7724"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect2420"
> +       inkscape:connection-end="#rect1819"
> +       sodipodi:nodetypes="ccc" />
> +    <rect
> +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> +       id="rect2420"
> +       width="169.23357"
> +       height="44.678963"
> +       x="325.21747"
> +       y="594.37756" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 494.45103,696.74972 H 867.36292"
> +       id="path7726"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1958"
> +       inkscape:connection-end="#rect1821" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 867.36292,766.74972 H 494.45103"
> +       id="path7728"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1823"
> +       inkscape:connection-end="#rect1960" />
> +    <path
> +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292"
> +       id="path7730"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-end="#rect1831"
> +       sodipodi:nodetypes="cccc" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874"
> +       id="path8140"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1962"
> +       inkscape:connection-end="#rect1825" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874"
> +       id="path8142"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1964"
> +       inkscape:connection-end="#rect1827" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874"
> +       id="path8144"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1966"
> +       inkscape:connection-end="#rect1829" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 494.39673,1352.7498 H 867.36292"
> +       id="path8146"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect2424"
> +       inkscape:connection-end="#rect1915" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 494.39673,1424.7498 H 867.36292"
> +       id="path8148"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect2426"
> +       inkscape:connection-end="#rect1833" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 494.37697,1500.7498 H 867.36292"
> +       id="path8150"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect2428"
> +       inkscape:connection-end="#rect1917" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 494.46762,1570.7498 h 372.8953"
> +       id="path8152"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect2430"
> +       inkscape:connection-end="#rect1919" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368"
> +       id="path8154"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1623"
> +       inkscape:connection-end="#rect1819" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 1396.3848,1369.175 h -156.2403 v -90.4252 h -150.4368"
> +       id="path8462"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1705"
> +       inkscape:connection-end="#rect1831"
> +       sodipodi:nodetypes="cccc" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="m 1089.7077,1500.7498 h 375.3403 v -26.6834"
> +       id="path8668"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1917"
> +       inkscape:connection-end="#rect1707" />
> +    <path
> +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 1389.9988,212.74973 H 1089.7077"
> +       id="path8672"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-start="#rect1349"
> +       inkscape:connection-end="#rect1731" />
> +    <path
> +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> +       d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233"
> +       id="path8674"
> +       inkscape:connector-type="orthogonal"
> +       inkscape:connector-curvature="0"
> +       inkscape:connection-end="#rect1815"
> +       sodipodi:nodetypes="cccc" />
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="58.63356"
> +       y="69.574417"
> +       id="text28675"><tspan
> +         sodipodi:role="line"
> +         id="tspan28673"
> +         x="58.63356"
> +         y="69.574417" /></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="56.388252"
> +       y="221.86568"
> +       id="text31913"><tspan
> +         sodipodi:role="line"
> +         id="tspan31911"
> +         x="56.388252"
> +         y="221.86568">Matrix</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="53.441296"
> +       y="300.866"
> +       id="text38843"><tspan
> +         sodipodi:role="line"
> +         id="tspan38841"
> +         x="53.441296"
> +         y="300.866">1D LUT</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="53.441296"
> +       y="378.866"
> +       id="text41049"><tspan
> +         sodipodi:role="line"
> +         id="tspan41047"
> +         x="53.441296"
> +         y="378.866">3D LUT</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="40.831493"
> +       y="460.87411"
> +       id="text45037"><tspan
> +         sodipodi:role="line"
> +         id="tspan45035"
> +         x="40.831493"
> +         y="460.87411"
> +         style="font-size:18.6667px">Unpacking</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="62.130371"
> +       y="540.68872"
> +       id="text49945"><tspan
> +         sodipodi:role="line"
> +         id="tspan49943"
> +         x="62.130371"
> +         y="540.68872"
> +         style="font-size:18.6667px">Other</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1423.2806"
> +       y="128.08769"
> +       id="text55719"><tspan
> +         sodipodi:role="line"
> +         id="tspan55717"
> +         x="1423.2806"
> +         y="128.08769"
> +         style="font-size:18.6667px">drm_framebuffer</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1439.9988"
> +       y="218.74973"
> +       id="text62479"><tspan
> +         sodipodi:role="line"
> +         id="tspan62477"
> +         x="1439.9988"
> +         y="218.74973"
> +         style="font-size:18.6667px">format</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1475.2806"
> +       y="340.08771"
> +       id="text64465"><tspan
> +         sodipodi:role="line"
> +         id="tspan64463"
> +         x="1475.2806"
> +         y="340.08771"
> +         style="font-size:18.6667px">drm_plane</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1589.2806"
> +       y="1178.0876"
> +       id="text64469"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467"
> +         x="1589.2806"
> +         y="1178.0876"
> +         style="font-size:18.6667px">drm_crtc</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="872.23993"
> +       y="1172.4491"
> +       id="text64469-9"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2"
> +         x="872.23993"
> +         y="1172.4491"
> +         style="font-size:18.6667px">Stream</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="328.26071"
> +       y="1175.6371"
> +       id="text64469-9-2"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-8"
> +         x="328.26071"
> +         y="1175.6371"
> +         style="font-size:18.6667px">MPC</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="330.14737"
> +       y="114.41869"
> +       id="text64469-9-9"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-7"
> +         x="330.14737"
> +         y="114.41869"
> +         style="font-size:18.6667px">DPP</tspan></text>
> +    <path
> +       d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
> +       id="path106"
> +       sodipodi:nodetypes="cccccccccc"
> +       style="stroke-width:0.205176"
> +       inkscape:transform-center-x="-325.50819"
> +       inkscape:transform-center-y="-121.97185" />
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1495.9988"
> +       y="1224.7498"
> +       id="text78849"><tspan
> +         sodipodi:role="line"
> +         id="tspan78847"
> +         x="1495.9988"
> +         y="1224.7498"
> +         style="font-size:18.6667px">Blender</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1417.9988"
> +       y="1294.7498"
> +       id="text78853"><tspan
> +         sodipodi:role="line"
> +         id="tspan78851"
> +         x="1417.9988"
> +         y="1294.7498"
> +         style="font-size:18.6667px">Degamma</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1451.9988"
> +       y="1376.7498"
> +       id="text78857"><tspan
> +         sodipodi:role="line"
> +         id="tspan78855"
> +         x="1451.9988"
> +         y="1376.7498"
> +         style="font-size:18.6667px">CTM</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1427.9988"
> +       y="1458.7498"
> +       id="text78861"><tspan
> +         sodipodi:role="line"
> +         id="tspan78859"
> +         x="1427.9988"
> +         y="1458.7498"
> +         style="font-size:18.6667px">Gamma</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="949.99878"
> +       y="218.74973"
> +       id="text104653"><tspan
> +         sodipodi:role="line"
> +         id="tspan104651"
> +         x="949.99878"
> +         y="218.74973"
> +         style="font-size:18.6667px">format</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="911.99878"
> +       y="284.74973"
> +       id="text104657"><tspan
> +         sodipodi:role="line"
> +         id="tspan104655"
> +         x="911.99878"
> +         y="284.74973"
> +         style="font-size:18.6667px">bias_and_scale</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="887.99878"
> +       y="346.74973"
> +       id="text104661"><tspan
> +         sodipodi:role="line"
> +         id="tspan104659"
> +         x="887.99878"
> +         y="346.74973"
> +         style="font-size:18.6667px">color space matrix</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="871.99878"
> +       y="442.74973"
> +       id="text104665"><tspan
> +         sodipodi:role="line"
> +         id="tspan104663"
> +         x="871.99878"
> +         y="442.74973"
> +         style="font-size:18.6667px">input_csc_color_matrix</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="905.99878"
> +       y="586.74976"
> +       id="text125075"><tspan
> +         sodipodi:role="line"
> +         id="tspan125073"
> +         x="905.99878"
> +         y="586.74976"
> +         style="font-size:18.6667px">in_transfer_func</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="945.0083"
> +       y="702.85938"
> +       id="text117309"><tspan
> +         sodipodi:role="line"
> +         id="tspan117307"
> +         x="945.0083"
> +         y="702.85938"
> +         style="font-size:18.6667px">hdr_mult</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="874.5556"
> +       y="773.42615"
> +       id="text117309-6"><tspan
> +         sodipodi:role="line"
> +         id="tspan117307-7"
> +         x="874.5556"
> +         y="773.42615"
> +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="913.72528"
> +       y="846.55896"
> +       id="text117309-5"><tspan
> +         sodipodi:role="line"
> +         id="tspan117307-3"
> +         x="913.72528"
> +         y="846.55896"
> +         style="font-size:18.6667px">in_shaper_func</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="937.72528"
> +       y="918.25787"
> +       id="text117309-56"><tspan
> +         sodipodi:role="line"
> +         id="tspan117307-2"
> +         x="937.72528"
> +         y="918.25787"
> +         style="font-size:18.6667px">lut3d_func</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="945.9895"
> +       y="986.10767"
> +       id="text117309-9"><tspan
> +         sodipodi:role="line"
> +         id="tspan117307-1"
> +         x="945.9895"
> +         y="986.10767"
> +         style="font-size:18.6667px">blend_tf</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="975.91803"
> +       y="1224.5564"
> +       id="text137434"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432"
> +         x="975.91803"
> +         y="1224.5564"
> +         style="font-size:18.6667px">Blender</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="879.31372"
> +       y="1283.4249"
> +       id="text137434-2"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-7"
> +         x="879.31372"
> +         y="1283.4249"
> +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="925.31372"
> +       y="1359.2747"
> +       id="text137434-0"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-9"
> +         x="925.31372"
> +         y="1359.2747"
> +         style="font-size:18.6667px">func_shaper</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="930.33252"
> +       y="1430.2566"
> +       id="text137434-3"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-6"
> +         x="930.33252"
> +         y="1430.2566"
> +         style="font-size:18.6667px">lut3d_func</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="900.18158"
> +       y="1504.6725"
> +       id="text137434-06"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-2"
> +         x="900.18158"
> +         y="1504.6725"
> +         style="font-size:18.6667px">out_transfer_func</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="904.0307"
> +       y="1575.8053"
> +       id="text137434-6"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-1"
> +         x="904.0307"
> +         y="1575.8053"
> +         style="font-size:18.6667px">csc_color_matrix</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="903.16278"
> +       y="1642.1078"
> +       id="text137434-8"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-79"
> +         x="903.16278"
> +         y="1642.1078"
> +         style="font-size:18.6667px">bit_depth_param</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="939.31372"
> +       y="1713.8068"
> +       id="text137434-20"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-23"
> +         x="939.31372"
> +         y="1713.8068"
> +         style="font-size:18.6667px">clamping</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="894.0307"
> +       y="1782.5244"
> +       id="text137434-7"><tspan
> +         sodipodi:role="line"
> +         id="tspan137432-5"
> +         x="894.0307"
> +         y="1782.5244"
> +         style="font-size:18.6667px">output_color_space</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="869.63062"
> +       y="117.7968"
> +       id="text176429"><tspan
> +         sodipodi:role="line"
> +         id="tspan176427"
> +         x="869.63062"
> +         y="117.7968"
> +         style="font-size:18.6667px">Plane</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="27.605465"
> +       y="162.20587"
> +       id="text176429-2"><tspan
> +         sodipodi:role="line"
> +         id="tspan176427-0"
> +         x="27.605465"
> +         y="162.20587"
> +         style="font-size:18.6667px">Legend</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="298.63959"
> +       y="59.293999"
> +       id="text176429-9"><tspan
> +         sodipodi:role="line"
> +         id="tspan176427-2"
> +         x="298.63959"
> +         y="59.293999"
> +         style="font-size:18.6667px">DCN 3.0</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="826.65735"
> +       y="59.458061"
> +       id="text176429-66"><tspan
> +         sodipodi:role="line"
> +         id="tspan176427-4"
> +         x="826.65735"
> +         y="59.458061"
> +         style="font-size:18.6667px">DC Interface</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1362.9948"
> +       y="59.458061"
> +       id="text176429-95"><tspan
> +         sodipodi:role="line"
> +         id="tspan176427-04"
> +         x="1362.9948"
> +         y="59.458061"
> +         style="font-size:18.6667px">DRM Interface</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="867.34656"
> +       y="1194.5068"
> +       id="text184728"><tspan
> +         sodipodi:role="line"
> +         id="tspan184726"
> +         x="867.34656"
> +         y="1194.5068" /></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="389.01593"
> +       y="159.8909"
> +       id="text64469-9-3"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-6"
> +         x="389.01593"
> +         y="159.8909"
> +         style="font-size:18.6667px">CNVC</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="365.88379"
> +       y="303.59048"
> +       id="text64469-9-1"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-2"
> +         x="365.88379"
> +         y="303.59048"
> +         style="font-size:18.6667px">Input CSC</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="413.06488"
> +       y="390.95001"
> +       id="text64469-9-93"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-1"
> +         x="413.06488"
> +         y="390.95001"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan
> +         sodipodi:role="line"
> +         x="413.06488"
> +         y="414.28339"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> +         id="tspan233797">ROM</tspan><tspan
> +         sodipodi:role="line"
> +         x="413.06488"
> +         y="437.61676"
> +         style="font-size:10.6667px;text-align:center;text-anchor:middle"
> +         id="tspan233799">(sRGB, BT2020, Gamma 2.2,</tspan><tspan
> +         sodipodi:role="line"
> +         x="413.06488"
> +         y="460.95013"
> +         style="font-size:10.6667px;text-align:center;text-anchor:middle"
> +         id="tspan242597">PQ, HLG)</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="372.44986"
> +       y="538.83807"
> +       id="text64469-9-94"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-78"
> +         x="372.44986"
> +         y="538.83807"
> +         style="font-size:18.6667px">Post CSC</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="335.31775"
> +       y="622.23511"
> +       id="text64469-9-4"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-5"
> +         x="335.31775"
> +         y="622.23511"
> +         style="font-size:16px">Gamma Correction</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="351.16684"
> +       y="700.34918"
> +       id="text64469-9-0"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-3"
> +         x="351.16684"
> +         y="700.34918"
> +         style="font-size:18.6667px">HDR Multiply</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="345.16684"
> +       y="771.33112"
> +       id="text64469-9-6"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-10"
> +         x="345.16684"
> +         y="771.33112"
> +         style="font-size:18.6667px">Gamut Remap</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="412.5184"
> +       y="836.04877"
> +       id="text64469-9-63"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-20"
> +         x="412.5184"
> +         y="836.04877"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan
> +         sodipodi:role="line"
> +         x="412.5184"
> +         y="859.38214"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> +         id="tspan222533">RAM</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="413.54086"
> +       y="908.61554"
> +       id="text64469-9-61"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-55"
> +         x="413.54086"
> +         y="908.61554"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan
> +         sodipodi:role="line"
> +         x="413.54086"
> +         y="931.94891"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> +         id="tspan221121">RAM</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="344.0347"
> +       y="985.33319"
> +       id="text64469-9-47"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-65"
> +         x="344.0347"
> +         y="985.33319"
> +         style="font-size:18.6667px">Blend Gamma</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="433.84625"
> +       y="1223.411"
> +       id="text64469-9-69"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-37"
> +         x="433.84625"
> +         y="1223.411"
> +         style="font-size:18.6667px">Blender</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="343.73291"
> +       y="1290.2421"
> +       id="text64469-9-45"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-25"
> +         x="343.73291"
> +         y="1290.2421"
> +         style="font-size:18.6667px">Gamut Remap</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="408.74442"
> +       y="1344.2428"
> +       id="text64469-9-474"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-4"
> +         x="408.74442"
> +         y="1344.2428"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan
> +         sodipodi:role="line"
> +         x="408.74442"
> +         y="1367.5762"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> +         id="tspan208303">RAM</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="407.1257"
> +       y="1420.2435"
> +       id="text64469-9-30"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-786"
> +         x="407.1257"
> +         y="1420.2435"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan
> +         sodipodi:role="line"
> +         x="407.1257"
> +         y="1443.5769"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> +         id="tspan204749">RAM</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="408.64996"
> +       y="1492.8102"
> +       id="text64469-9-8"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-84"
> +         x="408.64996"
> +         y="1492.8102"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan
> +         sodipodi:role="line"
> +         x="408.64996"
> +         y="1516.1436"
> +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> +         id="tspan197733">RAM</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="385.46863"
> +       y="1575.2261"
> +       id="text64469-9-31"><tspan
> +         sodipodi:role="line"
> +         id="tspan64467-2-49"
> +         x="385.46863"
> +         y="1575.2261"
> +         style="font-size:18.6667px">OCSC</tspan></text>
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1356.5106"
> +       y="53.140579"
> +       id="text273287"><tspan
> +         sodipodi:role="line"
> +         id="tspan273285"
> +         x="1356.5106"
> +         y="53.140579" /></text>
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1411"
> +       width="177.28049"
> +       height="38.940468"
> +       x="1392.2576"
> +       y="459.24118" />
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1411.7203"
> +       y="485.93231"
> +       id="text78841"><tspan
> +         sodipodi:role="line"
> +         id="tspan78839"
> +         x="1411.7203"
> +         y="485.93231"
> +         style="font-size:18.6667px">color_encoding</tspan></text>
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect1515"
> +       width="175.11876"
> +       height="43.239407"
> +       x="1393.7493"
> +       y="525.6983" />
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1399.212"
> +       y="553.44904"
> +       id="text78845"><tspan
> +         sodipodi:role="line"
> +         id="tspan78843"
> +         x="1399.212"
> +         y="553.44904">pixel_blend_mode</tspan></text>
> +    <rect
> +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> +       id="rect371322"
> +       width="177.28049"
> +       height="38.940468"
> +       x="1391.6781"
> +       y="385.61713" />
> +    <text
> +       xml:space="preserve"
> +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> +       x="1427.5771"
> +       y="409.29523"
> +       id="text78837"><tspan
> +         sodipodi:role="line"
> +         id="tspan78835"
> +         x="1427.5771"
> +         y="409.29523"
> +         style="font-size:18.6667px">color_range</tspan></text>
> +    <path
> +       d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> +       id="path371636-7"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> +       id="path371636-7-2"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-7"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-22"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-6"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-1"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 404.2055,500.78482 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-0"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 402.6188,581.69367 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-61"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-5"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-9"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-4"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-90"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> +       id="path371636-7-91"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 407.9989,1311.6005 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.513 -3.575,-6.1779 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> +       id="path371636-7-77"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 407.9989,1381.5424 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> +       id="path371636-7-11"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +    <path
> +       d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> +       id="path371636-7-59"
> +       sodipodi:nodetypes="cccccc"
> +       style="stroke-width:0.262672"
> +       inkscape:transform-center-x="-416.72543"
> +       inkscape:transform-center-y="-156.15191" />
> +  </g>
> +</svg>
> diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst b/Documentation/gpu/amdgpu/display/display-manager.rst
> index b1b0f11aed83..8960a5f1fa66 100644
> --- a/Documentation/gpu/amdgpu/display/display-manager.rst
> +++ b/Documentation/gpu/amdgpu/display/display-manager.rst
> @@ -49,3 +49,38 @@ Color Management Properties
>   
>   .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
>      :internal:
> +
> +
> +DC Color Capabilities between DCN generations
> +---------------------------------------------
> +
> +DRM/KMS framework defines three CRTC color correction properties: degamma,
> +color transformation matrix (ctm) and gamma, and two properties for degamma and

Abbreviations should be written as all-uppercase
https://docs.kernel.org/gpu/introduction.html?highlight=uppercase#style-guidelines

> +gamma lut sizes. AMD DC programs some of the color correction features
> +pre-blending but DRM/KMS has not per-plane color correction properties.
> +
> +What's possible to do before and after blending has changed quite a bit between
> +DCN generations as it depends on hardware color capabilities. DPP and MPC color
> +correction caps are described below.
> +
> +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h
> +   :doc: color-management-caps
> +
> +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h
> +   :internal:
> +
> +In general, the DRM three properties are programed to DC, as follows: CRT > +gamma after blending, and CRTC degamma pre-blending. Although CTM is 
programmed
> +after blending, it is mapped to DPP hw blocks (pre-blending). Other color caps
> +available in the hw is not currently exposed by DRM interface and are by
> +passed.  To illustrate DCN generation capabilities and differences between

possible typo: "by\npassed" -> "bypassed"

> +them, you can compare the color management schemas for DCN 2.0 and DCN 3.0
> +families below.
> +
> +**DCN 2.0 family color caps and mapping**
> +
> +.. kernel-figure:: dcn2_cm_drm_current.svg
> +
> +**DCN 3.0 family color caps and mapping**
> +
> +.. kernel-figure:: dcn3_cm_drm_current.svg
> diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
> index 7c42377f0aae..84275f3974c1 100644
> --- a/drivers/gpu/drm/amd/display/dc/dc.h
> +++ b/drivers/gpu/drm/amd/display/dc/dc.h
> @@ -118,7 +118,26 @@ struct dc_plane_cap {
>   	uint32_t min_height;
>   };
>   
> -// Color management caps (DPP and MPC)
> +/**
> + * DOC: color-management-caps
> + *
> + * **Color management caps (DPP and MPC)**
> + *
> + * Modules/color calculates various colour operations which are translated to

Nit: colour -> color
The DRM documentation has a **preference** for the american spelling 
https://www.kernel.org/doc/html/latest/gpu/introduction.html?highlight=American%20English#style-guidelines

> + * abstracted HW. DCE 5-12 had almost no important changes, but starting with
> + * DCN1, every new generation comes with fairly major differences in color
> + * pipeline. Therefore, we abstract color pipe capabilities so modules/DM can
> + * decide mapping to HW block based on logical capabilities.
> + */
> +
> +/**
> + * struct rom_curve_caps - predefined transfer function caps for degamma and regamma
> + * @srgb: RGB color space transfer func
> + * @bt2020: BT.2020 transfer func
> + * @gamma2_2: standard gamma
> + * @pq: perceptual quantizer transfer function
> + * @hlg: hybrid log–gamma transfer function
> + */
>   struct rom_curve_caps {
>   	uint16_t srgb : 1;
>   	uint16_t bt2020 : 1;
> @@ -127,36 +146,65 @@ struct rom_curve_caps {
>   	uint16_t hlg : 1;
>   };
>   
> +/**
> + * struct dpp_color_caps - color pipeline capabilities for display pipe and
> + * plane blocks
> + *
> + * @dcn_arch: all DCE generations treated the same
> + * @input_lut_shared: shared with DGAM. Input lut is different than most LUTs,
> + * just plain 256-entry lookup
> + * @icsc: input color space conversion

./drivers/gpu/drm/amd/display/dc/dc.h:181: warning: Function parameter 
or member 'dgam_ram' not described in 'dpp_color_caps'

> + * @post_csc: post color space conversion, before gamut remap
> + * @gamma_corr: degamma correction
> + * @hw_3d_lut: 3d lut support. It implies a shaper LUT before, it may be shared
> + * with MPC by setting mpc:shared_3d_lut flag
> + * @ogam_ram: blend gamma
> + * @ocsc: output color space conversion

./drivers/gpu/drm/amd/display/dc/dc.h:181: warning: Function parameter 
or member 'dgam_rom_for_yuv' not described in 'dpp_color_caps'

> + * @dgam_rom_caps: caps for degamma
> + * @ogam_rom_caps: caps for regamma 1D lut
> + *
> + * Note: hdr_mult and gamut remap (ctm) are always available in DPP (in that order)
> + */
>   struct dpp_color_caps {
> -	uint16_t dcn_arch : 1; // all DCE generations treated the same
> -	// input lut is different than most LUTs, just plain 256-entry lookup
> -	uint16_t input_lut_shared : 1; // shared with DGAM
> +	uint16_t dcn_arch : 1;
> +	uint16_t input_lut_shared : 1;
>   	uint16_t icsc : 1;
>   	uint16_t dgam_ram : 1;
> -	uint16_t post_csc : 1; // before gamut remap
> +	uint16_t post_csc : 1;
>   	uint16_t gamma_corr : 1;
> -
> -	// hdr_mult and gamut remap always available in DPP (in that order)
> -	// 3d lut implies shaper LUT,
> -	// it may be shared with MPC - check MPC:shared_3d_lut flag
>   	uint16_t hw_3d_lut : 1;
> -	uint16_t ogam_ram : 1; // blnd gam
> +	uint16_t ogam_ram : 1;
>   	uint16_t ocsc : 1;
>   	uint16_t dgam_rom_for_yuv : 1;
>   	struct rom_curve_caps dgam_rom_caps;
>   	struct rom_curve_caps ogam_rom_caps;
>   };
>   
> +/**
> + * struct mpc_color_caps - color pipeline capabilities for multiple pipe and
> + * plane combined blocks
> + *
> + * @gamut_remap: color transformation matrix

./drivers/gpu/drm/amd/display/dc/dc.h:201: warning: Function parameter 
or member 'ogam_ram' not described in 'mpc_color_caps'

> + * @ocsc: output color space conversion matrix
> + * @num_3dluts: 3d lut, always assumes a preceding shaper LUT
> + * @shared_3d_lut: shared 3d lut flag, can be either DPP or MPC, but single
> + * instance
> + * @ogam_rom_caps: caps for regama 1d lut

typo: regama -> regamma

> + */
>   struct mpc_color_caps {
>   	uint16_t gamut_remap : 1;
>   	uint16_t ogam_ram : 1;
>   	uint16_t ocsc : 1;
> -	uint16_t num_3dluts : 3; //3d lut always assumes a preceding shaper LUT
> -	uint16_t shared_3d_lut:1; //can be in either DPP or MPC, but single instance
> -
> +	uint16_t num_3dluts : 3;
> +	uint16_t shared_3d_lut:1;
>   	struct rom_curve_caps ogam_rom_caps;
>   };
>   
> +/**
> + * struct dc_color_caps - color pipes capabilities for DPP and MPC hw blocks
> + * @dpp: color pipes caps for DPP
> + * @mpc: color pipes caps for MPC
> + */
>   struct dc_color_caps {
>   	struct dpp_color_caps dpp;
>   	struct mpc_color_caps mpc;


Again, thanks for the documentation patch!

Kind regards,
Tales Aparecida

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/4] drm/amd/display: add doc entries for MPC blending configuration
  2022-07-16 22:25 ` [PATCH 3/4] drm/amd/display: add doc entries for MPC blending configuration Melissa Wen
@ 2022-07-18  1:25   ` Tales Lelo da Aparecida
  2022-07-20 21:33     ` Melissa Wen
  0 siblings, 1 reply; 16+ messages in thread
From: Tales Lelo da Aparecida @ 2022-07-18  1:25 UTC (permalink / raw)
  To: Melissa Wen
  Cc: sunpeng.li, Xinhui.Pan, Rodrigo.Siqueira, dri-devel,
	nicholas.kazlauskas, amd-gfx, kernel-dev, alexander.deucher,
	harry.wentland, christian.koenig, sungjoon.kim

On 16/07/2022 19:25, Melissa Wen wrote:
> Describe structs and enums used to set blend mode properties to MPC
> blocks. Some pieces of information are already available as code
> comments, and were just formatted. Others were collected and summarised
> from discusssions on AMD issue tracker[1][2].

Typo in the commit message: discusssions -> discussions

> 
> [1] https://gitlab.freedesktop.org/drm/amd/-/issues/1734
> [2] https://gitlab.freedesktop.org/drm/amd/-/issues/1769
> 
> Signed-off-by: Melissa Wen <mwen@igalia.com>
> ---
>   drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h | 91 +++++++++++++++++----
>   1 file changed, 77 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h b/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
> index 5097037e3962..cf28b841c42d 100644
> --- a/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
> +++ b/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
> @@ -22,6 +22,16 @@
>    *
>    */
>   
> +/**
> + * DOC: mpc-overview
> + *
> + * Multiple Pipe/Plane Combined (MPC) is a component in the hardware pipeline
> + * that performs blending of multiple planes, using global and per-pixel alpha.
> + * It also performs post-blending color correction operations according to the
> + * hardware capabilities, such as color transformation matrix and gamma 1D and
> + * 3D LUT.
> + */
> +
>   #ifndef __DC_MPCC_H__
>   #define __DC_MPCC_H__
>   
> @@ -48,14 +58,39 @@ enum mpcc_blend_mode {
>   	MPCC_BLEND_MODE_TOP_BOT_BLENDING
>   };
>   
> +/**
> + * enum mpcc_alpha_blend_mode - define the alpha blend mode regarding pixel
> + * alpha and plane alpha values
> + */
>   enum mpcc_alpha_blend_mode {
> +	/**
> +	 * @MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA: per pixel alpha using DPP
> +	 * alpha value
> +	 */
>   	MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA,
> +	/**
> +	 * @MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA_COMBINED_GLOBAL_GAIN: per
> +	 * pixel alpha using DPP alpha value multiplied by a global gain (plane
> +	 * alpha)
> +	 */
>   	MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA_COMBINED_GLOBAL_GAIN,
> +	/**
> +	 * @MPCC_ALPHA_BLEND_MODE_GLOBAL_ALPHA: global alpha value, ignores
> +	 * pixel alpha and consider only plane alpha
> +	 */
>   	MPCC_ALPHA_BLEND_MODE_GLOBAL_ALPHA
>   };
>   
> -/*
> - * MPCC blending configuration
> +/**
> + * struct mpcc_blnd_cfg - MPCC blending configuration
> + *
> + * @black_color: background color
> + * @alpha_mode: alpha blend mode (MPCC_ALPHA_BLND_MODE)
> + * @pre_multiplied_alpha: whether pixel color values were pre-multiplied by the
> + * alpha channel (MPCC_ALPHA_MULTIPLIED_MODE)
> + * @global_gain: used when blend mode considers both pixel alpha and plane
> + * alpha value and assumes the global alpha value.
> + * @global_alpha: plane alpha value

There's quite a few members missing definition. After reading the 4th 
patch may I conclude that they weren't relevant for what's being 
described about alpha blending?

./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:109: warning: Function 
parameter or member 'overlap_only' not described in 'mpcc_blnd_cfg'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:109: warning: Function 
parameter or member 'bottom_gain_mode' not described in 'mpcc_blnd_cfg'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:109: warning: Function 
parameter or member 'background_color_bpc' not described in 'mpcc_blnd_cfg'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:109: warning: Function 
parameter or member 'top_gain' not described in 'mpcc_blnd_cfg'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:109: warning: Function 
parameter or member 'bottom_inside_gain' not described in 'mpcc_blnd_cfg'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:109: warning: Function 
parameter or member 'bottom_outside_gain' not described in 'mpcc_blnd_cfg'

>    */
>   struct mpcc_blnd_cfg {
>   	struct tg_color black_color;	/* background color */
> @@ -107,8 +142,15 @@ struct mpc_dwb_flow_control {
>   	int flow_ctrl_cnt1;
>   };
>   
> -/*
> - * MPCC connection and blending configuration for a single MPCC instance.
> +/**
> + * struct mpcc - MPCC connection and blending configuration for a single MPCC instance.

Might be worth writing the definition of the abbreviation, if not here, 
in the glossary... I couldn't find what the last "C" stands for, my 
guess would be "context". hehehe

> + * @mpcc_id: MPCC physical instance
> + * @dpp_id: DPP input to this MPCC
> + * @mpcc_bot: pointer to bottom layer MPCC. NULL when not connected.
> + * @blnd_cfg: the blending configuration for this MPCC
> + * @sm_cfg: stereo mix setting for this MPCC
> + * @shared_bottom: if MPCC output to both OPP and DWB endpoints, true. Othewise, false.

Typo Othewise -> Otherwise

> + *
>    * This struct is used as a node in an MPC tree.
>    */
>   struct mpcc {
> @@ -120,8 +162,12 @@ struct mpcc {
>   	bool shared_bottom;		/* TRUE if MPCC output to both OPP and DWB endpoints, else FALSE */
>   };
>   
> -/*
> - * MPC tree represents all MPCC connections for a pipe.
> +/**
> + * struct mpc_tree - MPC tree represents all MPCC connections for a pipe.
> + *
> + * @opp_id: the OPP instance that owns this MPC tree
> + * @opp_list: the top MPCC layer of the MPC tree that outputs to OPP endpoint
> + *
>    */
>   struct mpc_tree {
>   	int opp_id;			/* The OPP instance that owns this MPC tree */
> @@ -149,13 +195,18 @@ struct mpcc_state {
>   	uint32_t busy;
>   };
>   
> +/**
> + * struct mpc_funcs - funcs
> + */
>   struct mpc_funcs {
>   	void (*read_mpcc_state)(
>   			struct mpc *mpc,
>   			int mpcc_inst,
>   			struct mpcc_state *s);
>   
> -	/*
> +	/**
> +	 * @insert_plane:
> +	 *
>   	 * Insert DPP into MPC tree based on specified blending position.
>   	 * Only used for planes that are part of blending chain for OPP output
>   	 *
> @@ -180,7 +231,9 @@ struct mpc_funcs {
>   			int dpp_id,
>   			int mpcc_id);
>   
> -	/*
> +	/**
> +	 * @remove_mpcc:
> +	 *
>   	 * Remove a specified MPCC from the MPC tree.
>   	 *
>   	 * Parameters:
> @@ -195,7 +248,9 @@ struct mpc_funcs {
>   			struct mpc_tree *tree,
>   			struct mpcc *mpcc);
>   
> -	/*
> +	/**
> +	 * @mpc_init:
> +	 *
>   	 * Reset the MPCC HW status by disconnecting all muxes.
>   	 *
>   	 * Parameters:
> @@ -208,7 +263,9 @@ struct mpc_funcs {
>   			struct mpc *mpc,
>   			unsigned int mpcc_id);
>   
> -	/*
> +	/**
> +	 * @update_blending:
> +	 *
>   	 * Update the blending configuration for a specified MPCC.
>   	 *
>   	 * Parameters:
> @@ -223,7 +280,9 @@ struct mpc_funcs {
>   		struct mpcc_blnd_cfg *blnd_cfg,
>   		int mpcc_id);
>   
> -	/*
> +	/**
> +	 * @cursor_lock:
> +	 *
>   	 * Lock cursor updates for the specified OPP.
>   	 * OPP defines the set of MPCC that are locked together for cursor.
>   	 *
> @@ -239,8 +298,10 @@ struct mpc_funcs {
>   			int opp_id,
>   			bool lock);
>   
> -	/*
> -	 * Add DPP into 'secondary' MPC tree based on specified blending position.
> +	/**
> +	 * @insert_plane_to_secondary:
> +	 *
> +	 * Add DPP into secondary MPC tree based on specified blending position.
>   	 * Only used for planes that are part of blending chain for DWB output
>   	 *
>   	 * Parameters:
> @@ -264,7 +325,9 @@ struct mpc_funcs {
>   			int dpp_id,
>   			int mpcc_id);
>   
> -	/*
> +	/**
> +	 * @remove_mpcc_from_secondary:
> +	 *
>   	 * Remove a specified DPP from the 'secondary' MPC tree.
>   	 *
>   	 * Parameters:

Thanks for the patch,
Tales Aparecida

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/4] Documentation/gpu/amdgpu/amdgpu_dm: add DM docs for pixel blend mode
  2022-07-16 22:25 ` [PATCH 4/4] Documentation/gpu/amdgpu/amdgpu_dm: add DM docs for pixel blend mode Melissa Wen
@ 2022-07-18  1:39   ` Tales Lelo da Aparecida
  2022-07-20 22:56     ` Melissa Wen
  0 siblings, 1 reply; 16+ messages in thread
From: Tales Lelo da Aparecida @ 2022-07-18  1:39 UTC (permalink / raw)
  To: Melissa Wen
  Cc: sunpeng.li, Xinhui.Pan, Rodrigo.Siqueira, dri-devel,
	nicholas.kazlauskas, amd-gfx, kernel-dev, alexander.deucher,
	harry.wentland, christian.koenig, sungjoon.kim

On 16/07/2022 19:25, Melissa Wen wrote:
> AMD GPU display manager (DM) maps DRM pixel blend modes (None,
> Pre-multiplied, Coverage) to MPC hw blocks through blend configuration
> options. Describe relevant elements and how to set and test them to get
> the expected DRM blend mode on DCN hw.
> 
> Signed-off-by: Melissa Wen <mwen@igalia.com>
> ---
>   .../gpu/amdgpu/display/display-manager.rst    | 98 +++++++++++++++++++
>   Documentation/gpu/drm-kms.rst                 |  2 +
>   2 files changed, 100 insertions(+)
> 
> diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst b/Documentation/gpu/amdgpu/display/display-manager.rst
> index 8960a5f1fa66..7a495ed1f69e 100644
> --- a/Documentation/gpu/amdgpu/display/display-manager.rst
> +++ b/Documentation/gpu/amdgpu/display/display-manager.rst
> @@ -84,3 +84,101 @@ families below.
>   **DCN 3.0 family color caps and mapping**
>   
>   .. kernel-figure:: dcn3_cm_drm_current.svg
> +
> +Blend Mode Properties
> +=====================
> +
> +Pixel blend mode is a DRM plane composition property of :c:type:`drm_plane` used to
> +describes how pixels from a foreground plane (fg) are composited with the
> +background plane (bg). Here, we present main concepts of DRM blend mode to help
> +to understand how this property is mapped to AMD DC interface. See more about
> +this DRM property and the alpha blending equations in :ref:`DRM Plane
> +Composition Properties <plane_composition_properties>`.
> +
> +Basically, a blend mode sets the alpha blending equation for plane
> +composition that fits the mode in which the alpha channel affects the state of
> +pixel color values and, therefore, the resulted pixel color. For
> +example, consider the following elements of the alpha blending equation:
> +
> +- *fg.rgb*: Each of the RGB component values from the foreground's pixel.
> +- *fg.alpha*: Alpha component value from the foreground's pixel.
> +- *bg.rgb*: Each of the RGB component values from the background.
> +- *plane_alpha*: Plane alpha value set by the **plane "alpha" property**, see
> +  more in `DRM Plane Composition Properties <plane_composition_properties>`.

You forgot to use :ref: in here.

> +
> +in the basic alpha blending equation::
> +
> +   out.rgb = alpha * fg.rgb + (1 - alpha) * bg.rgb
> +
> +the alpha channel value of each pixel in a plane is ignored and only the plane
> +alpha affects the resulted pixel color values.
> +
> +DRM has three blend mode to define the blend formula in the plane composition:
> +
> +* **None**: Blend formula that ignores the pixel alpha.
> +
> +* **Pre-multiplied**: Blend formula that assumes the pixel color values in a
> +  plane was already pre-multiplied by its own alpha channel before storage.
> +
> +* **Coverage**: Blend formula that assumes the pixel color values were not
> +  pre-multiplied with the alpha channel values.
> +
> +and pre-multiplied is the default pixel blend mode, that means, when no blend
> +mode property is created or defined, DRM considers the plane's pixels has
> +pre-multiplied color values. On IGT GPU tools, the kms_plane_alpha_blend test
> +provides a set of subtests to verify plane alpha and blend mode properties.
> +
> +The DRM blend mode and its elements are then mapped by AMDGPU display manager
> +(DM) to program the blending configuration of the Multiple Pipe/Plane Combined
> +(MPC), as follows:
> +
> +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
> +   :doc: mpc-overview
> +
> +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
> +   :functions: mpcc_blnd_cfg
> +
> +Therefore, the blending configuration for a single MPCC instance on the MPC
> +tree is defined by :c:type:`mpcc_blnd_cfg`, where
> +:c:type:`pre_multiplied_alpha` is the alpha pre-multiplied mode flag used to
> +set :c:type:`MPCC_ALPHA_MULTIPLIED_MODE`. It controls whether alpha is
> +multiplied (true/false), being only true for DRM pre-multiplied blend mode.
> +:c:type:`mpcc_alpha_blend_mode` defines the alpha blend mode regarding pixel
> +alpha and plane alpha values. It sets one of the three modes for
> +:c:type:`MPCC_ALPHA_BLND_MODE`, as described below.
> +
> +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
> +   :functions: mpcc_alpha_blend_mode
> +
> +DM then maps the elements of `enum mpcc_alpha_blend_mode` to those in the DRM
> +blend formula, as follows:
> +
> +* *MPC pixel alpha* matches *DRM fg.alpha* as the alpha component value
> +  from the plane's pixel
> +* *MPC global alpha* matches *DRM plane_alpha* when the pixel alpha should
> +  be ignored and, therefore, pixel values are not pre-multiplied
> +* *MPC global gain* assumes *MPC global alpha* value when both *DRM
> +  fg.alpha* and *DRM plane_alpha* participate in the blend equation
> +
> +In short, *fg.alpha* is ignored by selecting
> +:c:type:`MPCC_ALPHA_BLEND_MODE_GLOBAL_ALPHA`. On the other hand, (plane_alpha *
> +fg.alpha) component becomes available by selecting
> +:c:type:`MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA_COMBINED_GLOBAL_GAIN`. And the
> +:c:type:`MPCC_ALPHA_MULTIPLIED_MODE` defines if the pixel color values are
> +pre-multiplied by alpha or not.
> +
> +Blend configuration flow
> +------------------------
> +
> +The alpha blending equation is configured from DRM to DC interface by the
> +following path:
> +
> +1. When updating a :c:type:`drm_plane_state <drm_plane_state>`, DM calls
> +   :c:type:`fill_blending_from_plane_state()` that maps
> +   :c:type:`drm_plane_state <drm_plane_state>` attributes to
> +   :c:type:`dc_plane_info <dc_plane_info>` struct to be handled in the
> +   OS-agnostic component (DC).
> +
> +2. On DC interface, :c:type:`struct mpcc_blnd_cfg <mpcc_blnd_cfg>` programs the
> +   MPCC blend configuration considering the :c:type:`dc_plane_info
> +   <dc_plane_info>` input from DPP.
> diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst
> index d14bf1c35d7e..7ec9dbe18b65 100644
> --- a/Documentation/gpu/drm-kms.rst
> +++ b/Documentation/gpu/drm-kms.rst
> @@ -532,6 +532,8 @@ Standard Plane Properties
>   .. kernel-doc:: drivers/gpu/drm/drm_plane.c
>      :doc: standard plane properties
>   
> +.. _plane_composition_properties:
> +
>   Plane Composition Properties
>   ----------------------------
>   

 From a beginner's perspective, the changes from this series are 
readable, but I cannot tell if there are any technical mistakes. So,
regarding readability and rendering htmldocs, apart from the nits I've 
raised, this whole series is

Reviewed-by: Tales Aparecida <tales.aparecida@gmail.com>

Thanks for the patch series, Melissa,
Tales Aparecida

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/4] drm/amd/display: add doc entries for MPC blending configuration
  2022-07-18  1:25   ` Tales Lelo da Aparecida
@ 2022-07-20 21:33     ` Melissa Wen
  0 siblings, 0 replies; 16+ messages in thread
From: Melissa Wen @ 2022-07-20 21:33 UTC (permalink / raw)
  To: Tales Lelo da Aparecida
  Cc: sunpeng.li, Xinhui.Pan, Rodrigo.Siqueira, dri-devel,
	nicholas.kazlauskas, amd-gfx, kernel-dev, alexander.deucher,
	harry.wentland, christian.koenig, sungjoon.kim


[-- Attachment #1.1: Type: text/plain, Size: 8380 bytes --]

On 07/17, Tales Lelo da Aparecida wrote:
> On 16/07/2022 19:25, Melissa Wen wrote:
> > Describe structs and enums used to set blend mode properties to MPC
> > blocks. Some pieces of information are already available as code
> > comments, and were just formatted. Others were collected and summarised
> > from discusssions on AMD issue tracker[1][2].
> 
> Typo in the commit message: discusssions -> discussions
> 
> > 
> > [1] https://gitlab.freedesktop.org/drm/amd/-/issues/1734
> > [2] https://gitlab.freedesktop.org/drm/amd/-/issues/1769
> > 
> > Signed-off-by: Melissa Wen <mwen@igalia.com>
> > ---
> >   drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h | 91 +++++++++++++++++----
> >   1 file changed, 77 insertions(+), 14 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h b/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
> > index 5097037e3962..cf28b841c42d 100644
> > --- a/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
> > +++ b/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
> > @@ -22,6 +22,16 @@
> >    *
> >    */
> > +/**
> > + * DOC: mpc-overview
> > + *
> > + * Multiple Pipe/Plane Combined (MPC) is a component in the hardware pipeline
> > + * that performs blending of multiple planes, using global and per-pixel alpha.
> > + * It also performs post-blending color correction operations according to the
> > + * hardware capabilities, such as color transformation matrix and gamma 1D and
> > + * 3D LUT.
> > + */
> > +
> >   #ifndef __DC_MPCC_H__
> >   #define __DC_MPCC_H__
> > @@ -48,14 +58,39 @@ enum mpcc_blend_mode {
> >   	MPCC_BLEND_MODE_TOP_BOT_BLENDING
> >   };
> > +/**
> > + * enum mpcc_alpha_blend_mode - define the alpha blend mode regarding pixel
> > + * alpha and plane alpha values
> > + */
> >   enum mpcc_alpha_blend_mode {
> > +	/**
> > +	 * @MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA: per pixel alpha using DPP
> > +	 * alpha value
> > +	 */
> >   	MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA,
> > +	/**
> > +	 * @MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA_COMBINED_GLOBAL_GAIN: per
> > +	 * pixel alpha using DPP alpha value multiplied by a global gain (plane
> > +	 * alpha)
> > +	 */
> >   	MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA_COMBINED_GLOBAL_GAIN,
> > +	/**
> > +	 * @MPCC_ALPHA_BLEND_MODE_GLOBAL_ALPHA: global alpha value, ignores
> > +	 * pixel alpha and consider only plane alpha
> > +	 */
> >   	MPCC_ALPHA_BLEND_MODE_GLOBAL_ALPHA
> >   };
> > -/*
> > - * MPCC blending configuration
> > +/**
> > + * struct mpcc_blnd_cfg - MPCC blending configuration
> > + *
> > + * @black_color: background color
> > + * @alpha_mode: alpha blend mode (MPCC_ALPHA_BLND_MODE)
> > + * @pre_multiplied_alpha: whether pixel color values were pre-multiplied by the
> > + * alpha channel (MPCC_ALPHA_MULTIPLIED_MODE)
> > + * @global_gain: used when blend mode considers both pixel alpha and plane
> > + * alpha value and assumes the global alpha value.
> > + * @global_alpha: plane alpha value
> 
> There's quite a few members missing definition. After reading the 4th patch
> may I conclude that they weren't relevant for what's being described about
> alpha blending?

Hi Tales,

although they aren't changed for DRM blend modes programming, it would
be nice if someone can describe them and also avoid those warnings. I
wasn't able to identify how they behave for MPC programming (hope
someone from AMD can help on documenting them).

> 
> ./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:109: warning: Function
> parameter or member 'overlap_only' not described in 'mpcc_blnd_cfg'
> ./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:109: warning: Function
> parameter or member 'bottom_gain_mode' not described in 'mpcc_blnd_cfg'
> ./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:109: warning: Function
> parameter or member 'background_color_bpc' not described in 'mpcc_blnd_cfg'
> ./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:109: warning: Function
> parameter or member 'top_gain' not described in 'mpcc_blnd_cfg'
> ./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:109: warning: Function
> parameter or member 'bottom_inside_gain' not described in 'mpcc_blnd_cfg'
> ./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:109: warning: Function
> parameter or member 'bottom_outside_gain' not described in 'mpcc_blnd_cfg'
> 
> >    */
> >   struct mpcc_blnd_cfg {
> >   	struct tg_color black_color;	/* background color */
> > @@ -107,8 +142,15 @@ struct mpc_dwb_flow_control {
> >   	int flow_ctrl_cnt1;
> >   };
> > -/*
> > - * MPCC connection and blending configuration for a single MPCC instance.
> > +/**
> > + * struct mpcc - MPCC connection and blending configuration for a single MPCC instance.
> 
> Might be worth writing the definition of the abbreviation, if not here, in
> the glossary... I couldn't find what the last "C" stands for, my guess would
> be "context". hehehe
> 
> > + * @mpcc_id: MPCC physical instance
> > + * @dpp_id: DPP input to this MPCC
> > + * @mpcc_bot: pointer to bottom layer MPCC. NULL when not connected.
> > + * @blnd_cfg: the blending configuration for this MPCC
> > + * @sm_cfg: stereo mix setting for this MPCC
> > + * @shared_bottom: if MPCC output to both OPP and DWB endpoints, true. Othewise, false.
> 
> Typo Othewise -> Otherwise
> 
> > + *
> >    * This struct is used as a node in an MPC tree.
> >    */
> >   struct mpcc {
> > @@ -120,8 +162,12 @@ struct mpcc {
> >   	bool shared_bottom;		/* TRUE if MPCC output to both OPP and DWB endpoints, else FALSE */
> >   };
> > -/*
> > - * MPC tree represents all MPCC connections for a pipe.
> > +/**
> > + * struct mpc_tree - MPC tree represents all MPCC connections for a pipe.
> > + *
> > + * @opp_id: the OPP instance that owns this MPC tree
> > + * @opp_list: the top MPCC layer of the MPC tree that outputs to OPP endpoint
> > + *
> >    */
> >   struct mpc_tree {
> >   	int opp_id;			/* The OPP instance that owns this MPC tree */
> > @@ -149,13 +195,18 @@ struct mpcc_state {
> >   	uint32_t busy;
> >   };
> > +/**
> > + * struct mpc_funcs - funcs
> > + */
> >   struct mpc_funcs {
> >   	void (*read_mpcc_state)(
> >   			struct mpc *mpc,
> >   			int mpcc_inst,
> >   			struct mpcc_state *s);
> > -	/*
> > +	/**
> > +	 * @insert_plane:
> > +	 *
> >   	 * Insert DPP into MPC tree based on specified blending position.
> >   	 * Only used for planes that are part of blending chain for OPP output
> >   	 *
> > @@ -180,7 +231,9 @@ struct mpc_funcs {
> >   			int dpp_id,
> >   			int mpcc_id);
> > -	/*
> > +	/**
> > +	 * @remove_mpcc:
> > +	 *
> >   	 * Remove a specified MPCC from the MPC tree.
> >   	 *
> >   	 * Parameters:
> > @@ -195,7 +248,9 @@ struct mpc_funcs {
> >   			struct mpc_tree *tree,
> >   			struct mpcc *mpcc);
> > -	/*
> > +	/**
> > +	 * @mpc_init:
> > +	 *
> >   	 * Reset the MPCC HW status by disconnecting all muxes.
> >   	 *
> >   	 * Parameters:
> > @@ -208,7 +263,9 @@ struct mpc_funcs {
> >   			struct mpc *mpc,
> >   			unsigned int mpcc_id);
> > -	/*
> > +	/**
> > +	 * @update_blending:
> > +	 *
> >   	 * Update the blending configuration for a specified MPCC.
> >   	 *
> >   	 * Parameters:
> > @@ -223,7 +280,9 @@ struct mpc_funcs {
> >   		struct mpcc_blnd_cfg *blnd_cfg,
> >   		int mpcc_id);
> > -	/*
> > +	/**
> > +	 * @cursor_lock:
> > +	 *
> >   	 * Lock cursor updates for the specified OPP.
> >   	 * OPP defines the set of MPCC that are locked together for cursor.
> >   	 *
> > @@ -239,8 +298,10 @@ struct mpc_funcs {
> >   			int opp_id,
> >   			bool lock);
> > -	/*
> > -	 * Add DPP into 'secondary' MPC tree based on specified blending position.
> > +	/**
> > +	 * @insert_plane_to_secondary:
> > +	 *
> > +	 * Add DPP into secondary MPC tree based on specified blending position.
> >   	 * Only used for planes that are part of blending chain for DWB output
> >   	 *
> >   	 * Parameters:
> > @@ -264,7 +325,9 @@ struct mpc_funcs {
> >   			int dpp_id,
> >   			int mpcc_id);
> > -	/*
> > +	/**
> > +	 * @remove_mpcc_from_secondary:
> > +	 *
> >   	 * Remove a specified DPP from the 'secondary' MPC tree.
> >   	 *
> >   	 * Parameters:
> 
> Thanks for the patch,
> Tales Aparecida

Thanks for reviewing them. I'll address your suggestions in the next
version.

Melissa


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/4] Documentation/amdgpu/display: add DC color caps info
  2022-07-17 23:28   ` Tales Lelo da Aparecida
@ 2022-07-20 21:39     ` Melissa Wen
  2022-07-27 21:21     ` Rodrigo Siqueira Jordao
  1 sibling, 0 replies; 16+ messages in thread
From: Melissa Wen @ 2022-07-20 21:39 UTC (permalink / raw)
  To: Tales Lelo da Aparecida
  Cc: sunpeng.li, Xinhui.Pan, Rodrigo.Siqueira, dri-devel,
	nicholas.kazlauskas, amd-gfx, kernel-dev, alexander.deucher,
	harry.wentland, christian.koenig, sungjoon.kim

[-- Attachment #1: Type: text/plain, Size: 148895 bytes --]

On 07/17, Tales Lelo da Aparecida wrote:
> On 16/07/2022 19:25, Melissa Wen wrote:
> > Add details about color correction capabilities and explain a bit about
> > differences between DC hw generations and also how they are mapped
> > between DRM and DC interface. Two schemas for DCN 2.0 and 3.0 (converted
> > to svg from the original png) is included to illustrate it. They were
> > obtained from a discussion[1] in the amd-gfx mailing list.
> > 
> > [1] https://lore.kernel.org/amd-gfx/20220422142811.dm6vtk6v64jcwydk@mail.igalia.com/
> > 
> > v2:
> > 
> > - remove redundant comments (Harry)
> > - fix typo (Harry)
> > 
> > Signed-off-by: Melissa Wen <mwen@igalia.com>
> > ---
> >   .../amdgpu/display/dcn2_cm_drm_current.svg    | 1370 +++++++++++++++
> >   .../amdgpu/display/dcn3_cm_drm_current.svg    | 1529 +++++++++++++++++
> >   .../gpu/amdgpu/display/display-manager.rst    |   35 +
> >   drivers/gpu/drm/amd/display/dc/dc.h           |   74 +-
> >   4 files changed, 2995 insertions(+), 13 deletions(-)
> >   create mode 100644 Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
> >   create mode 100644 Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
> > 
> > diff --git a/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg b/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
> > new file mode 100644
> > index 000000000000..315ffc5a1a4b
> > --- /dev/null
> > +++ b/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
> > @@ -0,0 +1,1370 @@
> > +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
> > +<!-- Created with Inkscape (http://www.inkscape.org/) -->
> > +
> > +<svg
> > +   version="1.1"
> > +   id="svg2019"
> > +   width="1702"
> > +   height="1845"
> > +   viewBox="0 0 1702 1845"
> > +   sodipodi:docname="dcn2_cm_drm_current.svg"
> > +   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
> > +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
> > +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
> > +   xmlns="http://www.w3.org/2000/svg"
> > +   xmlns:svg="http://www.w3.org/2000/svg">
> > +  <defs
> > +     id="defs2023" />
> > +  <sodipodi:namedview
> > +     id="namedview2021"
> > +     pagecolor="#ffffff"
> > +     bordercolor="#666666"
> > +     borderopacity="1.0"
> > +     inkscape:pageshadow="2"
> > +     inkscape:pageopacity="0.0"
> > +     inkscape:pagecheckerboard="0"
> > +     showgrid="false"
> > +     inkscape:zoom="0.56413987"
> > +     inkscape:cx="1003.2973"
> > +     inkscape:cy="691.31792"
> > +     inkscape:window-width="1920"
> > +     inkscape:window-height="1011"
> > +     inkscape:window-x="0"
> > +     inkscape:window-y="0"
> > +     inkscape:window-maximized="1"
> > +     inkscape:current-layer="g2025" />
> > +  <g
> > +     inkscape:groupmode="layer"
> > +     inkscape:label="Image"
> > +     id="g2025">
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > +       id="rect34"
> > +       width="208.83351"
> > +       height="486.09872"
> > +       x="0.90158081"
> > +       y="132.77872" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1019"
> > +       width="126.38867"
> > +       height="55.320732"
> > +       x="25.960823"
> > +       y="188.06937" />
> > +    <rect
> > +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1021"
> > +       width="126.38867"
> > +       height="55.320732"
> > +       x="25.960823"
> > +       y="346.06937" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1103"
> > +       width="126.38867"
> > +       height="55.320732"
> > +       x="25.960823"
> > +       y="266.06937" />
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1105"
> > +       width="126.38867"
> > +       height="55.320732"
> > +       x="25.960823"
> > +       y="426.06937" />
> > +    <rect
> > +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1107"
> > +       width="126.38867"
> > +       height="55.320732"
> > +       x="25.960823"
> > +       y="506.06934" />
> > +    <path
> > +       d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
> > +       id="path381056"
> > +       sodipodi:nodetypes="cccccccccc"
> > +       style="stroke-width:0.205176"
> > +       inkscape:transform-center-x="-325.50819"
> > +       inkscape:transform-center-y="-121.97185" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > +       id="rect1131"
> > +       width="239.47592"
> > +       height="1015.9909"
> > +       x="298.65631"
> > +       y="82.399658" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1"
> > +       id="rect1133"
> > +       width="340.44653"
> > +       height="525.77448"
> > +       x="298.79562"
> > +       y="1142.5299" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > +       id="rect1237"
> > +       width="284.00113"
> > +       height="945.41412"
> > +       x="827.75012"
> > +       y="82.880798"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > +       id="rect1239"
> > +       width="239.37569"
> > +       height="179.03308"
> > +       x="1356.9507"
> > +       y="98.758331" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1"
> > +       id="rect1241"
> > +       width="239.4184"
> > +       height="713.64905"
> > +       x="1356.9543"
> > +       y="307.7951"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > +       id="rect1345"
> > +       width="330.32059"
> > +       height="409.44757"
> > +       x="1363.8723"
> > +       y="1147.7572" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > +       id="rect1347"
> > +       width="369.8941"
> > +       height="682.32245"
> > +       x="825.72528"
> > +       y="1146.6448"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1349"
> > +       width="163.95746"
> > +       height="40.144867"
> > +       x="1389.9988"
> > +       y="190.80583" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1"
> > +       id="rect1619"
> > +       width="271.99091"
> > +       height="42.038273"
> > +       x="1393.981"
> > +       y="1197.161"
> > +       inkscape:connector-avoid="true" />
> > +    <path
> > +       d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
> > +       id="path106-1"
> > +       sodipodi:nodetypes="cccccccccc"
> > +       style="stroke-width:0.205176"
> > +       inkscape:transform-center-x="-325.50819"
> > +       inkscape:transform-center-y="-121.97185" />
> > +    <path
> > +       d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
> > +       id="path106-1-7"
> > +       sodipodi:nodetypes="cccccccccc"
> > +       style="stroke-width:0.205176"
> > +       inkscape:transform-center-x="-325.50819"
> > +       inkscape:transform-center-y="-121.97185" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1623"
> > +       width="137.32646"
> > +       height="41.782684"
> > +       x="1396.3848"
> > +       y="1268.2837"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1705"
> > +       width="137.32646"
> > +       height="41.782684"
> > +       x="1396.3848"
> > +       y="1348.2837" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1707"
> > +       width="137.32646"
> > +       height="41.782684"
> > +       x="1396.3848"
> > +       y="1432.2837" />
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1731"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="190.42665"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1813"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="254.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1815"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="318.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1817"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="412.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1819"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="560.42664" />
> > +    <rect
> > +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1821"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="674.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1823"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="744.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1825"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="820.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1827"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="890.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1829"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="956.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1831"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1256.4268" />
> > +    <rect
> > +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1833"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1402.4268" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1915"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1330.4268"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1917"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1478.4268" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1919"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1548.4268" />
> > +    <rect
> > +       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1921"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1614.4268" />
> > +    <rect
> > +       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1923"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1686.4268" />
> > +    <rect
> > +       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1925"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1754.4268" />
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > +       id="rect1925-3"
> > +       width="169.23357"
> > +       height="44.678963"
> > +       x="325.21747"
> > +       y="134.37756" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > +       id="rect1954"
> > +       width="169.23357"
> > +       height="44.678963"
> > +       x="325.21747"
> > +       y="276.37756"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
> > +       id="rect1956"
> > +       width="168.66573"
> > +       height="122.14091"
> > +       x="325.50134"
> > +       y="358.6615"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > +       id="rect1958"
> > +       width="169.23357"
> > +       height="44.678963"
> > +       x="325.21747"
> > +       y="672.37756" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > +       id="rect1960"
> > +       width="169.23357"
> > +       height="44.678963"
> > +       x="325.21747"
> > +       y="744.37756" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> > +       id="rect1962"
> > +       width="169.14041"
> > +       height="54.756817"
> > +       x="325.26404"
> > +       y="814.42413"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> > +       id="rect1964"
> > +       width="169.14041"
> > +       height="54.756817"
> > +       x="325.26404"
> > +       y="886.42413"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> > +       id="rect1966"
> > +       width="169.14041"
> > +       height="54.756817"
> > +       x="325.26404"
> > +       y="952.42413"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1"
> > +       id="rect2428"
> > +       width="169.0854"
> > +       height="61.19017"
> > +       x="325.29156"
> > +       y="1468.4518" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1"
> > +       id="rect2430"
> > +       width="169.26669"
> > +       height="41.344128"
> > +       x="325.20093"
> > +       y="1550.3611" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1"
> > +       id="rect2432"
> > +       width="287.86237"
> > +       height="44.416805"
> > +       x="325.34854"
> > +       y="1194.5088" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1"
> > +       id="rect2434"
> > +       width="285.86655"
> > +       height="44.4207"
> > +       x="867.34656"
> > +       y="1194.5068" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2509" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2511" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2513" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2515" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2517" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2519" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2521" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2523" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2525" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2527" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2529" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2531" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 442.80064,179.02883 0.91401,36.01283 423.64827,-2.29193"
> > +       id="path6876"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1925-3"
> > +       inkscape:connection-end="#rect1731"
> > +       sodipodi:nodetypes="ccc" />
> > +    <path
> > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 494.45103,156.71704 205.18886,-0.43622 0.59548,162.1112 167.12755,0.0346"
> > +       id="path6878"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1925-3"
> > +       sodipodi:nodetypes="cccc" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 447.83425,321.05653 v 19.69319 h 419.52867"
> > +       id="path7294"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1954"
> > +       inkscape:connection-end="#rect1815"
> > +       sodipodi:nodetypes="ccc" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292"
> > +       id="path7296"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-end="#rect1817"
> > +       inkscape:connection-start="#rect1954"
> > +       sodipodi:nodetypes="cccc" />
> > +    <path
> > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 867.36292,560.42664 -422.77356,1.33638 0.45008,-79.26417"
> > +       id="path7720"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       sodipodi:nodetypes="ccc" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 494.45103,696.74972 H 867.36292"
> > +       id="path7726"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1958"
> > +       inkscape:connection-end="#rect1821" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 867.36292,766.74972 H 494.45103"
> > +       id="path7728"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1823"
> > +       inkscape:connection-end="#rect1960" />
> > +    <path
> > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292"
> > +       id="path7730"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-end="#rect1831"
> > +       sodipodi:nodetypes="cccc" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874"
> > +       id="path8140"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1962"
> > +       inkscape:connection-end="#rect1825" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874"
> > +       id="path8142"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1964"
> > +       inkscape:connection-end="#rect1827" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874"
> > +       id="path8144"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1966"
> > +       inkscape:connection-end="#rect1829" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 494.37697,1500.7498 H 867.36292"
> > +       id="path8150"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect2428"
> > +       inkscape:connection-end="#rect1917" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 494.46762,1570.7498 h 372.8953"
> > +       id="path8152"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect2430"
> > +       inkscape:connection-end="#rect1919" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368"
> > +       id="path8154"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1623"
> > +       inkscape:connection-end="#rect1819" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 1396.3848,1369.175 -159.2837,-1.364 0.5816,-88.2579 -147.975,-0.8033"
> > +       id="path8462"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1705"
> > +       inkscape:connection-end="#rect1831"
> > +       sodipodi:nodetypes="cccc" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 1089.7077,1500.7498 h 375.3403 v -26.6834"
> > +       id="path8668"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1917"
> > +       inkscape:connection-end="#rect1707" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 1389.9988,212.74973 H 1089.7077"
> > +       id="path8672"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1349"
> > +       inkscape:connection-end="#rect1731" />
> > +    <path
> > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233"
> > +       id="path8674"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-end="#rect1815"
> > +       sodipodi:nodetypes="cccc" />
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="58.63356"
> > +       y="69.574417"
> > +       id="text28675"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan28673"
> > +         x="58.63356"
> > +         y="69.574417" /></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="56.388252"
> > +       y="221.86568"
> > +       id="text31913"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan31911"
> > +         x="56.388252"
> > +         y="221.86568">Matrix</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="53.441296"
> > +       y="300.866"
> > +       id="text38843"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan38841"
> > +         x="53.441296"
> > +         y="300.866">1D LUT</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="53.441296"
> > +       y="378.866"
> > +       id="text41049"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan41047"
> > +         x="53.441296"
> > +         y="378.866">3D LUT</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="40.831493"
> > +       y="460.87411"
> > +       id="text45037"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan45035"
> > +         x="40.831493"
> > +         y="460.87411"
> > +         style="font-size:18.6667px">Unpacking</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="62.130371"
> > +       y="540.68872"
> > +       id="text49945"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan49943"
> > +         x="62.130371"
> > +         y="540.68872"
> > +         style="font-size:18.6667px">Other</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1423.2806"
> > +       y="128.08769"
> > +       id="text55719"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan55717"
> > +         x="1423.2806"
> > +         y="128.08769"
> > +         style="font-size:18.6667px">drm_framebuffer</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1439.9988"
> > +       y="218.74973"
> > +       id="text62479"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan62477"
> > +         x="1439.9988"
> > +         y="218.74973"
> > +         style="font-size:18.6667px">format</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1475.2806"
> > +       y="340.08771"
> > +       id="text64465"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64463"
> > +         x="1475.2806"
> > +         y="340.08771"
> > +         style="font-size:18.6667px">drm_plane</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1589.2806"
> > +       y="1178.0876"
> > +       id="text64469"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467"
> > +         x="1589.2806"
> > +         y="1178.0876"
> > +         style="font-size:18.6667px">drm_crtc</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="872.23993"
> > +       y="1172.4491"
> > +       id="text64469-9"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2"
> > +         x="872.23993"
> > +         y="1172.4491"
> > +         style="font-size:18.6667px">Stream</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="328.26071"
> > +       y="1175.6371"
> > +       id="text64469-9-2"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-8"
> > +         x="328.26071"
> > +         y="1175.6371"
> > +         style="font-size:18.6667px">MPC</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="330.14737"
> > +       y="114.41869"
> > +       id="text64469-9-9"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-7"
> > +         x="330.14737"
> > +         y="114.41869"
> > +         style="font-size:18.6667px">DPP</tspan></text>
> > +    <path
> > +       d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
> > +       id="path106"
> > +       sodipodi:nodetypes="cccccccccc"
> > +       style="stroke-width:0.205176"
> > +       inkscape:transform-center-x="-325.50819"
> > +       inkscape:transform-center-y="-121.97185" />
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1495.9988"
> > +       y="1224.7498"
> > +       id="text78849"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78847"
> > +         x="1495.9988"
> > +         y="1224.7498"
> > +         style="font-size:18.6667px">Blender</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1417.9988"
> > +       y="1294.7498"
> > +       id="text78853"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78851"
> > +         x="1417.9988"
> > +         y="1294.7498"
> > +         style="font-size:18.6667px">Degamma</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1451.9988"
> > +       y="1376.7498"
> > +       id="text78857"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78855"
> > +         x="1451.9988"
> > +         y="1376.7498"
> > +         style="font-size:18.6667px">CTM</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1427.9988"
> > +       y="1458.7498"
> > +       id="text78861"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78859"
> > +         x="1427.9988"
> > +         y="1458.7498"
> > +         style="font-size:18.6667px">Gamma</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="949.99878"
> > +       y="218.74973"
> > +       id="text104653"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan104651"
> > +         x="949.99878"
> > +         y="218.74973"
> > +         style="font-size:18.6667px">format</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="911.99878"
> > +       y="284.74973"
> > +       id="text104657"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan104655"
> > +         x="911.99878"
> > +         y="284.74973"
> > +         style="font-size:18.6667px">bias_and_scale</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="887.99878"
> > +       y="346.74973"
> > +       id="text104661"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan104659"
> > +         x="887.99878"
> > +         y="346.74973"
> > +         style="font-size:18.6667px">color space matrix</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="871.99878"
> > +       y="442.74973"
> > +       id="text104665"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan104663"
> > +         x="871.99878"
> > +         y="442.74973"
> > +         style="font-size:18.6667px">input_csc_color_matrix</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="905.99878"
> > +       y="586.74976"
> > +       id="text125075"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan125073"
> > +         x="905.99878"
> > +         y="586.74976"
> > +         style="font-size:18.6667px">in_transfer_func</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="945.0083"
> > +       y="702.85938"
> > +       id="text117309"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan117307"
> > +         x="945.0083"
> > +         y="702.85938"
> > +         style="font-size:18.6667px">hdr_mult</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="874.5556"
> > +       y="773.42615"
> > +       id="text117309-6"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan117307-7"
> > +         x="874.5556"
> > +         y="773.42615"
> > +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="913.72528"
> > +       y="846.55896"
> > +       id="text117309-5"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan117307-3"
> > +         x="913.72528"
> > +         y="846.55896"
> > +         style="font-size:18.6667px">in_shaper_func</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="937.72528"
> > +       y="918.25787"
> > +       id="text117309-56"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan117307-2"
> > +         x="937.72528"
> > +         y="918.25787"
> > +         style="font-size:18.6667px">lut3d_func</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="945.9895"
> > +       y="986.10767"
> > +       id="text117309-9"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan117307-1"
> > +         x="945.9895"
> > +         y="986.10767"
> > +         style="font-size:18.6667px">blend_tf</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="975.91803"
> > +       y="1224.5564"
> > +       id="text137434"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432"
> > +         x="975.91803"
> > +         y="1224.5564"
> > +         style="font-size:18.6667px">Blender</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="879.31372"
> > +       y="1283.4249"
> > +       id="text137434-2"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-7"
> > +         x="879.31372"
> > +         y="1283.4249"
> > +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="925.31372"
> > +       y="1359.2747"
> > +       id="text137434-0"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-9"
> > +         x="925.31372"
> > +         y="1359.2747"
> > +         style="font-size:18.6667px">func_shaper</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="930.33252"
> > +       y="1430.2566"
> > +       id="text137434-3"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-6"
> > +         x="930.33252"
> > +         y="1430.2566"
> > +         style="font-size:18.6667px">lut3d_func</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="900.18158"
> > +       y="1504.6725"
> > +       id="text137434-06"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-2"
> > +         x="900.18158"
> > +         y="1504.6725"
> > +         style="font-size:18.6667px">out_transfer_func</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="904.0307"
> > +       y="1575.8053"
> > +       id="text137434-6"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-1"
> > +         x="904.0307"
> > +         y="1575.8053"
> > +         style="font-size:18.6667px">csc_color_matrix</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="903.16278"
> > +       y="1642.1078"
> > +       id="text137434-8"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-79"
> > +         x="903.16278"
> > +         y="1642.1078"
> > +         style="font-size:18.6667px">bit_depth_param</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="939.31372"
> > +       y="1713.8068"
> > +       id="text137434-20"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-23"
> > +         x="939.31372"
> > +         y="1713.8068"
> > +         style="font-size:18.6667px">clamping</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="894.0307"
> > +       y="1782.5244"
> > +       id="text137434-7"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-5"
> > +         x="894.0307"
> > +         y="1782.5244"
> > +         style="font-size:18.6667px">output_color_space</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="869.63062"
> > +       y="117.7968"
> > +       id="text176429"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan176427"
> > +         x="869.63062"
> > +         y="117.7968"
> > +         style="font-size:18.6667px">Plane</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="27.605465"
> > +       y="162.20587"
> > +       id="text176429-2"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan176427-0"
> > +         x="27.605465"
> > +         y="162.20587"
> > +         style="font-size:18.6667px">Legend</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="298.63959"
> > +       y="59.293999"
> > +       id="text176429-9"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan176427-2"
> > +         x="298.63959"
> > +         y="59.293999"
> > +         style="font-size:18.6667px">DCN 2.0</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="826.65735"
> > +       y="59.458061"
> > +       id="text176429-66"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan176427-4"
> > +         x="826.65735"
> > +         y="59.458061"
> > +         style="font-size:18.6667px">DC Interface</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1362.9948"
> > +       y="59.458061"
> > +       id="text176429-95"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan176427-04"
> > +         x="1362.9948"
> > +         y="59.458061"
> > +         style="font-size:18.6667px">DRM Interface</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="867.34656"
> > +       y="1194.5068"
> > +       id="text184728"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan184726"
> > +         x="867.34656"
> > +         y="1194.5068" /></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="389.01593"
> > +       y="159.8909"
> > +       id="text64469-9-3"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-6"
> > +         x="389.01593"
> > +         y="159.8909"
> > +         style="font-size:18.6667px">CNVC</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="365.88379"
> > +       y="303.59048"
> > +       id="text64469-9-1"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-2"
> > +         x="365.88379"
> > +         y="303.59048"
> > +         style="font-size:18.6667px">Input CSC</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="409.06488"
> > +       y="404.95001"
> > +       id="text64469-9-93"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-1"
> > +         x="409.06488"
> > +         y="404.95001"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="409.06488"
> > +         y="428.28339"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan233797">RAM and ROM</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="409.06488"
> > +         y="451.61676"
> > +         style="font-size:10.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan242597">(sRGB, BT2020</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="351.16684"
> > +       y="700.34918"
> > +       id="text64469-9-0"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-3"
> > +         x="351.16684"
> > +         y="700.34918"
> > +         style="font-size:18.6667px">HDR Multiply</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="345.16684"
> > +       y="771.33112"
> > +       id="text64469-9-6"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-10"
> > +         x="345.16684"
> > +         y="771.33112"
> > +         style="font-size:18.6667px">Gamut Remap</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="412.5184"
> > +       y="836.04877"
> > +       id="text64469-9-63"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-20"
> > +         x="412.5184"
> > +         y="836.04877"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="412.5184"
> > +         y="859.38214"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan222533">RAM</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="413.54086"
> > +       y="908.61554"
> > +       id="text64469-9-61"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-55"
> > +         x="413.54086"
> > +         y="908.61554"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="413.54086"
> > +         y="931.94891"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan221121">RAM</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="344.0347"
> > +       y="985.33319"
> > +       id="text64469-9-47"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-65"
> > +         x="344.0347"
> > +         y="985.33319"
> > +         style="font-size:18.6667px">Blend Gamma</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="433.84625"
> > +       y="1223.411"
> > +       id="text64469-9-69"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-37"
> > +         x="433.84625"
> > +         y="1223.411"
> > +         style="font-size:18.6667px">Blender</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="408.64996"
> > +       y="1492.8102"
> > +       id="text64469-9-8"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-84"
> > +         x="408.64996"
> > +         y="1492.8102"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="408.64996"
> > +         y="1516.1436"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan197733">RAM</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="385.46863"
> > +       y="1575.2261"
> > +       id="text64469-9-31"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-49"
> > +         x="385.46863"
> > +         y="1575.2261"
> > +         style="font-size:18.6667px">OCSC</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1356.5106"
> > +       y="53.140579"
> > +       id="text273287"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan273285"
> > +         x="1356.5106"
> > +         y="53.140579" /></text>
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1411"
> > +       width="177.28049"
> > +       height="38.940468"
> > +       x="1392.2576"
> > +       y="459.24118" />
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1411.7203"
> > +       y="485.93231"
> > +       id="text78841"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78839"
> > +         x="1411.7203"
> > +         y="485.93231"
> > +         style="font-size:18.6667px">color_encoding</tspan></text>
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1515"
> > +       width="175.11876"
> > +       height="43.239407"
> > +       x="1393.7493"
> > +       y="525.6983" />
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1399.212"
> > +       y="553.44904"
> > +       id="text78845"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78843"
> > +         x="1399.212"
> > +         y="553.44904">pixel_blend_mode</tspan></text>
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect371322"
> > +       width="177.28049"
> > +       height="38.940468"
> > +       x="1391.6781"
> > +       y="385.61713" />
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1427.5771"
> > +       y="409.29523"
> > +       id="text78837"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78835"
> > +         x="1427.5771"
> > +         y="409.29523"
> > +         style="font-size:18.6667px">color_range</tspan></text>
> > +    <path
> > +       d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > +       id="path371636-7"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > +       id="path371636-7-2"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-7"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-22"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-6"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-1"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-5"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-9"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-4"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-90"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-91"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > +       id="path371636-7-59"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +  </g>
> > +</svg>
> > diff --git a/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg b/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
> > new file mode 100644
> > index 000000000000..7299ee9b6d64
> > --- /dev/null
> > +++ b/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
> > @@ -0,0 +1,1529 @@
> > +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
> > +<!-- Created with Inkscape (http://www.inkscape.org/) -->
> > +
> > +<svg
> > +   version="1.1"
> > +   id="svg2019"
> > +   width="1702"
> > +   height="1845"
> > +   viewBox="0 0 1702 1845"
> > +   sodipodi:docname="dcn3_cm_drm_current.svg"
> > +   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
> > +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
> > +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
> > +   xmlns="http://www.w3.org/2000/svg"
> > +   xmlns:svg="http://www.w3.org/2000/svg">
> > +  <defs
> > +     id="defs2023" />
> > +  <sodipodi:namedview
> > +     id="namedview2021"
> > +     pagecolor="#ffffff"
> > +     bordercolor="#666666"
> > +     borderopacity="1.0"
> > +     inkscape:pageshadow="2"
> > +     inkscape:pageopacity="0.0"
> > +     inkscape:pagecheckerboard="0"
> > +     showgrid="false"
> > +     inkscape:zoom="0.55760543"
> > +     inkscape:cx="1011.4679"
> > +     inkscape:cy="249.28021"
> > +     inkscape:window-width="1920"
> > +     inkscape:window-height="1011"
> > +     inkscape:window-x="0"
> > +     inkscape:window-y="0"
> > +     inkscape:window-maximized="1"
> > +     inkscape:current-layer="g2025" />
> > +  <g
> > +     inkscape:groupmode="layer"
> > +     inkscape:label="Image"
> > +     id="g2025">
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > +       id="rect34"
> > +       width="208.83351"
> > +       height="486.09872"
> > +       x="0.90158081"
> > +       y="132.77872" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1019"
> > +       width="126.38867"
> > +       height="55.320732"
> > +       x="25.960823"
> > +       y="188.06937" />
> > +    <rect
> > +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1021"
> > +       width="126.38867"
> > +       height="55.320732"
> > +       x="25.960823"
> > +       y="346.06937" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1103"
> > +       width="126.38867"
> > +       height="55.320732"
> > +       x="25.960823"
> > +       y="266.06937" />
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1105"
> > +       width="126.38867"
> > +       height="55.320732"
> > +       x="25.960823"
> > +       y="426.06937" />
> > +    <rect
> > +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1107"
> > +       width="126.38867"
> > +       height="55.320732"
> > +       x="25.960823"
> > +       y="506.06934" />
> > +    <path
> > +       d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
> > +       id="path381056"
> > +       sodipodi:nodetypes="cccccccccc"
> > +       style="stroke-width:0.205176"
> > +       inkscape:transform-center-x="-325.50819"
> > +       inkscape:transform-center-y="-121.97185" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > +       id="rect1131"
> > +       width="239.47592"
> > +       height="1015.9909"
> > +       x="298.65631"
> > +       y="82.399658" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1"
> > +       id="rect1133"
> > +       width="340.44653"
> > +       height="525.77448"
> > +       x="298.79562"
> > +       y="1142.5299" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > +       id="rect1237"
> > +       width="284.00113"
> > +       height="945.41412"
> > +       x="827.75012"
> > +       y="82.880798"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > +       id="rect1239"
> > +       width="239.37569"
> > +       height="179.03308"
> > +       x="1356.9507"
> > +       y="98.758331" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1"
> > +       id="rect1241"
> > +       width="239.4184"
> > +       height="713.64905"
> > +       x="1356.9543"
> > +       y="307.7951"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > +       id="rect1345"
> > +       width="330.32059"
> > +       height="409.44757"
> > +       x="1363.8723"
> > +       y="1147.7572" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > +       id="rect1347"
> > +       width="369.8941"
> > +       height="682.32245"
> > +       x="825.72528"
> > +       y="1146.6448"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1349"
> > +       width="163.95746"
> > +       height="40.144867"
> > +       x="1389.9988"
> > +       y="190.80583" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1"
> > +       id="rect1619"
> > +       width="271.99091"
> > +       height="42.038273"
> > +       x="1393.981"
> > +       y="1197.161"
> > +       inkscape:connector-avoid="true" />
> > +    <path
> > +       d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
> > +       id="path106-1"
> > +       sodipodi:nodetypes="cccccccccc"
> > +       style="stroke-width:0.205176"
> > +       inkscape:transform-center-x="-325.50819"
> > +       inkscape:transform-center-y="-121.97185" />
> > +    <path
> > +       d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
> > +       id="path106-1-7"
> > +       sodipodi:nodetypes="cccccccccc"
> > +       style="stroke-width:0.205176"
> > +       inkscape:transform-center-x="-325.50819"
> > +       inkscape:transform-center-y="-121.97185" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1623"
> > +       width="137.32646"
> > +       height="41.782684"
> > +       x="1396.3848"
> > +       y="1268.2837"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1705"
> > +       width="137.32646"
> > +       height="41.782684"
> > +       x="1396.3848"
> > +       y="1348.2837" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1707"
> > +       width="137.32646"
> > +       height="41.782684"
> > +       x="1396.3848"
> > +       y="1432.2837" />
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1731"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="190.42665"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1813"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="254.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1815"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="318.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1817"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="412.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1819"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="560.42664" />
> > +    <rect
> > +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1821"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="674.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1823"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="744.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1825"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="820.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1827"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="890.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1829"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="956.42664"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1831"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1256.4268" />
> > +    <rect
> > +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1833"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1402.4268" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1915"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1330.4268"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1917"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1478.4268" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1919"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1548.4268" />
> > +    <rect
> > +       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1921"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1614.4268" />
> > +    <rect
> > +       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1923"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1686.4268" />
> > +    <rect
> > +       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1925"
> > +       width="222.34483"
> > +       height="44.64616"
> > +       x="867.36292"
> > +       y="1754.4268" />
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > +       id="rect1925-3"
> > +       width="169.23357"
> > +       height="44.678963"
> > +       x="325.21747"
> > +       y="134.37756" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > +       id="rect1954"
> > +       width="169.23357"
> > +       height="44.678963"
> > +       x="325.21747"
> > +       y="276.37756"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
> > +       id="rect1956"
> > +       width="168.66573"
> > +       height="122.14091"
> > +       x="325.50134"
> > +       y="358.6615"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > +       id="rect1958"
> > +       width="169.23357"
> > +       height="44.678963"
> > +       x="325.21747"
> > +       y="672.37756" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > +       id="rect1960"
> > +       width="169.23357"
> > +       height="44.678963"
> > +       x="325.21747"
> > +       y="744.37756" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> > +       id="rect1962"
> > +       width="169.14041"
> > +       height="54.756817"
> > +       x="325.26404"
> > +       y="814.42413"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> > +       id="rect1964"
> > +       width="169.14041"
> > +       height="54.756817"
> > +       x="325.26404"
> > +       y="886.42413"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> > +       id="rect1966"
> > +       width="169.14041"
> > +       height="54.756817"
> > +       x="325.26404"
> > +       y="952.42413"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > +       id="rect2418"
> > +       width="169.23357"
> > +       height="44.678963"
> > +       x="325.21747"
> > +       y="510.37756"
> > +       inkscape:connector-avoid="true" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > +       id="rect2422"
> > +       width="169.23357"
> > +       height="44.678963"
> > +       x="325.21747"
> > +       y="1262.3777" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1"
> > +       id="rect2424"
> > +       width="169.12494"
> > +       height="56.528603"
> > +       x="325.27179"
> > +       y="1322.432" />
> > +    <rect
> > +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1"
> > +       id="rect2426"
> > +       width="169.12494"
> > +       height="56.528603"
> > +       x="325.27179"
> > +       y="1396.432" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1"
> > +       id="rect2428"
> > +       width="169.0854"
> > +       height="61.19017"
> > +       x="325.29156"
> > +       y="1468.4518" />
> > +    <rect
> > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1"
> > +       id="rect2430"
> > +       width="169.26669"
> > +       height="41.344128"
> > +       x="325.20093"
> > +       y="1550.3611" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1"
> > +       id="rect2432"
> > +       width="287.86237"
> > +       height="44.416805"
> > +       x="325.34854"
> > +       y="1194.5088" />
> > +    <rect
> > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1"
> > +       id="rect2434"
> > +       width="285.86655"
> > +       height="44.4207"
> > +       x="867.34656"
> > +       y="1194.5068" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2509" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2511" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2513" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2515" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2517" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2519" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2521" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2523" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2525" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2527" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2529" />
> > +    <path
> > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
> > +       d="m 867.36292,235.07281 v 0"
> > +       id="path2531" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 449.83425,179.05653 v 33.6932 h 417.52867"
> > +       id="path6876"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1925-3"
> > +       inkscape:connection-end="#rect1731"
> > +       sodipodi:nodetypes="ccc" />
> > +    <path
> > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 494.45103,156.71704 h 216.64955 v 161.7096 h 156.26234"
> > +       id="path6878"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1925-3"
> > +       sodipodi:nodetypes="cccc" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 451.83425,321.05653 v 19.69319 h 415.52867"
> > +       id="path7294"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1954"
> > +       inkscape:connection-end="#rect1815"
> > +       sodipodi:nodetypes="ccc" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292"
> > +       id="path7296"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-end="#rect1817"
> > +       inkscape:connection-start="#rect1954"
> > +       sodipodi:nodetypes="cccc" />
> > +    <path
> > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 867.36292,560.42664 H 661.10058 V 480.8024 H 494.16705"
> > +       id="path7720"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       sodipodi:nodetypes="cccc" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 455.83425,594.37756 V 582.74972 H 867.36292"
> > +       id="path7724"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect2420"
> > +       inkscape:connection-end="#rect1819"
> > +       sodipodi:nodetypes="ccc" />
> > +    <rect
> > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > +       id="rect2420"
> > +       width="169.23357"
> > +       height="44.678963"
> > +       x="325.21747"
> > +       y="594.37756" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 494.45103,696.74972 H 867.36292"
> > +       id="path7726"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1958"
> > +       inkscape:connection-end="#rect1821" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 867.36292,766.74972 H 494.45103"
> > +       id="path7728"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1823"
> > +       inkscape:connection-end="#rect1960" />
> > +    <path
> > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292"
> > +       id="path7730"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-end="#rect1831"
> > +       sodipodi:nodetypes="cccc" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874"
> > +       id="path8140"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1962"
> > +       inkscape:connection-end="#rect1825" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874"
> > +       id="path8142"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1964"
> > +       inkscape:connection-end="#rect1827" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874"
> > +       id="path8144"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1966"
> > +       inkscape:connection-end="#rect1829" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 494.39673,1352.7498 H 867.36292"
> > +       id="path8146"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect2424"
> > +       inkscape:connection-end="#rect1915" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 494.39673,1424.7498 H 867.36292"
> > +       id="path8148"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect2426"
> > +       inkscape:connection-end="#rect1833" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 494.37697,1500.7498 H 867.36292"
> > +       id="path8150"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect2428"
> > +       inkscape:connection-end="#rect1917" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 494.46762,1570.7498 h 372.8953"
> > +       id="path8152"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect2430"
> > +       inkscape:connection-end="#rect1919" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368"
> > +       id="path8154"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1623"
> > +       inkscape:connection-end="#rect1819" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 1396.3848,1369.175 h -156.2403 v -90.4252 h -150.4368"
> > +       id="path8462"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1705"
> > +       inkscape:connection-end="#rect1831"
> > +       sodipodi:nodetypes="cccc" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="m 1089.7077,1500.7498 h 375.3403 v -26.6834"
> > +       id="path8668"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1917"
> > +       inkscape:connection-end="#rect1707" />
> > +    <path
> > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 1389.9988,212.74973 H 1089.7077"
> > +       id="path8672"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-start="#rect1349"
> > +       inkscape:connection-end="#rect1731" />
> > +    <path
> > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
> > +       d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233"
> > +       id="path8674"
> > +       inkscape:connector-type="orthogonal"
> > +       inkscape:connector-curvature="0"
> > +       inkscape:connection-end="#rect1815"
> > +       sodipodi:nodetypes="cccc" />
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="58.63356"
> > +       y="69.574417"
> > +       id="text28675"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan28673"
> > +         x="58.63356"
> > +         y="69.574417" /></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="56.388252"
> > +       y="221.86568"
> > +       id="text31913"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan31911"
> > +         x="56.388252"
> > +         y="221.86568">Matrix</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="53.441296"
> > +       y="300.866"
> > +       id="text38843"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan38841"
> > +         x="53.441296"
> > +         y="300.866">1D LUT</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="53.441296"
> > +       y="378.866"
> > +       id="text41049"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan41047"
> > +         x="53.441296"
> > +         y="378.866">3D LUT</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="40.831493"
> > +       y="460.87411"
> > +       id="text45037"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan45035"
> > +         x="40.831493"
> > +         y="460.87411"
> > +         style="font-size:18.6667px">Unpacking</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="62.130371"
> > +       y="540.68872"
> > +       id="text49945"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan49943"
> > +         x="62.130371"
> > +         y="540.68872"
> > +         style="font-size:18.6667px">Other</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1423.2806"
> > +       y="128.08769"
> > +       id="text55719"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan55717"
> > +         x="1423.2806"
> > +         y="128.08769"
> > +         style="font-size:18.6667px">drm_framebuffer</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1439.9988"
> > +       y="218.74973"
> > +       id="text62479"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan62477"
> > +         x="1439.9988"
> > +         y="218.74973"
> > +         style="font-size:18.6667px">format</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1475.2806"
> > +       y="340.08771"
> > +       id="text64465"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64463"
> > +         x="1475.2806"
> > +         y="340.08771"
> > +         style="font-size:18.6667px">drm_plane</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1589.2806"
> > +       y="1178.0876"
> > +       id="text64469"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467"
> > +         x="1589.2806"
> > +         y="1178.0876"
> > +         style="font-size:18.6667px">drm_crtc</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="872.23993"
> > +       y="1172.4491"
> > +       id="text64469-9"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2"
> > +         x="872.23993"
> > +         y="1172.4491"
> > +         style="font-size:18.6667px">Stream</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="328.26071"
> > +       y="1175.6371"
> > +       id="text64469-9-2"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-8"
> > +         x="328.26071"
> > +         y="1175.6371"
> > +         style="font-size:18.6667px">MPC</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="330.14737"
> > +       y="114.41869"
> > +       id="text64469-9-9"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-7"
> > +         x="330.14737"
> > +         y="114.41869"
> > +         style="font-size:18.6667px">DPP</tspan></text>
> > +    <path
> > +       d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
> > +       id="path106"
> > +       sodipodi:nodetypes="cccccccccc"
> > +       style="stroke-width:0.205176"
> > +       inkscape:transform-center-x="-325.50819"
> > +       inkscape:transform-center-y="-121.97185" />
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1495.9988"
> > +       y="1224.7498"
> > +       id="text78849"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78847"
> > +         x="1495.9988"
> > +         y="1224.7498"
> > +         style="font-size:18.6667px">Blender</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1417.9988"
> > +       y="1294.7498"
> > +       id="text78853"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78851"
> > +         x="1417.9988"
> > +         y="1294.7498"
> > +         style="font-size:18.6667px">Degamma</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1451.9988"
> > +       y="1376.7498"
> > +       id="text78857"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78855"
> > +         x="1451.9988"
> > +         y="1376.7498"
> > +         style="font-size:18.6667px">CTM</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1427.9988"
> > +       y="1458.7498"
> > +       id="text78861"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78859"
> > +         x="1427.9988"
> > +         y="1458.7498"
> > +         style="font-size:18.6667px">Gamma</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="949.99878"
> > +       y="218.74973"
> > +       id="text104653"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan104651"
> > +         x="949.99878"
> > +         y="218.74973"
> > +         style="font-size:18.6667px">format</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="911.99878"
> > +       y="284.74973"
> > +       id="text104657"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan104655"
> > +         x="911.99878"
> > +         y="284.74973"
> > +         style="font-size:18.6667px">bias_and_scale</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="887.99878"
> > +       y="346.74973"
> > +       id="text104661"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan104659"
> > +         x="887.99878"
> > +         y="346.74973"
> > +         style="font-size:18.6667px">color space matrix</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="871.99878"
> > +       y="442.74973"
> > +       id="text104665"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan104663"
> > +         x="871.99878"
> > +         y="442.74973"
> > +         style="font-size:18.6667px">input_csc_color_matrix</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="905.99878"
> > +       y="586.74976"
> > +       id="text125075"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan125073"
> > +         x="905.99878"
> > +         y="586.74976"
> > +         style="font-size:18.6667px">in_transfer_func</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="945.0083"
> > +       y="702.85938"
> > +       id="text117309"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan117307"
> > +         x="945.0083"
> > +         y="702.85938"
> > +         style="font-size:18.6667px">hdr_mult</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="874.5556"
> > +       y="773.42615"
> > +       id="text117309-6"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan117307-7"
> > +         x="874.5556"
> > +         y="773.42615"
> > +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="913.72528"
> > +       y="846.55896"
> > +       id="text117309-5"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan117307-3"
> > +         x="913.72528"
> > +         y="846.55896"
> > +         style="font-size:18.6667px">in_shaper_func</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="937.72528"
> > +       y="918.25787"
> > +       id="text117309-56"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan117307-2"
> > +         x="937.72528"
> > +         y="918.25787"
> > +         style="font-size:18.6667px">lut3d_func</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="945.9895"
> > +       y="986.10767"
> > +       id="text117309-9"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan117307-1"
> > +         x="945.9895"
> > +         y="986.10767"
> > +         style="font-size:18.6667px">blend_tf</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="975.91803"
> > +       y="1224.5564"
> > +       id="text137434"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432"
> > +         x="975.91803"
> > +         y="1224.5564"
> > +         style="font-size:18.6667px">Blender</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="879.31372"
> > +       y="1283.4249"
> > +       id="text137434-2"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-7"
> > +         x="879.31372"
> > +         y="1283.4249"
> > +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="925.31372"
> > +       y="1359.2747"
> > +       id="text137434-0"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-9"
> > +         x="925.31372"
> > +         y="1359.2747"
> > +         style="font-size:18.6667px">func_shaper</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="930.33252"
> > +       y="1430.2566"
> > +       id="text137434-3"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-6"
> > +         x="930.33252"
> > +         y="1430.2566"
> > +         style="font-size:18.6667px">lut3d_func</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="900.18158"
> > +       y="1504.6725"
> > +       id="text137434-06"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-2"
> > +         x="900.18158"
> > +         y="1504.6725"
> > +         style="font-size:18.6667px">out_transfer_func</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="904.0307"
> > +       y="1575.8053"
> > +       id="text137434-6"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-1"
> > +         x="904.0307"
> > +         y="1575.8053"
> > +         style="font-size:18.6667px">csc_color_matrix</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="903.16278"
> > +       y="1642.1078"
> > +       id="text137434-8"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-79"
> > +         x="903.16278"
> > +         y="1642.1078"
> > +         style="font-size:18.6667px">bit_depth_param</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="939.31372"
> > +       y="1713.8068"
> > +       id="text137434-20"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-23"
> > +         x="939.31372"
> > +         y="1713.8068"
> > +         style="font-size:18.6667px">clamping</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="894.0307"
> > +       y="1782.5244"
> > +       id="text137434-7"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan137432-5"
> > +         x="894.0307"
> > +         y="1782.5244"
> > +         style="font-size:18.6667px">output_color_space</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="869.63062"
> > +       y="117.7968"
> > +       id="text176429"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan176427"
> > +         x="869.63062"
> > +         y="117.7968"
> > +         style="font-size:18.6667px">Plane</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="27.605465"
> > +       y="162.20587"
> > +       id="text176429-2"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan176427-0"
> > +         x="27.605465"
> > +         y="162.20587"
> > +         style="font-size:18.6667px">Legend</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="298.63959"
> > +       y="59.293999"
> > +       id="text176429-9"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan176427-2"
> > +         x="298.63959"
> > +         y="59.293999"
> > +         style="font-size:18.6667px">DCN 3.0</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="826.65735"
> > +       y="59.458061"
> > +       id="text176429-66"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan176427-4"
> > +         x="826.65735"
> > +         y="59.458061"
> > +         style="font-size:18.6667px">DC Interface</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1362.9948"
> > +       y="59.458061"
> > +       id="text176429-95"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan176427-04"
> > +         x="1362.9948"
> > +         y="59.458061"
> > +         style="font-size:18.6667px">DRM Interface</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="867.34656"
> > +       y="1194.5068"
> > +       id="text184728"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan184726"
> > +         x="867.34656"
> > +         y="1194.5068" /></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="389.01593"
> > +       y="159.8909"
> > +       id="text64469-9-3"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-6"
> > +         x="389.01593"
> > +         y="159.8909"
> > +         style="font-size:18.6667px">CNVC</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="365.88379"
> > +       y="303.59048"
> > +       id="text64469-9-1"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-2"
> > +         x="365.88379"
> > +         y="303.59048"
> > +         style="font-size:18.6667px">Input CSC</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="413.06488"
> > +       y="390.95001"
> > +       id="text64469-9-93"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-1"
> > +         x="413.06488"
> > +         y="390.95001"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="413.06488"
> > +         y="414.28339"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan233797">ROM</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="413.06488"
> > +         y="437.61676"
> > +         style="font-size:10.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan233799">(sRGB, BT2020, Gamma 2.2,</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="413.06488"
> > +         y="460.95013"
> > +         style="font-size:10.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan242597">PQ, HLG)</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="372.44986"
> > +       y="538.83807"
> > +       id="text64469-9-94"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-78"
> > +         x="372.44986"
> > +         y="538.83807"
> > +         style="font-size:18.6667px">Post CSC</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="335.31775"
> > +       y="622.23511"
> > +       id="text64469-9-4"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-5"
> > +         x="335.31775"
> > +         y="622.23511"
> > +         style="font-size:16px">Gamma Correction</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="351.16684"
> > +       y="700.34918"
> > +       id="text64469-9-0"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-3"
> > +         x="351.16684"
> > +         y="700.34918"
> > +         style="font-size:18.6667px">HDR Multiply</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="345.16684"
> > +       y="771.33112"
> > +       id="text64469-9-6"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-10"
> > +         x="345.16684"
> > +         y="771.33112"
> > +         style="font-size:18.6667px">Gamut Remap</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="412.5184"
> > +       y="836.04877"
> > +       id="text64469-9-63"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-20"
> > +         x="412.5184"
> > +         y="836.04877"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="412.5184"
> > +         y="859.38214"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan222533">RAM</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="413.54086"
> > +       y="908.61554"
> > +       id="text64469-9-61"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-55"
> > +         x="413.54086"
> > +         y="908.61554"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="413.54086"
> > +         y="931.94891"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan221121">RAM</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="344.0347"
> > +       y="985.33319"
> > +       id="text64469-9-47"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-65"
> > +         x="344.0347"
> > +         y="985.33319"
> > +         style="font-size:18.6667px">Blend Gamma</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="433.84625"
> > +       y="1223.411"
> > +       id="text64469-9-69"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-37"
> > +         x="433.84625"
> > +         y="1223.411"
> > +         style="font-size:18.6667px">Blender</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="343.73291"
> > +       y="1290.2421"
> > +       id="text64469-9-45"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-25"
> > +         x="343.73291"
> > +         y="1290.2421"
> > +         style="font-size:18.6667px">Gamut Remap</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="408.74442"
> > +       y="1344.2428"
> > +       id="text64469-9-474"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-4"
> > +         x="408.74442"
> > +         y="1344.2428"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="408.74442"
> > +         y="1367.5762"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan208303">RAM</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="407.1257"
> > +       y="1420.2435"
> > +       id="text64469-9-30"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-786"
> > +         x="407.1257"
> > +         y="1420.2435"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="407.1257"
> > +         y="1443.5769"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan204749">RAM</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="408.64996"
> > +       y="1492.8102"
> > +       id="text64469-9-8"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-84"
> > +         x="408.64996"
> > +         y="1492.8102"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan
> > +         sodipodi:role="line"
> > +         x="408.64996"
> > +         y="1516.1436"
> > +         style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > +         id="tspan197733">RAM</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="385.46863"
> > +       y="1575.2261"
> > +       id="text64469-9-31"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan64467-2-49"
> > +         x="385.46863"
> > +         y="1575.2261"
> > +         style="font-size:18.6667px">OCSC</tspan></text>
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1356.5106"
> > +       y="53.140579"
> > +       id="text273287"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan273285"
> > +         x="1356.5106"
> > +         y="53.140579" /></text>
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1411"
> > +       width="177.28049"
> > +       height="38.940468"
> > +       x="1392.2576"
> > +       y="459.24118" />
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1411.7203"
> > +       y="485.93231"
> > +       id="text78841"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78839"
> > +         x="1411.7203"
> > +         y="485.93231"
> > +         style="font-size:18.6667px">color_encoding</tspan></text>
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect1515"
> > +       width="175.11876"
> > +       height="43.239407"
> > +       x="1393.7493"
> > +       y="525.6983" />
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1399.212"
> > +       y="553.44904"
> > +       id="text78845"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78843"
> > +         x="1399.212"
> > +         y="553.44904">pixel_blend_mode</tspan></text>
> > +    <rect
> > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > +       id="rect371322"
> > +       width="177.28049"
> > +       height="38.940468"
> > +       x="1391.6781"
> > +       y="385.61713" />
> > +    <text
> > +       xml:space="preserve"
> > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > +       x="1427.5771"
> > +       y="409.29523"
> > +       id="text78837"><tspan
> > +         sodipodi:role="line"
> > +         id="tspan78835"
> > +         x="1427.5771"
> > +         y="409.29523"
> > +         style="font-size:18.6667px">color_range</tspan></text>
> > +    <path
> > +       d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > +       id="path371636-7"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > +       id="path371636-7-2"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-7"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-22"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-6"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-1"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 404.2055,500.78482 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-0"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 402.6188,581.69367 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-61"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-5"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-9"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-4"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-90"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > +       id="path371636-7-91"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 407.9989,1311.6005 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.513 -3.575,-6.1779 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > +       id="path371636-7-77"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 407.9989,1381.5424 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > +       id="path371636-7-11"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +    <path
> > +       d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > +       id="path371636-7-59"
> > +       sodipodi:nodetypes="cccccc"
> > +       style="stroke-width:0.262672"
> > +       inkscape:transform-center-x="-416.72543"
> > +       inkscape:transform-center-y="-156.15191" />
> > +  </g>
> > +</svg>
> > diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst b/Documentation/gpu/amdgpu/display/display-manager.rst
> > index b1b0f11aed83..8960a5f1fa66 100644
> > --- a/Documentation/gpu/amdgpu/display/display-manager.rst
> > +++ b/Documentation/gpu/amdgpu/display/display-manager.rst
> > @@ -49,3 +49,38 @@ Color Management Properties
> >   .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> >      :internal:
> > +
> > +
> > +DC Color Capabilities between DCN generations
> > +---------------------------------------------
> > +
> > +DRM/KMS framework defines three CRTC color correction properties: degamma,
> > +color transformation matrix (ctm) and gamma, and two properties for degamma and
> 
> Abbreviations should be written as all-uppercase
> https://docs.kernel.org/gpu/introduction.html?highlight=uppercase#style-guidelines
> 
> > +gamma lut sizes. AMD DC programs some of the color correction features
> > +pre-blending but DRM/KMS has not per-plane color correction properties.
> > +
> > +What's possible to do before and after blending has changed quite a bit between
> > +DCN generations as it depends on hardware color capabilities. DPP and MPC color
> > +correction caps are described below.
> > +
> > +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h
> > +   :doc: color-management-caps
> > +
> > +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h
> > +   :internal:
> > +
> > +In general, the DRM three properties are programed to DC, as follows:
> > CRT > +gamma after blending, and CRTC degamma pre-blending. Although CTM
> > is
> programmed
> > +after blending, it is mapped to DPP hw blocks (pre-blending). Other color caps
> > +available in the hw is not currently exposed by DRM interface and are by
> > +passed.  To illustrate DCN generation capabilities and differences between
> 
> possible typo: "by\npassed" -> "bypassed"
> 
> > +them, you can compare the color management schemas for DCN 2.0 and DCN 3.0
> > +families below.
> > +
> > +**DCN 2.0 family color caps and mapping**
> > +
> > +.. kernel-figure:: dcn2_cm_drm_current.svg
> > +
> > +**DCN 3.0 family color caps and mapping**
> > +
> > +.. kernel-figure:: dcn3_cm_drm_current.svg
> > diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
> > index 7c42377f0aae..84275f3974c1 100644
> > --- a/drivers/gpu/drm/amd/display/dc/dc.h
> > +++ b/drivers/gpu/drm/amd/display/dc/dc.h
> > @@ -118,7 +118,26 @@ struct dc_plane_cap {
> >   	uint32_t min_height;
> >   };
> > -// Color management caps (DPP and MPC)
> > +/**
> > + * DOC: color-management-caps
> > + *
> > + * **Color management caps (DPP and MPC)**
> > + *
> > + * Modules/color calculates various colour operations which are translated to
> 
> Nit: colour -> color
> The DRM documentation has a **preference** for the american spelling https://www.kernel.org/doc/html/latest/gpu/introduction.html?highlight=American%20English#style-guidelines
> 
> > + * abstracted HW. DCE 5-12 had almost no important changes, but starting with
> > + * DCN1, every new generation comes with fairly major differences in color
> > + * pipeline. Therefore, we abstract color pipe capabilities so modules/DM can
> > + * decide mapping to HW block based on logical capabilities.
> > + */
> > +
> > +/**
> > + * struct rom_curve_caps - predefined transfer function caps for degamma and regamma
> > + * @srgb: RGB color space transfer func
> > + * @bt2020: BT.2020 transfer func
> > + * @gamma2_2: standard gamma
> > + * @pq: perceptual quantizer transfer function
> > + * @hlg: hybrid log–gamma transfer function
> > + */
> >   struct rom_curve_caps {
> >   	uint16_t srgb : 1;
> >   	uint16_t bt2020 : 1;
> > @@ -127,36 +146,65 @@ struct rom_curve_caps {
> >   	uint16_t hlg : 1;
> >   };
> > +/**
> > + * struct dpp_color_caps - color pipeline capabilities for display pipe and
> > + * plane blocks
> > + *
> > + * @dcn_arch: all DCE generations treated the same
> > + * @input_lut_shared: shared with DGAM. Input lut is different than most LUTs,
> > + * just plain 256-entry lookup
> > + * @icsc: input color space conversion
> 
> ./drivers/gpu/drm/amd/display/dc/dc.h:181: warning: Function parameter or
> member 'dgam_ram' not described in 'dpp_color_caps'
>
For both warnings, the same as I said in the other patch: it would be
nice if someone can help on explaining the behavior of them here:
dgam_rom, dgam_rom_for_yuv, ogam_rom. I can suppose the meaning, but the best
way is that someone, more familiar with it, explains it properly.

> > + * @post_csc: post color space conversion, before gamut remap
> > + * @gamma_corr: degamma correction
> > + * @hw_3d_lut: 3d lut support. It implies a shaper LUT before, it may be shared
> > + * with MPC by setting mpc:shared_3d_lut flag
> > + * @ogam_ram: blend gamma
> > + * @ocsc: output color space conversion
> 
> ./drivers/gpu/drm/amd/display/dc/dc.h:181: warning: Function parameter or
> member 'dgam_rom_for_yuv' not described in 'dpp_color_caps'
> 
> > + * @dgam_rom_caps: caps for degamma
> > + * @ogam_rom_caps: caps for regamma 1D lut
> > + *
> > + * Note: hdr_mult and gamut remap (ctm) are always available in DPP (in that order)
> > + */
> >   struct dpp_color_caps {
> > -	uint16_t dcn_arch : 1; // all DCE generations treated the same
> > -	// input lut is different than most LUTs, just plain 256-entry lookup
> > -	uint16_t input_lut_shared : 1; // shared with DGAM
> > +	uint16_t dcn_arch : 1;
> > +	uint16_t input_lut_shared : 1;
> >   	uint16_t icsc : 1;
> >   	uint16_t dgam_ram : 1;
> > -	uint16_t post_csc : 1; // before gamut remap
> > +	uint16_t post_csc : 1;
> >   	uint16_t gamma_corr : 1;
> > -
> > -	// hdr_mult and gamut remap always available in DPP (in that order)
> > -	// 3d lut implies shaper LUT,
> > -	// it may be shared with MPC - check MPC:shared_3d_lut flag
> >   	uint16_t hw_3d_lut : 1;
> > -	uint16_t ogam_ram : 1; // blnd gam
> > +	uint16_t ogam_ram : 1;
> >   	uint16_t ocsc : 1;
> >   	uint16_t dgam_rom_for_yuv : 1;
> >   	struct rom_curve_caps dgam_rom_caps;
> >   	struct rom_curve_caps ogam_rom_caps;
> >   };
> > +/**
> > + * struct mpc_color_caps - color pipeline capabilities for multiple pipe and
> > + * plane combined blocks
> > + *
> > + * @gamut_remap: color transformation matrix
> 
> ./drivers/gpu/drm/amd/display/dc/dc.h:201: warning: Function parameter or
> member 'ogam_ram' not described in 'mpc_color_caps'
> 
> > + * @ocsc: output color space conversion matrix
> > + * @num_3dluts: 3d lut, always assumes a preceding shaper LUT
> > + * @shared_3d_lut: shared 3d lut flag, can be either DPP or MPC, but single
> > + * instance
> > + * @ogam_rom_caps: caps for regama 1d lut
> 
> typo: regama -> regamma
> 
> > + */
> >   struct mpc_color_caps {
> >   	uint16_t gamut_remap : 1;
> >   	uint16_t ogam_ram : 1;
> >   	uint16_t ocsc : 1;
> > -	uint16_t num_3dluts : 3; //3d lut always assumes a preceding shaper LUT
> > -	uint16_t shared_3d_lut:1; //can be in either DPP or MPC, but single instance
> > -
> > +	uint16_t num_3dluts : 3;
> > +	uint16_t shared_3d_lut:1;
> >   	struct rom_curve_caps ogam_rom_caps;
> >   };
> > +/**
> > + * struct dc_color_caps - color pipes capabilities for DPP and MPC hw blocks
> > + * @dpp: color pipes caps for DPP
> > + * @mpc: color pipes caps for MPC
> > + */
> >   struct dc_color_caps {
> >   	struct dpp_color_caps dpp;
> >   	struct mpc_color_caps mpc;
> 
> 
> Again, thanks for the documentation patch!

Thank you for the careful review
> 
> Kind regards,
> Tales Aparecida

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/4] Documentation/amdgpu_dm: Add DM color correction documentation
  2022-07-17 22:03   ` Tales Lelo da Aparecida
@ 2022-07-20 22:54     ` Melissa Wen
  2022-07-22 21:23       ` Rodrigo Siqueira Jordao
  0 siblings, 1 reply; 16+ messages in thread
From: Melissa Wen @ 2022-07-20 22:54 UTC (permalink / raw)
  To: Tales Lelo da Aparecida
  Cc: sunpeng.li, Xinhui.Pan, Rodrigo.Siqueira, dri-devel,
	nicholas.kazlauskas, amd-gfx, kernel-dev, alexander.deucher,
	harry.wentland, christian.koenig, sungjoon.kim

[-- Attachment #1: Type: text/plain, Size: 13597 bytes --]

On 07/17, Tales Lelo da Aparecida wrote:
> On 16/07/2022 19:25, Melissa Wen wrote:
> > AMDGPU DM maps DRM color management properties (degamma, ctm and gamma)
> > to DC color correction entities. Part of this mapping is already
> > documented as code comments and can be converted as kernel docs.
> > 
> > v2:
> > - rebase to amd-staging-drm-next
> > 
> > Reviewed-by: Harry Wentland <harry.wentland@amd.com>
> > Signed-off-by: Melissa Wen <mwen@igalia.com>
> > ---
> >   .../gpu/amdgpu/display/display-manager.rst    |   9 ++
> >   .../amd/display/amdgpu_dm/amdgpu_dm_color.c   | 121 +++++++++++++-----
> >   2 files changed, 98 insertions(+), 32 deletions(-)
> > 
> > diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst b/Documentation/gpu/amdgpu/display/display-manager.rst
> > index 7ce31f89d9a0..b1b0f11aed83 100644
> > --- a/Documentation/gpu/amdgpu/display/display-manager.rst
> > +++ b/Documentation/gpu/amdgpu/display/display-manager.rst
> > @@ -40,3 +40,12 @@ Atomic Implementation
> >   .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> >      :functions: amdgpu_dm_atomic_check amdgpu_dm_atomic_commit_tail
> > +
> > +Color Management Properties
> > +===========================
> > +
> > +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> > +   :doc: overview
> > +
> > +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> > +   :internal:
> > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> > index a71177305bcd..93c813089bff 100644
> > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> > @@ -29,7 +29,9 @@
> >   #include "modules/color/color_gamma.h"
> >   #include "basics/conversion.h"
> > -/*
> > +/**
> > + * DOC: overview
> > + *
> >    * The DC interface to HW gives us the following color management blocks
> >    * per pipe (surface):
> >    *
> > @@ -71,8 +73,8 @@
> >   #define MAX_DRM_LUT_VALUE 0xFFFF
> > -/*
> > - * Initialize the color module.
> > +/**
> > + * amdgpu_dm_init_color_mod - Initialize the color module.
> >    *
> >    * We're not using the full color module, only certain components.
> >    * Only call setup functions for components that we need.
> > @@ -82,7 +84,14 @@ void amdgpu_dm_init_color_mod(void)
> >   	setup_x_points_distribution();
> >   }
> > -/* Extracts the DRM lut and lut size from a blob. */
> > +/**
> > + * __extract_blob_lut - Extracts the DRM lut and lut size from a blob.
> > + * @blob: DRM color mgmt property blob
> > + * @size: lut size
> > + *
> > + * Returns:
> > + * DRM LUT or NULL
> > + */
> >   static const struct drm_color_lut *
> >   __extract_blob_lut(const struct drm_property_blob *blob, uint32_t *size)
> >   {
> > @@ -90,13 +99,18 @@ __extract_blob_lut(const struct drm_property_blob *blob, uint32_t *size)
> >   	return blob ? (struct drm_color_lut *)blob->data : NULL;
> >   }
> 
> I don't think everyone would approve using actual kernel-doc for these
> static functions, but I can appreciate they being formatted as such.
> Consider replacing /** with /*.

IMHO, although they are static, they provide info to understand the AMD
DM programming of DRM color correction properties. I see the value for
external contributors, but I'm not sure about kernel-doc rules about it.

> 
> > -/*
> > - * Return true if the given lut is a linear mapping of values, i.e. it acts
> > - * like a bypass LUT.
> > +/**
> > + * __is_lut_linear - check if the given lut is a linear mapping of values
> > + * @lut: given lut to check values
> > + * @size: lut size
> >    *
> >    * It is considered linear if the lut represents:
> > - * f(a) = (0xFF00/MAX_COLOR_LUT_ENTRIES-1)a; for integer a in
> > - *                                           [0, MAX_COLOR_LUT_ENTRIES)
> > + * f(a) = (0xFF00/MAX_COLOR_LUT_ENTRIES-1)a; for integer a in [0,
> > + * MAX_COLOR_LUT_ENTRIES)
> > + *
> > + * Returns:
> > + * True if the given lut is a linear mapping of values, i.e. it acts like a
> > + * bypass LUT. Otherwise, false.
> >    */
> >   static bool __is_lut_linear(const struct drm_color_lut *lut, uint32_t size)
> >   {
> > @@ -119,9 +133,13 @@ static bool __is_lut_linear(const struct drm_color_lut *lut, uint32_t size)
> >   	return true;
> >   }
> > -/*
> > - * Convert the drm_color_lut to dc_gamma. The conversion depends on the size
> > - * of the lut - whether or not it's legacy.
> > +/**
> > + * __drm_lut_to_dc_gamma - convert the drm_color_lut to dc_gamma.
> > + * @lut: DRM lookup table for color conversion
> > + * @gamma: DC gamma to set entries
> > + * @is_legacy: legacy or atomic gamma
> > + *
> > + * The conversion depends on the size of the lut - whether or not it's legacy.
> >    */
> >   static void __drm_lut_to_dc_gamma(const struct drm_color_lut *lut,
> >   				  struct dc_gamma *gamma, bool is_legacy)
> > @@ -154,8 +172,11 @@ static void __drm_lut_to_dc_gamma(const struct drm_color_lut *lut,
> >   	}
> >   }
> > -/*
> > - * Converts a DRM CTM to a DC CSC float matrix.
> > +/**
> > + * __drm_ctm_to_dc_matrix - converts a DRM CTM to a DC CSC float matrix
> > + * @ctm: DRM color transformation matrix
> > + * @matrix: DC CSC float matrix
> > + *
> >    * The matrix needs to be a 3x4 (12 entry) matrix.
> >    */
> >   static void __drm_ctm_to_dc_matrix(const struct drm_color_ctm *ctm,
> > @@ -189,7 +210,18 @@ static void __drm_ctm_to_dc_matrix(const struct drm_color_ctm *ctm,
> >   	}
> >   }
> > -/* Calculates the legacy transfer function - only for sRGB input space. */
> > +/**
> > + * __set_legacy_tf - Calculates the legacy transfer function
> > + * @func: transfer function
> > + * @lut: lookup table that defines the color space
> > + * @lut_size: size of respective lut
> > + * @has_rom: if ROM can be used for hardcoded curve
> > + *
> > + * Only for sRGB input space
> > + *
> > + * Returns:
> > + * 0 in case of sucess, -ENOMEM if fails
> 
> Typo sucess -> success
> 
> > + */
> >   static int __set_legacy_tf(struct dc_transfer_func *func,
> >   			   const struct drm_color_lut *lut, uint32_t lut_size,
> >   			   bool has_rom)
> > @@ -218,7 +250,16 @@ static int __set_legacy_tf(struct dc_transfer_func *func,
> >   	return res ? 0 : -ENOMEM;
> >   }
> > -/* Calculates the output transfer function based on expected input space. */
> > +/**
> > + * __set_output_tf - calculates the output transfer function based on expected input space.
> > + * @func: transfer function
> > + * @lut: lookup table that defines the color space
> > + * @lut_size: size of respective lut
> > + * @has_rom: if ROM can be used for hardcoded curve
> > + *
> > + * Returns:
> > + * 0 in case of success. -ENOMEM if fails.
> > + */
> >   static int __set_output_tf(struct dc_transfer_func *func,
> >   			   const struct drm_color_lut *lut, uint32_t lut_size,
> >   			   bool has_rom)
> > @@ -239,7 +280,7 @@ static int __set_output_tf(struct dc_transfer_func *func,
> >   	__drm_lut_to_dc_gamma(lut, gamma, false);
> >   	if (func->tf == TRANSFER_FUNCTION_LINEAR) {
> > -		/*
> > +		/**
> 
> I don't think kernel-doc should be used inside functions, as well,
> maybe keep the "/*" from before. This occurs in more places in this patch,
> remember to replace them as well, if you concur.

hmm.. I think inline doc is good to avoid repetitions, at the same time we
expose this info and keep it near its context in the code. This is why I
chose this path.. I'll think about it.

> 
> >   		 * Color module doesn't like calculating regamma params
> >   		 * on top of a linear input. But degamma params can be used
> >   		 * instead to simulate this.
> > @@ -262,7 +303,16 @@ static int __set_output_tf(struct dc_transfer_func *func,
> >   	return res ? 0 : -ENOMEM;
> >   }
> > -/* Caculates the input transfer function based on expected input space. */
> > +/**
> > + * __set_input_tf - calculates the input transfer function based on expected
> > + * input space.
> > + * @func: transfer function
> > + * @lut: lookup table that defines the color space
> > + * @lut_size: size of respective lut.
> > + *
> > + * Returns:
> > + * 0 in case of success. -ENOMEM if fails.
> > + */
> >   static int __set_input_tf(struct dc_transfer_func *func,
> >   			  const struct drm_color_lut *lut, uint32_t lut_size)
> >   {
> > @@ -285,13 +335,15 @@ static int __set_input_tf(struct dc_transfer_func *func,
> >   }
> >   /**
> > - * amdgpu_dm_verify_lut_sizes
> > + * amdgpu_dm_verify_lut_sizes - verifies if DRM luts match the hw supported sizes
> >    * @crtc_state: the DRM CRTC state
> >    *
> > - * Verifies that the Degamma and Gamma LUTs attached to the |crtc_state| are of
> > - * the expected size.
> > + * Verifies that the Degamma and Gamma LUTs attached to the &crtc_state
> > + * are of the expected size.
> >    *
> > - * Returns 0 on success.
> > + * Returns:
> > + * 0 on success.
> > + * -EINVAL if any lut sizes are invalid.
> 
> I don't know if you expect this to be rendered in two lines, given that you
> wrote something equivalent in a single line in other docstrings above, but
> if you do, use instead:
> ```
> * * 0 on success.
> * * -EINVAL if any lut sizes are invalid.
> ```
> As described at: https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#return-values

I expected they are in the same line, separated by dot. I'll put the
together for clarity.

Thanks,

Melissa
> 
> >    */
> >   int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
> >   {
> > @@ -327,9 +379,9 @@ int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
> >    * of the HW blocks as long as the CRTC CTM always comes before the
> >    * CRTC RGM and after the CRTC DGM.
> >    *
> > - * The CRTC RGM block will be placed in the RGM LUT block if it is non-linear.
> > - * The CRTC DGM block will be placed in the DGM LUT block if it is non-linear.
> > - * The CRTC CTM will be placed in the gamut remap block if it is non-linear.
> > + * * The CRTC RGM block will be placed in the RGM LUT block if it is non-linear.
> > + * * The CRTC DGM block will be placed in the DGM LUT block if it is non-linear.
> > + * * The CRTC CTM will be placed in the gamut remap block if it is non-linear.
> >    *
> >    * The RGM block is typically more fully featured and accurate across
> >    * all ASICs - DCE can't support a custom non-linear CRTC DGM.
> > @@ -338,7 +390,9 @@ int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
> >    * management at once we have to either restrict the usage of CRTC properties
> >    * or blend adjustments together.
> >    *
> > - * Returns 0 on success.
> > + * Returns:
> > + * 0 on success.
> > + * Error code if setup fails.
> >    */
> >   int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
> >   {
> > @@ -373,7 +427,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
> >   	/* Setup regamma and degamma. */
> >   	if (is_legacy) {
> > -		/*
> > +		/**
> >   		 * Legacy regamma forces us to use the sRGB RGM as a base.
> >   		 * This also means we can't use linear DGM since DGM needs
> >   		 * to use sRGB as a base as well, resulting in incorrect CRTC
> > @@ -393,7 +447,8 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
> >   		if (r)
> >   			return r;
> >   	} else if (has_regamma) {
> > -		/* CRTC RGM goes into RGM LUT. */
> > +		/**
> > +		 * If atomic regamma, CRTC RGM goes into RGM LUT. */
> >   		stream->out_transfer_func->type = TF_TYPE_DISTRIBUTED_POINTS;
> >   		stream->out_transfer_func->tf = TRANSFER_FUNCTION_LINEAR;
> > @@ -402,7 +457,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
> >   		if (r)
> >   			return r;
> >   	} else {
> > -		/*
> > +		/**
> >   		 * No CRTC RGM means we can just put the block into bypass
> >   		 * since we don't have any plane level adjustments using it.
> >   		 */
> > @@ -410,7 +465,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
> >   		stream->out_transfer_func->tf = TRANSFER_FUNCTION_LINEAR;
> >   	}
> > -	/*
> > +	/**
> >   	 * CRTC DGM goes into DGM LUT. It would be nice to place it
> >   	 * into the RGM since it's a more featured block but we'd
> >   	 * have to place the CTM in the OCSC in that case.
> > @@ -421,7 +476,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
> >   	if (crtc->base.ctm) {
> >   		ctm = (struct drm_color_ctm *)crtc->base.ctm->data;
> > -		/*
> > +		/**
> >   		 * Gamut remapping must be used for gamma correction
> >   		 * since it comes before the regamma correction.
> >   		 *
> > @@ -452,7 +507,9 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
> >    * preparation for hardware commit. The transfer function used depends on
> >    * the prepartion done on the stream for color management.
> 
> Could you fix this typo while you are here? prepartion -> preparation
> 
> >    *
> > - * Returns 0 on success.
> > + * Returns:
> > + * 0 on success.
> > + * ENOMEM if mem allocation fails.
> >    */
> >   int amdgpu_dm_update_plane_color_mgmt(struct dm_crtc_state *crtc,
> >   				      struct dc_plane_state *dc_plane_state)
> 
> Thanks for creating more documentation!
> 
> Kind regards,
> Tales

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/4] Documentation/gpu/amdgpu/amdgpu_dm: add DM docs for pixel blend mode
  2022-07-18  1:39   ` Tales Lelo da Aparecida
@ 2022-07-20 22:56     ` Melissa Wen
  0 siblings, 0 replies; 16+ messages in thread
From: Melissa Wen @ 2022-07-20 22:56 UTC (permalink / raw)
  To: Tales Lelo da Aparecida
  Cc: sunpeng.li, Xinhui.Pan, Rodrigo.Siqueira, dri-devel,
	nicholas.kazlauskas, amd-gfx, kernel-dev, alexander.deucher,
	harry.wentland, christian.koenig, sungjoon.kim

[-- Attachment #1: Type: text/plain, Size: 7218 bytes --]

On 07/17, Tales Lelo da Aparecida wrote:
> On 16/07/2022 19:25, Melissa Wen wrote:
> > AMD GPU display manager (DM) maps DRM pixel blend modes (None,
> > Pre-multiplied, Coverage) to MPC hw blocks through blend configuration
> > options. Describe relevant elements and how to set and test them to get
> > the expected DRM blend mode on DCN hw.
> > 
> > Signed-off-by: Melissa Wen <mwen@igalia.com>
> > ---
> >   .../gpu/amdgpu/display/display-manager.rst    | 98 +++++++++++++++++++
> >   Documentation/gpu/drm-kms.rst                 |  2 +
> >   2 files changed, 100 insertions(+)
> > 
> > diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst b/Documentation/gpu/amdgpu/display/display-manager.rst
> > index 8960a5f1fa66..7a495ed1f69e 100644
> > --- a/Documentation/gpu/amdgpu/display/display-manager.rst
> > +++ b/Documentation/gpu/amdgpu/display/display-manager.rst
> > @@ -84,3 +84,101 @@ families below.
> >   **DCN 3.0 family color caps and mapping**
> >   .. kernel-figure:: dcn3_cm_drm_current.svg
> > +
> > +Blend Mode Properties
> > +=====================
> > +
> > +Pixel blend mode is a DRM plane composition property of :c:type:`drm_plane` used to
> > +describes how pixels from a foreground plane (fg) are composited with the
> > +background plane (bg). Here, we present main concepts of DRM blend mode to help
> > +to understand how this property is mapped to AMD DC interface. See more about
> > +this DRM property and the alpha blending equations in :ref:`DRM Plane
> > +Composition Properties <plane_composition_properties>`.
> > +
> > +Basically, a blend mode sets the alpha blending equation for plane
> > +composition that fits the mode in which the alpha channel affects the state of
> > +pixel color values and, therefore, the resulted pixel color. For
> > +example, consider the following elements of the alpha blending equation:
> > +
> > +- *fg.rgb*: Each of the RGB component values from the foreground's pixel.
> > +- *fg.alpha*: Alpha component value from the foreground's pixel.
> > +- *bg.rgb*: Each of the RGB component values from the background.
> > +- *plane_alpha*: Plane alpha value set by the **plane "alpha" property**, see
> > +  more in `DRM Plane Composition Properties <plane_composition_properties>`.
> 
> You forgot to use :ref: in here.
> 
> > +
> > +in the basic alpha blending equation::
> > +
> > +   out.rgb = alpha * fg.rgb + (1 - alpha) * bg.rgb
> > +
> > +the alpha channel value of each pixel in a plane is ignored and only the plane
> > +alpha affects the resulted pixel color values.
> > +
> > +DRM has three blend mode to define the blend formula in the plane composition:
> > +
> > +* **None**: Blend formula that ignores the pixel alpha.
> > +
> > +* **Pre-multiplied**: Blend formula that assumes the pixel color values in a
> > +  plane was already pre-multiplied by its own alpha channel before storage.
> > +
> > +* **Coverage**: Blend formula that assumes the pixel color values were not
> > +  pre-multiplied with the alpha channel values.
> > +
> > +and pre-multiplied is the default pixel blend mode, that means, when no blend
> > +mode property is created or defined, DRM considers the plane's pixels has
> > +pre-multiplied color values. On IGT GPU tools, the kms_plane_alpha_blend test
> > +provides a set of subtests to verify plane alpha and blend mode properties.
> > +
> > +The DRM blend mode and its elements are then mapped by AMDGPU display manager
> > +(DM) to program the blending configuration of the Multiple Pipe/Plane Combined
> > +(MPC), as follows:
> > +
> > +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
> > +   :doc: mpc-overview
> > +
> > +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
> > +   :functions: mpcc_blnd_cfg
> > +
> > +Therefore, the blending configuration for a single MPCC instance on the MPC
> > +tree is defined by :c:type:`mpcc_blnd_cfg`, where
> > +:c:type:`pre_multiplied_alpha` is the alpha pre-multiplied mode flag used to
> > +set :c:type:`MPCC_ALPHA_MULTIPLIED_MODE`. It controls whether alpha is
> > +multiplied (true/false), being only true for DRM pre-multiplied blend mode.
> > +:c:type:`mpcc_alpha_blend_mode` defines the alpha blend mode regarding pixel
> > +alpha and plane alpha values. It sets one of the three modes for
> > +:c:type:`MPCC_ALPHA_BLND_MODE`, as described below.
> > +
> > +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
> > +   :functions: mpcc_alpha_blend_mode
> > +
> > +DM then maps the elements of `enum mpcc_alpha_blend_mode` to those in the DRM
> > +blend formula, as follows:
> > +
> > +* *MPC pixel alpha* matches *DRM fg.alpha* as the alpha component value
> > +  from the plane's pixel
> > +* *MPC global alpha* matches *DRM plane_alpha* when the pixel alpha should
> > +  be ignored and, therefore, pixel values are not pre-multiplied
> > +* *MPC global gain* assumes *MPC global alpha* value when both *DRM
> > +  fg.alpha* and *DRM plane_alpha* participate in the blend equation
> > +
> > +In short, *fg.alpha* is ignored by selecting
> > +:c:type:`MPCC_ALPHA_BLEND_MODE_GLOBAL_ALPHA`. On the other hand, (plane_alpha *
> > +fg.alpha) component becomes available by selecting
> > +:c:type:`MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA_COMBINED_GLOBAL_GAIN`. And the
> > +:c:type:`MPCC_ALPHA_MULTIPLIED_MODE` defines if the pixel color values are
> > +pre-multiplied by alpha or not.
> > +
> > +Blend configuration flow
> > +------------------------
> > +
> > +The alpha blending equation is configured from DRM to DC interface by the
> > +following path:
> > +
> > +1. When updating a :c:type:`drm_plane_state <drm_plane_state>`, DM calls
> > +   :c:type:`fill_blending_from_plane_state()` that maps
> > +   :c:type:`drm_plane_state <drm_plane_state>` attributes to
> > +   :c:type:`dc_plane_info <dc_plane_info>` struct to be handled in the
> > +   OS-agnostic component (DC).
> > +
> > +2. On DC interface, :c:type:`struct mpcc_blnd_cfg <mpcc_blnd_cfg>` programs the
> > +   MPCC blend configuration considering the :c:type:`dc_plane_info
> > +   <dc_plane_info>` input from DPP.
> > diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst
> > index d14bf1c35d7e..7ec9dbe18b65 100644
> > --- a/Documentation/gpu/drm-kms.rst
> > +++ b/Documentation/gpu/drm-kms.rst
> > @@ -532,6 +532,8 @@ Standard Plane Properties
> >   .. kernel-doc:: drivers/gpu/drm/drm_plane.c
> >      :doc: standard plane properties
> > +.. _plane_composition_properties:
> > +
> >   Plane Composition Properties
> >   ----------------------------
> 
> From a beginner's perspective, the changes from this series are readable,
> but I cannot tell if there are any technical mistakes. So,
> regarding readability and rendering htmldocs, apart from the nits I've
> raised, this whole series is
> 
> Reviewed-by: Tales Aparecida <tales.aparecida@gmail.com>
> 
> Thanks for the patch series, Melissa,

Hi Tales,

Thanks for taking a look at this series and reviewing it carefully.
Again, I'll address your comments in the next version.

Best Regards,

Melissa

> Tales Aparecida

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/4] Documentation/amdgpu_dm: Add DM color correction documentation
  2022-07-20 22:54     ` Melissa Wen
@ 2022-07-22 21:23       ` Rodrigo Siqueira Jordao
  0 siblings, 0 replies; 16+ messages in thread
From: Rodrigo Siqueira Jordao @ 2022-07-22 21:23 UTC (permalink / raw)
  To: Melissa Wen, Tales Lelo da Aparecida
  Cc: sunpeng.li, Xinhui.Pan, dri-devel, nicholas.kazlauskas, amd-gfx,
	kernel-dev, alexander.deucher, harry.wentland, christian.koenig,
	sungjoon.kim



On 2022-07-20 18:54, Melissa Wen wrote:
> On 07/17, Tales Lelo da Aparecida wrote:
>> On 16/07/2022 19:25, Melissa Wen wrote:
>>> AMDGPU DM maps DRM color management properties (degamma, ctm and gamma)
>>> to DC color correction entities. Part of this mapping is already
>>> documented as code comments and can be converted as kernel docs.
>>>
>>> v2:
>>> - rebase to amd-staging-drm-next
>>>
>>> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
>>> Signed-off-by: Melissa Wen <mwen@igalia.com>
>>> ---
>>>    .../gpu/amdgpu/display/display-manager.rst    |   9 ++
>>>    .../amd/display/amdgpu_dm/amdgpu_dm_color.c   | 121 +++++++++++++-----
>>>    2 files changed, 98 insertions(+), 32 deletions(-)
>>>
>>> diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst b/Documentation/gpu/amdgpu/display/display-manager.rst
>>> index 7ce31f89d9a0..b1b0f11aed83 100644
>>> --- a/Documentation/gpu/amdgpu/display/display-manager.rst
>>> +++ b/Documentation/gpu/amdgpu/display/display-manager.rst
>>> @@ -40,3 +40,12 @@ Atomic Implementation
>>>    .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>>>       :functions: amdgpu_dm_atomic_check amdgpu_dm_atomic_commit_tail
>>> +
>>> +Color Management Properties
>>> +===========================
>>> +
>>> +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
>>> +   :doc: overview
>>> +
>>> +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
>>> +   :internal:
>>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
>>> index a71177305bcd..93c813089bff 100644
>>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
>>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
>>> @@ -29,7 +29,9 @@
>>>    #include "modules/color/color_gamma.h"
>>>    #include "basics/conversion.h"
>>> -/*
>>> +/**
>>> + * DOC: overview
>>> + *
>>>     * The DC interface to HW gives us the following color management blocks
>>>     * per pipe (surface):
>>>     *
>>> @@ -71,8 +73,8 @@
>>>    #define MAX_DRM_LUT_VALUE 0xFFFF
>>> -/*
>>> - * Initialize the color module.
>>> +/**
>>> + * amdgpu_dm_init_color_mod - Initialize the color module.
>>>     *
>>>     * We're not using the full color module, only certain components.
>>>     * Only call setup functions for components that we need.
>>> @@ -82,7 +84,14 @@ void amdgpu_dm_init_color_mod(void)
>>>    	setup_x_points_distribution();
>>>    }
>>> -/* Extracts the DRM lut and lut size from a blob. */
>>> +/**
>>> + * __extract_blob_lut - Extracts the DRM lut and lut size from a blob.
>>> + * @blob: DRM color mgmt property blob
>>> + * @size: lut size
>>> + *
>>> + * Returns:
>>> + * DRM LUT or NULL
>>> + */
>>>    static const struct drm_color_lut *
>>>    __extract_blob_lut(const struct drm_property_blob *blob, uint32_t *size)
>>>    {
>>> @@ -90,13 +99,18 @@ __extract_blob_lut(const struct drm_property_blob *blob, uint32_t *size)
>>>    	return blob ? (struct drm_color_lut *)blob->data : NULL;
>>>    }
>>
>> I don't think everyone would approve using actual kernel-doc for these
>> static functions, but I can appreciate they being formatted as such.
>> Consider replacing /** with /*.
> 
> IMHO, although they are static, they provide info to understand the AMD
> DM programming of DRM color correction properties. I see the value for
> external contributors, but I'm not sure about kernel-doc rules about it.

Yeah... I agree, I don't mind seeing kernel-doc for some static 
functions. Iirc, DRM documentation also documents some static functions.

>>
>>> -/*
>>> - * Return true if the given lut is a linear mapping of values, i.e. it acts
>>> - * like a bypass LUT.
>>> +/**
>>> + * __is_lut_linear - check if the given lut is a linear mapping of values
>>> + * @lut: given lut to check values
>>> + * @size: lut size
>>>     *
>>>     * It is considered linear if the lut represents:
>>> - * f(a) = (0xFF00/MAX_COLOR_LUT_ENTRIES-1)a; for integer a in
>>> - *                                           [0, MAX_COLOR_LUT_ENTRIES)
>>> + * f(a) = (0xFF00/MAX_COLOR_LUT_ENTRIES-1)a; for integer a in [0,
>>> + * MAX_COLOR_LUT_ENTRIES)
>>> + *
>>> + * Returns:
>>> + * True if the given lut is a linear mapping of values, i.e. it acts like a
>>> + * bypass LUT. Otherwise, false.
>>>     */
>>>    static bool __is_lut_linear(const struct drm_color_lut *lut, uint32_t size)
>>>    {
>>> @@ -119,9 +133,13 @@ static bool __is_lut_linear(const struct drm_color_lut *lut, uint32_t size)
>>>    	return true;
>>>    }
>>> -/*
>>> - * Convert the drm_color_lut to dc_gamma. The conversion depends on the size
>>> - * of the lut - whether or not it's legacy.
>>> +/**
>>> + * __drm_lut_to_dc_gamma - convert the drm_color_lut to dc_gamma.
>>> + * @lut: DRM lookup table for color conversion
>>> + * @gamma: DC gamma to set entries
>>> + * @is_legacy: legacy or atomic gamma
>>> + *
>>> + * The conversion depends on the size of the lut - whether or not it's legacy.
>>>     */
>>>    static void __drm_lut_to_dc_gamma(const struct drm_color_lut *lut,
>>>    				  struct dc_gamma *gamma, bool is_legacy)
>>> @@ -154,8 +172,11 @@ static void __drm_lut_to_dc_gamma(const struct drm_color_lut *lut,
>>>    	}
>>>    }
>>> -/*
>>> - * Converts a DRM CTM to a DC CSC float matrix.
>>> +/**
>>> + * __drm_ctm_to_dc_matrix - converts a DRM CTM to a DC CSC float matrix
>>> + * @ctm: DRM color transformation matrix
>>> + * @matrix: DC CSC float matrix
>>> + *
>>>     * The matrix needs to be a 3x4 (12 entry) matrix.
>>>     */
>>>    static void __drm_ctm_to_dc_matrix(const struct drm_color_ctm *ctm,
>>> @@ -189,7 +210,18 @@ static void __drm_ctm_to_dc_matrix(const struct drm_color_ctm *ctm,
>>>    	}
>>>    }
>>> -/* Calculates the legacy transfer function - only for sRGB input space. */
>>> +/**
>>> + * __set_legacy_tf - Calculates the legacy transfer function
>>> + * @func: transfer function
>>> + * @lut: lookup table that defines the color space
>>> + * @lut_size: size of respective lut
>>> + * @has_rom: if ROM can be used for hardcoded curve
>>> + *
>>> + * Only for sRGB input space
>>> + *
>>> + * Returns:
>>> + * 0 in case of sucess, -ENOMEM if fails
>>
>> Typo sucess -> success
>>
>>> + */
>>>    static int __set_legacy_tf(struct dc_transfer_func *func,
>>>    			   const struct drm_color_lut *lut, uint32_t lut_size,
>>>    			   bool has_rom)
>>> @@ -218,7 +250,16 @@ static int __set_legacy_tf(struct dc_transfer_func *func,
>>>    	return res ? 0 : -ENOMEM;
>>>    }
>>> -/* Calculates the output transfer function based on expected input space. */
>>> +/**
>>> + * __set_output_tf - calculates the output transfer function based on expected input space.
>>> + * @func: transfer function
>>> + * @lut: lookup table that defines the color space
>>> + * @lut_size: size of respective lut
>>> + * @has_rom: if ROM can be used for hardcoded curve
>>> + *
>>> + * Returns:
>>> + * 0 in case of success. -ENOMEM if fails.
>>> + */
>>>    static int __set_output_tf(struct dc_transfer_func *func,
>>>    			   const struct drm_color_lut *lut, uint32_t lut_size,
>>>    			   bool has_rom)
>>> @@ -239,7 +280,7 @@ static int __set_output_tf(struct dc_transfer_func *func,
>>>    	__drm_lut_to_dc_gamma(lut, gamma, false);
>>>    	if (func->tf == TRANSFER_FUNCTION_LINEAR) {
>>> -		/*
>>> +		/**
>>
>> I don't think kernel-doc should be used inside functions, as well,
>> maybe keep the "/*" from before. This occurs in more places in this patch,
>> remember to replace them as well, if you concur.
> 
> hmm.. I think inline doc is good to avoid repetitions, at the same time we
> expose this info and keep it near its context in the code. This is why I
> chose this path.. I'll think about it

I'm not sure, but I think that kernel-doc inside a function is ignored. 
In that case, I would follow the kernel guideline for code comments. 
Maybe you can move part of this documentation to the function description?

Btw, nice patch!

Thanks
Siqueira

>>
>>>    		 * Color module doesn't like calculating regamma params
>>>    		 * on top of a linear input. But degamma params can be used
>>>    		 * instead to simulate this.
>>> @@ -262,7 +303,16 @@ static int __set_output_tf(struct dc_transfer_func *func,
>>>    	return res ? 0 : -ENOMEM;
>>>    }
>>> -/* Caculates the input transfer function based on expected input space. */
>>> +/**
>>> + * __set_input_tf - calculates the input transfer function based on expected
>>> + * input space.
>>> + * @func: transfer function
>>> + * @lut: lookup table that defines the color space
>>> + * @lut_size: size of respective lut.
>>> + *
>>> + * Returns:
>>> + * 0 in case of success. -ENOMEM if fails.
>>> + */
>>>    static int __set_input_tf(struct dc_transfer_func *func,
>>>    			  const struct drm_color_lut *lut, uint32_t lut_size)
>>>    {
>>> @@ -285,13 +335,15 @@ static int __set_input_tf(struct dc_transfer_func *func,
>>>    }
>>>    /**
>>> - * amdgpu_dm_verify_lut_sizes
>>> + * amdgpu_dm_verify_lut_sizes - verifies if DRM luts match the hw supported sizes
>>>     * @crtc_state: the DRM CRTC state
>>>     *
>>> - * Verifies that the Degamma and Gamma LUTs attached to the |crtc_state| are of
>>> - * the expected size.
>>> + * Verifies that the Degamma and Gamma LUTs attached to the &crtc_state
>>> + * are of the expected size.
>>>     *
>>> - * Returns 0 on success.
>>> + * Returns:
>>> + * 0 on success.
>>> + * -EINVAL if any lut sizes are invalid.
>>
>> I don't know if you expect this to be rendered in two lines, given that you
>> wrote something equivalent in a single line in other docstrings above, but
>> if you do, use instead:
>> ```
>> * * 0 on success.
>> * * -EINVAL if any lut sizes are invalid.
>> ```
>> As described at: https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#return-values
> 
> I expected they are in the same line, separated by dot. I'll put the
> together for clarity.
> 
> Thanks,
> 
> Melissa
>>
>>>     */
>>>    int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
>>>    {
>>> @@ -327,9 +379,9 @@ int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
>>>     * of the HW blocks as long as the CRTC CTM always comes before the
>>>     * CRTC RGM and after the CRTC DGM.
>>>     *
>>> - * The CRTC RGM block will be placed in the RGM LUT block if it is non-linear.
>>> - * The CRTC DGM block will be placed in the DGM LUT block if it is non-linear.
>>> - * The CRTC CTM will be placed in the gamut remap block if it is non-linear.
>>> + * * The CRTC RGM block will be placed in the RGM LUT block if it is non-linear.
>>> + * * The CRTC DGM block will be placed in the DGM LUT block if it is non-linear.
>>> + * * The CRTC CTM will be placed in the gamut remap block if it is non-linear.
>>>     *
>>>     * The RGM block is typically more fully featured and accurate across
>>>     * all ASICs - DCE can't support a custom non-linear CRTC DGM.
>>> @@ -338,7 +390,9 @@ int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
>>>     * management at once we have to either restrict the usage of CRTC properties
>>>     * or blend adjustments together.
>>>     *
>>> - * Returns 0 on success.
>>> + * Returns:
>>> + * 0 on success.
>>> + * Error code if setup fails.
>>>     */
>>>    int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>>>    {
>>> @@ -373,7 +427,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>>>    	/* Setup regamma and degamma. */
>>>    	if (is_legacy) {
>>> -		/*
>>> +		/**
>>>    		 * Legacy regamma forces us to use the sRGB RGM as a base.
>>>    		 * This also means we can't use linear DGM since DGM needs
>>>    		 * to use sRGB as a base as well, resulting in incorrect CRTC
>>> @@ -393,7 +447,8 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>>>    		if (r)
>>>    			return r;
>>>    	} else if (has_regamma) {
>>> -		/* CRTC RGM goes into RGM LUT. */
>>> +		/**
>>> +		 * If atomic regamma, CRTC RGM goes into RGM LUT. */
>>>    		stream->out_transfer_func->type = TF_TYPE_DISTRIBUTED_POINTS;
>>>    		stream->out_transfer_func->tf = TRANSFER_FUNCTION_LINEAR;
>>> @@ -402,7 +457,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>>>    		if (r)
>>>    			return r;
>>>    	} else {
>>> -		/*
>>> +		/**
>>>    		 * No CRTC RGM means we can just put the block into bypass
>>>    		 * since we don't have any plane level adjustments using it.
>>>    		 */
>>> @@ -410,7 +465,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>>>    		stream->out_transfer_func->tf = TRANSFER_FUNCTION_LINEAR;
>>>    	}
>>> -	/*
>>> +	/**
>>>    	 * CRTC DGM goes into DGM LUT. It would be nice to place it
>>>    	 * into the RGM since it's a more featured block but we'd
>>>    	 * have to place the CTM in the OCSC in that case.
>>> @@ -421,7 +476,7 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>>>    	if (crtc->base.ctm) {
>>>    		ctm = (struct drm_color_ctm *)crtc->base.ctm->data;
>>> -		/*
>>> +		/**
>>>    		 * Gamut remapping must be used for gamma correction
>>>    		 * since it comes before the regamma correction.
>>>    		 *
>>> @@ -452,7 +507,9 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>>>     * preparation for hardware commit. The transfer function used depends on
>>>     * the prepartion done on the stream for color management.
>>
>> Could you fix this typo while you are here? prepartion -> preparation
>>
>>>     *
>>> - * Returns 0 on success.
>>> + * Returns:
>>> + * 0 on success.
>>> + * ENOMEM if mem allocation fails.
>>>     */
>>>    int amdgpu_dm_update_plane_color_mgmt(struct dm_crtc_state *crtc,
>>>    				      struct dc_plane_state *dc_plane_state)
>>
>> Thanks for creating more documentation!
>>
>> Kind regards,
>> Tales


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/4] Documentation/amdgpu/display: add DC color caps info
  2022-07-17 23:28   ` Tales Lelo da Aparecida
  2022-07-20 21:39     ` Melissa Wen
@ 2022-07-27 21:21     ` Rodrigo Siqueira Jordao
  2022-07-28 12:58       ` Melissa Wen
  1 sibling, 1 reply; 16+ messages in thread
From: Rodrigo Siqueira Jordao @ 2022-07-27 21:21 UTC (permalink / raw)
  To: 20220716222529.421115-3-mwen, Melissa Wen
  Cc: sunpeng.li, Xinhui.Pan, amd-gfx, christian.koenig,
	alexander.deucher, harry.wentland, nicholas.kazlauskas,
	sungjoon.kim



On 2022-07-17 19:28, Tales Lelo da Aparecida wrote:
> On 16/07/2022 19:25, Melissa Wen wrote:
>> Add details about color correction capabilities and explain a bit about
>> differences between DC hw generations and also how they are mapped
>> between DRM and DC interface. Two schemas for DCN 2.0 and 3.0 (converted
>> to svg from the original png) is included to illustrate it. They were
>> obtained from a discussion[1] in the amd-gfx mailing list.
>>
>> [1] 
>> https://lore.kernel.org/amd-gfx/20220422142811.dm6vtk6v64jcwydk@mail.igalia.com/ 
>>
>>
>> v2:
>>
>> - remove redundant comments (Harry)
>> - fix typo (Harry)
>>
>> Signed-off-by: Melissa Wen <mwen@igalia.com>
>> ---
>>   .../amdgpu/display/dcn2_cm_drm_current.svg    | 1370 +++++++++++++++
>>   .../amdgpu/display/dcn3_cm_drm_current.svg    | 1529 +++++++++++++++++
>>   .../gpu/amdgpu/display/display-manager.rst    |   35 +
>>   drivers/gpu/drm/amd/display/dc/dc.h           |   74 +-
>>   4 files changed, 2995 insertions(+), 13 deletions(-)
>>   create mode 100644 
>> Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
>>   create mode 100644 
>> Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
>>
>> diff --git a/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg 
>> b/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
>> new file mode 100644
>> index 000000000000..315ffc5a1a4b
>> --- /dev/null
>> +++ b/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
>> @@ -0,0 +1,1370 @@
>> +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
>> +<!-- Created with Inkscape 
>> (http://www.inkscape.org/ 
>> -->
>> +
>> +<svg
>> +   version="1.1"
>> +   id="svg2019"
>> +   width="1702"
>> +   height="1845"
>> +   viewBox="0 0 1702 1845"
>> +   sodipodi:docname="dcn2_cm_drm_current.svg"
>> +   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
>> +   
>> xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape 
>>
>> +   
>> xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd 
>>
>> +   
>> xmlns="http://www.w3.org/2000/svg 
>>
>> +   
>> xmlns:svg="http://www.w3.org/2000/svg 
>>
>> +  <defs
>> +     id="defs2023" />
>> +  <sodipodi:namedview
>> +     id="namedview2021"
>> +     pagecolor="#ffffff"
>> +     bordercolor="#666666"
>> +     borderopacity="1.0"
>> +     inkscape:pageshadow="2"
>> +     inkscape:pageopacity="0.0"
>> +     inkscape:pagecheckerboard="0"
>> +     showgrid="false"
>> +     inkscape:zoom="0.56413987"
>> +     inkscape:cx="1003.2973"
>> +     inkscape:cy="691.31792"
>> +     inkscape:window-width="1920"
>> +     inkscape:window-height="1011"
>> +     inkscape:window-x="0"
>> +     inkscape:window-y="0"
>> +     inkscape:window-maximized="1"
>> +     inkscape:current-layer="g2025" />
>> +  <g
>> +     inkscape:groupmode="layer"
>> +     inkscape:label="Image"
>> +     id="g2025">
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
>> +       id="rect34"
>> +       width="208.83351"
>> +       height="486.09872"
>> +       x="0.90158081"
>> +       y="132.77872" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1019"
>> +       width="126.38867"
>> +       height="55.320732"
>> +       x="25.960823"
>> +       y="188.06937" />
>> +    <rect
>> +       
>> style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1021"
>> +       width="126.38867"
>> +       height="55.320732"
>> +       x="25.960823"
>> +       y="346.06937" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1103"
>> +       width="126.38867"
>> +       height="55.320732"
>> +       x="25.960823"
>> +       y="266.06937" />
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1105"
>> +       width="126.38867"
>> +       height="55.320732"
>> +       x="25.960823"
>> +       y="426.06937" />
>> +    <rect
>> +       
>> style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1107"
>> +       width="126.38867"
>> +       height="55.320732"
>> +       x="25.960823"
>> +       y="506.06934" />
>> +    <path
>> +       d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791 
>> 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 
>> -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 
>> -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 
>> 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348 
>> 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
>> +       id="path381056"
>> +       sodipodi:nodetypes="cccccccccc"
>> +       style="stroke-width:0.205176"
>> +       inkscape:transform-center-x="-325.50819"
>> +       inkscape:transform-center-y="-121.97185" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
>> +       id="rect1131"
>> +       width="239.47592"
>> +       height="1015.9909"
>> +       x="298.65631"
>> +       y="82.399658" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1" 
>>
>> +       id="rect1133"
>> +       width="340.44653"
>> +       height="525.77448"
>> +       x="298.79562"
>> +       y="1142.5299" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
>> +       id="rect1237"
>> +       width="284.00113"
>> +       height="945.41412"
>> +       x="827.75012"
>> +       y="82.880798"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
>> +       id="rect1239"
>> +       width="239.37569"
>> +       height="179.03308"
>> +       x="1356.9507"
>> +       y="98.758331" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1" 
>>
>> +       id="rect1241"
>> +       width="239.4184"
>> +       height="713.64905"
>> +       x="1356.9543"
>> +       y="307.7951"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
>> +       id="rect1345"
>> +       width="330.32059"
>> +       height="409.44757"
>> +       x="1363.8723"
>> +       y="1147.7572" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
>> +       id="rect1347"
>> +       width="369.8941"
>> +       height="682.32245"
>> +       x="825.72528"
>> +       y="1146.6448"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1349"
>> +       width="163.95746"
>> +       height="40.144867"
>> +       x="1389.9988"
>> +       y="190.80583" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1" 
>>
>> +       id="rect1619"
>> +       width="271.99091"
>> +       height="42.038273"
>> +       x="1393.981"
>> +       y="1197.161"
>> +       inkscape:connector-avoid="true" />
>> +    <path
>> +       d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378 
>> 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 
>> -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 
>> -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 
>> 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234 
>> 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
>> +       id="path106-1"
>> +       sodipodi:nodetypes="cccccccccc"
>> +       style="stroke-width:0.205176"
>> +       inkscape:transform-center-x="-325.50819"
>> +       inkscape:transform-center-y="-121.97185" />
>> +    <path
>> +       d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378 
>> 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 
>> -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 
>> -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 
>> 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234 
>> 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
>> +       id="path106-1-7"
>> +       sodipodi:nodetypes="cccccccccc"
>> +       style="stroke-width:0.205176"
>> +       inkscape:transform-center-x="-325.50819"
>> +       inkscape:transform-center-y="-121.97185" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1623"
>> +       width="137.32646"
>> +       height="41.782684"
>> +       x="1396.3848"
>> +       y="1268.2837"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1705"
>> +       width="137.32646"
>> +       height="41.782684"
>> +       x="1396.3848"
>> +       y="1348.2837" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1707"
>> +       width="137.32646"
>> +       height="41.782684"
>> +       x="1396.3848"
>> +       y="1432.2837" />
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1731"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="190.42665"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1813"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="254.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1815"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="318.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1817"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="412.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1819"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="560.42664" />
>> +    <rect
>> +       
>> style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1821"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="674.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1823"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="744.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1825"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="820.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1827"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="890.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1829"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="956.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1831"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1256.4268" />
>> +    <rect
>> +       
>> style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1833"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1402.4268" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1915"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1330.4268"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1917"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1478.4268" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1919"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1548.4268" />
>> +    <rect
>> +       
>> style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1921"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1614.4268" />
>> +    <rect
>> +       
>> style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1923"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1686.4268" />
>> +    <rect
>> +       
>> style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1925"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1754.4268" />
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" 
>>
>> +       id="rect1925-3"
>> +       width="169.23357"
>> +       height="44.678963"
>> +       x="325.21747"
>> +       y="134.37756" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" 
>>
>> +       id="rect1954"
>> +       width="169.23357"
>> +       height="44.678963"
>> +       x="325.21747"
>> +       y="276.37756"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" 
>>
>> +       id="rect1956"
>> +       width="168.66573"
>> +       height="122.14091"
>> +       x="325.50134"
>> +       y="358.6615"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" 
>>
>> +       id="rect1958"
>> +       width="169.23357"
>> +       height="44.678963"
>> +       x="325.21747"
>> +       y="672.37756" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" 
>>
>> +       id="rect1960"
>> +       width="169.23357"
>> +       height="44.678963"
>> +       x="325.21747"
>> +       y="744.37756" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1" 
>>
>> +       id="rect1962"
>> +       width="169.14041"
>> +       height="54.756817"
>> +       x="325.26404"
>> +       y="814.42413"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1" 
>>
>> +       id="rect1964"
>> +       width="169.14041"
>> +       height="54.756817"
>> +       x="325.26404"
>> +       y="886.42413"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1" 
>>
>> +       id="rect1966"
>> +       width="169.14041"
>> +       height="54.756817"
>> +       x="325.26404"
>> +       y="952.42413"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1" 
>>
>> +       id="rect2428"
>> +       width="169.0854"
>> +       height="61.19017"
>> +       x="325.29156"
>> +       y="1468.4518" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1" 
>>
>> +       id="rect2430"
>> +       width="169.26669"
>> +       height="41.344128"
>> +       x="325.20093"
>> +       y="1550.3611" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1" 
>>
>> +       id="rect2432"
>> +       width="287.86237"
>> +       height="44.416805"
>> +       x="325.34854"
>> +       y="1194.5088" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1" 
>>
>> +       id="rect2434"
>> +       width="285.86655"
>> +       height="44.4207"
>> +       x="867.34656"
>> +       y="1194.5068" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2509" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2511" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2513" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2515" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2517" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2519" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2521" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2523" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2525" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2527" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2529" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2531" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 442.80064,179.02883 0.91401,36.01283 423.64827,-2.29193"
>> +       id="path6876"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1925-3"
>> +       inkscape:connection-end="#rect1731"
>> +       sodipodi:nodetypes="ccc" />
>> +    <path
>> +       
>> style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 494.45103,156.71704 205.18886,-0.43622 0.59548,162.1112 
>> 167.12755,0.0346"
>> +       id="path6878"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1925-3"
>> +       sodipodi:nodetypes="cccc" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 447.83425,321.05653 v 19.69319 h 419.52867"
>> +       id="path7294"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1954"
>> +       inkscape:connection-end="#rect1815"
>> +       sodipodi:nodetypes="ccc" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292"
>> +       id="path7296"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-end="#rect1817"
>> +       inkscape:connection-start="#rect1954"
>> +       sodipodi:nodetypes="cccc" />
>> +    <path
>> +       
>> style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 867.36292,560.42664 -422.77356,1.33638 0.45008,-79.26417"
>> +       id="path7720"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       sodipodi:nodetypes="ccc" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 494.45103,696.74972 H 867.36292"
>> +       id="path7726"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1958"
>> +       inkscape:connection-end="#rect1821" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 867.36292,766.74972 H 494.45103"
>> +       id="path7728"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1823"
>> +       inkscape:connection-end="#rect1960" />
>> +    <path
>> +       
>> style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292"
>> +       id="path7730"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-end="#rect1831"
>> +       sodipodi:nodetypes="cccc" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874"
>> +       id="path8140"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1962"
>> +       inkscape:connection-end="#rect1825" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874"
>> +       id="path8142"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1964"
>> +       inkscape:connection-end="#rect1827" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874"
>> +       id="path8144"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1966"
>> +       inkscape:connection-end="#rect1829" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 494.37697,1500.7498 H 867.36292"
>> +       id="path8150"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect2428"
>> +       inkscape:connection-end="#rect1917" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 494.46762,1570.7498 h 372.8953"
>> +       id="path8152"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect2430"
>> +       inkscape:connection-end="#rect1919" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368"
>> +       id="path8154"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1623"
>> +       inkscape:connection-end="#rect1819" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 1396.3848,1369.175 -159.2837,-1.364 0.5816,-88.2579 
>> -147.975,-0.8033"
>> +       id="path8462"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1705"
>> +       inkscape:connection-end="#rect1831"
>> +       sodipodi:nodetypes="cccc" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 1089.7077,1500.7498 h 375.3403 v -26.6834"
>> +       id="path8668"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1917"
>> +       inkscape:connection-end="#rect1707" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 1389.9988,212.74973 H 1089.7077"
>> +       id="path8672"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1349"
>> +       inkscape:connection-end="#rect1731" />
>> +    <path
>> +       
>> style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233"
>> +       id="path8674"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-end="#rect1815"
>> +       sodipodi:nodetypes="cccc" />
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="58.63356"
>> +       y="69.574417"
>> +       id="text28675"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan28673"
>> +         x="58.63356"
>> +         y="69.574417" /></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="56.388252"
>> +       y="221.86568"
>> +       id="text31913"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan31911"
>> +         x="56.388252"
>> +         y="221.86568">Matrix</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="53.441296"
>> +       y="300.866"
>> +       id="text38843"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan38841"
>> +         x="53.441296"
>> +         y="300.866">1D LUT</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="53.441296"
>> +       y="378.866"
>> +       id="text41049"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan41047"
>> +         x="53.441296"
>> +         y="378.866">3D LUT</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="40.831493"
>> +       y="460.87411"
>> +       id="text45037"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan45035"
>> +         x="40.831493"
>> +         y="460.87411"
>> +         style="font-size:18.6667px">Unpacking</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="62.130371"
>> +       y="540.68872"
>> +       id="text49945"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan49943"
>> +         x="62.130371"
>> +         y="540.68872"
>> +         style="font-size:18.6667px">Other</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1423.2806"
>> +       y="128.08769"
>> +       id="text55719"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan55717"
>> +         x="1423.2806"
>> +         y="128.08769"
>> +         style="font-size:18.6667px">drm_framebuffer</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1439.9988"
>> +       y="218.74973"
>> +       id="text62479"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan62477"
>> +         x="1439.9988"
>> +         y="218.74973"
>> +         style="font-size:18.6667px">format</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1475.2806"
>> +       y="340.08771"
>> +       id="text64465"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64463"
>> +         x="1475.2806"
>> +         y="340.08771"
>> +         style="font-size:18.6667px">drm_plane</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1589.2806"
>> +       y="1178.0876"
>> +       id="text64469"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467"
>> +         x="1589.2806"
>> +         y="1178.0876"
>> +         style="font-size:18.6667px">drm_crtc</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="872.23993"
>> +       y="1172.4491"
>> +       id="text64469-9"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2"
>> +         x="872.23993"
>> +         y="1172.4491"
>> +         style="font-size:18.6667px">Stream</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="328.26071"
>> +       y="1175.6371"
>> +       id="text64469-9-2"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-8"
>> +         x="328.26071"
>> +         y="1175.6371"
>> +         style="font-size:18.6667px">MPC</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="330.14737"
>> +       y="114.41869"
>> +       id="text64469-9-9"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-7"
>> +         x="330.14737"
>> +         y="114.41869"
>> +         style="font-size:18.6667px">DPP</tspan></text>
>> +    <path
>> +       d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788 
>> 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 
>> -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 
>> -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 
>> 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345 
>> 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
>> +       id="path106"
>> +       sodipodi:nodetypes="cccccccccc"
>> +       style="stroke-width:0.205176"
>> +       inkscape:transform-center-x="-325.50819"
>> +       inkscape:transform-center-y="-121.97185" />
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1495.9988"
>> +       y="1224.7498"
>> +       id="text78849"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78847"
>> +         x="1495.9988"
>> +         y="1224.7498"
>> +         style="font-size:18.6667px">Blender</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1417.9988"
>> +       y="1294.7498"
>> +       id="text78853"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78851"
>> +         x="1417.9988"
>> +         y="1294.7498"
>> +         style="font-size:18.6667px">Degamma</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1451.9988"
>> +       y="1376.7498"
>> +       id="text78857"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78855"
>> +         x="1451.9988"
>> +         y="1376.7498"
>> +         style="font-size:18.6667px">CTM</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1427.9988"
>> +       y="1458.7498"
>> +       id="text78861"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78859"
>> +         x="1427.9988"
>> +         y="1458.7498"
>> +         style="font-size:18.6667px">Gamma</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="949.99878"
>> +       y="218.74973"
>> +       id="text104653"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan104651"
>> +         x="949.99878"
>> +         y="218.74973"
>> +         style="font-size:18.6667px">format</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="911.99878"
>> +       y="284.74973"
>> +       id="text104657"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan104655"
>> +         x="911.99878"
>> +         y="284.74973"
>> +         style="font-size:18.6667px">bias_and_scale</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="887.99878"
>> +       y="346.74973"
>> +       id="text104661"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan104659"
>> +         x="887.99878"
>> +         y="346.74973"
>> +         style="font-size:18.6667px">color space matrix</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="871.99878"
>> +       y="442.74973"
>> +       id="text104665"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan104663"
>> +         x="871.99878"
>> +         y="442.74973"
>> +         
>> style="font-size:18.6667px">input_csc_color_matrix</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="905.99878"
>> +       y="586.74976"
>> +       id="text125075"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan125073"
>> +         x="905.99878"
>> +         y="586.74976"
>> +         style="font-size:18.6667px">in_transfer_func</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="945.0083"
>> +       y="702.85938"
>> +       id="text117309"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan117307"
>> +         x="945.0083"
>> +         y="702.85938"
>> +         style="font-size:18.6667px">hdr_mult</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="874.5556"
>> +       y="773.42615"
>> +       id="text117309-6"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan117307-7"
>> +         x="874.5556"
>> +         y="773.42615"
>> +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="913.72528"
>> +       y="846.55896"
>> +       id="text117309-5"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan117307-3"
>> +         x="913.72528"
>> +         y="846.55896"
>> +         style="font-size:18.6667px">in_shaper_func</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="937.72528"
>> +       y="918.25787"
>> +       id="text117309-56"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan117307-2"
>> +         x="937.72528"
>> +         y="918.25787"
>> +         style="font-size:18.6667px">lut3d_func</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="945.9895"
>> +       y="986.10767"
>> +       id="text117309-9"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan117307-1"
>> +         x="945.9895"
>> +         y="986.10767"
>> +         style="font-size:18.6667px">blend_tf</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="975.91803"
>> +       y="1224.5564"
>> +       id="text137434"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432"
>> +         x="975.91803"
>> +         y="1224.5564"
>> +         style="font-size:18.6667px">Blender</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="879.31372"
>> +       y="1283.4249"
>> +       id="text137434-2"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-7"
>> +         x="879.31372"
>> +         y="1283.4249"
>> +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="925.31372"
>> +       y="1359.2747"
>> +       id="text137434-0"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-9"
>> +         x="925.31372"
>> +         y="1359.2747"
>> +         style="font-size:18.6667px">func_shaper</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="930.33252"
>> +       y="1430.2566"
>> +       id="text137434-3"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-6"
>> +         x="930.33252"
>> +         y="1430.2566"
>> +         style="font-size:18.6667px">lut3d_func</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="900.18158"
>> +       y="1504.6725"
>> +       id="text137434-06"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-2"
>> +         x="900.18158"
>> +         y="1504.6725"
>> +         style="font-size:18.6667px">out_transfer_func</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="904.0307"
>> +       y="1575.8053"
>> +       id="text137434-6"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-1"
>> +         x="904.0307"
>> +         y="1575.8053"
>> +         style="font-size:18.6667px">csc_color_matrix</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="903.16278"
>> +       y="1642.1078"
>> +       id="text137434-8"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-79"
>> +         x="903.16278"
>> +         y="1642.1078"
>> +         style="font-size:18.6667px">bit_depth_param</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="939.31372"
>> +       y="1713.8068"
>> +       id="text137434-20"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-23"
>> +         x="939.31372"
>> +         y="1713.8068"
>> +         style="font-size:18.6667px">clamping</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="894.0307"
>> +       y="1782.5244"
>> +       id="text137434-7"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-5"
>> +         x="894.0307"
>> +         y="1782.5244"
>> +         style="font-size:18.6667px">output_color_space</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="869.63062"
>> +       y="117.7968"
>> +       id="text176429"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan176427"
>> +         x="869.63062"
>> +         y="117.7968"
>> +         style="font-size:18.6667px">Plane</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="27.605465"
>> +       y="162.20587"
>> +       id="text176429-2"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan176427-0"
>> +         x="27.605465"
>> +         y="162.20587"
>> +         style="font-size:18.6667px">Legend</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="298.63959"
>> +       y="59.293999"
>> +       id="text176429-9"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan176427-2"
>> +         x="298.63959"
>> +         y="59.293999"
>> +         style="font-size:18.6667px">DCN 2.0</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="826.65735"
>> +       y="59.458061"
>> +       id="text176429-66"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan176427-4"
>> +         x="826.65735"
>> +         y="59.458061"
>> +         style="font-size:18.6667px">DC Interface</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1362.9948"
>> +       y="59.458061"
>> +       id="text176429-95"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan176427-04"
>> +         x="1362.9948"
>> +         y="59.458061"
>> +         style="font-size:18.6667px">DRM Interface</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="867.34656"
>> +       y="1194.5068"
>> +       id="text184728"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan184726"
>> +         x="867.34656"
>> +         y="1194.5068" /></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="389.01593"
>> +       y="159.8909"
>> +       id="text64469-9-3"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-6"
>> +         x="389.01593"
>> +         y="159.8909"
>> +         style="font-size:18.6667px">CNVC</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="365.88379"
>> +       y="303.59048"
>> +       id="text64469-9-1"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-2"
>> +         x="365.88379"
>> +         y="303.59048"
>> +         style="font-size:18.6667px">Input CSC</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="409.06488"
>> +       y="404.95001"
>> +       id="text64469-9-93"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-1"
>> +         x="409.06488"
>> +         y="404.95001"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan 
>>
>> +         sodipodi:role="line"
>> +         x="409.06488"
>> +         y="428.28339"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan233797">RAM and ROM</tspan><tspan
>> +         sodipodi:role="line"
>> +         x="409.06488"
>> +         y="451.61676"
>> +         
>> style="font-size:10.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan242597">(sRGB, BT2020</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="351.16684"
>> +       y="700.34918"
>> +       id="text64469-9-0"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-3"
>> +         x="351.16684"
>> +         y="700.34918"
>> +         style="font-size:18.6667px">HDR Multiply</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="345.16684"
>> +       y="771.33112"
>> +       id="text64469-9-6"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-10"
>> +         x="345.16684"
>> +         y="771.33112"
>> +         style="font-size:18.6667px">Gamut Remap</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="412.5184"
>> +       y="836.04877"
>> +       id="text64469-9-63"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-20"
>> +         x="412.5184"
>> +         y="836.04877"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan 
>>
>> +         sodipodi:role="line"
>> +         x="412.5184"
>> +         y="859.38214"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan222533">RAM</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="413.54086"
>> +       y="908.61554"
>> +       id="text64469-9-61"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-55"
>> +         x="413.54086"
>> +         y="908.61554"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle">3D 
>> LUT</tspan><tspan
>> +         sodipodi:role="line"
>> +         x="413.54086"
>> +         y="931.94891"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan221121">RAM</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="344.0347"
>> +       y="985.33319"
>> +       id="text64469-9-47"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-65"
>> +         x="344.0347"
>> +         y="985.33319"
>> +         style="font-size:18.6667px">Blend Gamma</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="433.84625"
>> +       y="1223.411"
>> +       id="text64469-9-69"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-37"
>> +         x="433.84625"
>> +         y="1223.411"
>> +         style="font-size:18.6667px">Blender</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="408.64996"
>> +       y="1492.8102"
>> +       id="text64469-9-8"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-84"
>> +         x="408.64996"
>> +         y="1492.8102"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan 
>>
>> +         sodipodi:role="line"
>> +         x="408.64996"
>> +         y="1516.1436"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan197733">RAM</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="385.46863"
>> +       y="1575.2261"
>> +       id="text64469-9-31"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-49"
>> +         x="385.46863"
>> +         y="1575.2261"
>> +         style="font-size:18.6667px">OCSC</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1356.5106"
>> +       y="53.140579"
>> +       id="text273287"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan273285"
>> +         x="1356.5106"
>> +         y="53.140579" /></text>
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1411"
>> +       width="177.28049"
>> +       height="38.940468"
>> +       x="1392.2576"
>> +       y="459.24118" />
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1411.7203"
>> +       y="485.93231"
>> +       id="text78841"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78839"
>> +         x="1411.7203"
>> +         y="485.93231"
>> +         style="font-size:18.6667px">color_encoding</tspan></text>
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1515"
>> +       width="175.11876"
>> +       height="43.239407"
>> +       x="1393.7493"
>> +       y="525.6983" />
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1399.212"
>> +       y="553.44904"
>> +       id="text78845"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78843"
>> +         x="1399.212"
>> +         y="553.44904">pixel_blend_mode</tspan></text>
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect371322"
>> +       width="177.28049"
>> +       height="38.940468"
>> +       x="1391.6781"
>> +       y="385.61713" />
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1427.5771"
>> +       y="409.29523"
>> +       id="text78837"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78835"
>> +         x="1427.5771"
>> +         y="409.29523"
>> +         style="font-size:18.6667px">color_range</tspan></text>
>> +    <path
>> +       d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444 
>> 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 
>> -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 
>> 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
>> +       id="path371636-7"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443 
>> 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 
>> -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 
>> 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
>> +       id="path371636-7-2"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-7"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-22"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-6"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-1"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-5"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-9"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-4"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-90"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-91"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444 
>> 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 
>> -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 
>> 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
>> +       id="path371636-7-59"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +  </g>
>> +</svg>
>> diff --git a/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg 
>> b/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
>> new file mode 100644
>> index 000000000000..7299ee9b6d64
>> --- /dev/null
>> +++ b/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
>> @@ -0,0 +1,1529 @@
>> +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
>> +<!-- Created with Inkscape 
>> (http://www.inkscape.org/ 
>> -->
>> +
>> +<svg
>> +   version="1.1"
>> +   id="svg2019"
>> +   width="1702"
>> +   height="1845"
>> +   viewBox="0 0 1702 1845"
>> +   sodipodi:docname="dcn3_cm_drm_current.svg"
>> +   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
>> +   
>> xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape 
>>
>> +   
>> xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd 
>>
>> +   
>> xmlns="http://www.w3.org/2000/svg 
>>
>> +   
>> xmlns:svg="http://www.w3.org/2000/svg 
>>
>> +  <defs
>> +     id="defs2023" />
>> +  <sodipodi:namedview
>> +     id="namedview2021"
>> +     pagecolor="#ffffff"
>> +     bordercolor="#666666"
>> +     borderopacity="1.0"
>> +     inkscape:pageshadow="2"
>> +     inkscape:pageopacity="0.0"
>> +     inkscape:pagecheckerboard="0"
>> +     showgrid="false"
>> +     inkscape:zoom="0.55760543"
>> +     inkscape:cx="1011.4679"
>> +     inkscape:cy="249.28021"
>> +     inkscape:window-width="1920"
>> +     inkscape:window-height="1011"
>> +     inkscape:window-x="0"
>> +     inkscape:window-y="0"
>> +     inkscape:window-maximized="1"
>> +     inkscape:current-layer="g2025" />
>> +  <g
>> +     inkscape:groupmode="layer"
>> +     inkscape:label="Image"
>> +     id="g2025">
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
>> +       id="rect34"
>> +       width="208.83351"
>> +       height="486.09872"
>> +       x="0.90158081"
>> +       y="132.77872" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1019"
>> +       width="126.38867"
>> +       height="55.320732"
>> +       x="25.960823"
>> +       y="188.06937" />
>> +    <rect
>> +       
>> style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1021"
>> +       width="126.38867"
>> +       height="55.320732"
>> +       x="25.960823"
>> +       y="346.06937" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1103"
>> +       width="126.38867"
>> +       height="55.320732"
>> +       x="25.960823"
>> +       y="266.06937" />
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1105"
>> +       width="126.38867"
>> +       height="55.320732"
>> +       x="25.960823"
>> +       y="426.06937" />
>> +    <rect
>> +       
>> style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1107"
>> +       width="126.38867"
>> +       height="55.320732"
>> +       x="25.960823"
>> +       y="506.06934" />
>> +    <path
>> +       d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791 
>> 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 
>> -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 
>> -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 
>> 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348 
>> 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
>> +       id="path381056"
>> +       sodipodi:nodetypes="cccccccccc"
>> +       style="stroke-width:0.205176"
>> +       inkscape:transform-center-x="-325.50819"
>> +       inkscape:transform-center-y="-121.97185" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
>> +       id="rect1131"
>> +       width="239.47592"
>> +       height="1015.9909"
>> +       x="298.65631"
>> +       y="82.399658" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1" 
>>
>> +       id="rect1133"
>> +       width="340.44653"
>> +       height="525.77448"
>> +       x="298.79562"
>> +       y="1142.5299" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
>> +       id="rect1237"
>> +       width="284.00113"
>> +       height="945.41412"
>> +       x="827.75012"
>> +       y="82.880798"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
>> +       id="rect1239"
>> +       width="239.37569"
>> +       height="179.03308"
>> +       x="1356.9507"
>> +       y="98.758331" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1" 
>>
>> +       id="rect1241"
>> +       width="239.4184"
>> +       height="713.64905"
>> +       x="1356.9543"
>> +       y="307.7951"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
>> +       id="rect1345"
>> +       width="330.32059"
>> +       height="409.44757"
>> +       x="1363.8723"
>> +       y="1147.7572" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
>> +       id="rect1347"
>> +       width="369.8941"
>> +       height="682.32245"
>> +       x="825.72528"
>> +       y="1146.6448"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1349"
>> +       width="163.95746"
>> +       height="40.144867"
>> +       x="1389.9988"
>> +       y="190.80583" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1" 
>>
>> +       id="rect1619"
>> +       width="271.99091"
>> +       height="42.038273"
>> +       x="1393.981"
>> +       y="1197.161"
>> +       inkscape:connector-avoid="true" />
>> +    <path
>> +       d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378 
>> 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 
>> -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 
>> -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 
>> 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234 
>> 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
>> +       id="path106-1"
>> +       sodipodi:nodetypes="cccccccccc"
>> +       style="stroke-width:0.205176"
>> +       inkscape:transform-center-x="-325.50819"
>> +       inkscape:transform-center-y="-121.97185" />
>> +    <path
>> +       d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378 
>> 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 
>> -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 
>> -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 
>> 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234 
>> 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
>> +       id="path106-1-7"
>> +       sodipodi:nodetypes="cccccccccc"
>> +       style="stroke-width:0.205176"
>> +       inkscape:transform-center-x="-325.50819"
>> +       inkscape:transform-center-y="-121.97185" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1623"
>> +       width="137.32646"
>> +       height="41.782684"
>> +       x="1396.3848"
>> +       y="1268.2837"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1705"
>> +       width="137.32646"
>> +       height="41.782684"
>> +       x="1396.3848"
>> +       y="1348.2837" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1707"
>> +       width="137.32646"
>> +       height="41.782684"
>> +       x="1396.3848"
>> +       y="1432.2837" />
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1731"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="190.42665"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1813"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="254.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1815"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="318.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1817"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="412.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1819"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="560.42664" />
>> +    <rect
>> +       
>> style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1821"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="674.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1823"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="744.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1825"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="820.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1827"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="890.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1829"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="956.42664"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1831"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1256.4268" />
>> +    <rect
>> +       
>> style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1833"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1402.4268" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1915"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1330.4268"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1917"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1478.4268" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1919"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1548.4268" />
>> +    <rect
>> +       
>> style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1921"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1614.4268" />
>> +    <rect
>> +       
>> style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1923"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1686.4268" />
>> +    <rect
>> +       
>> style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1925"
>> +       width="222.34483"
>> +       height="44.64616"
>> +       x="867.36292"
>> +       y="1754.4268" />
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" 
>>
>> +       id="rect1925-3"
>> +       width="169.23357"
>> +       height="44.678963"
>> +       x="325.21747"
>> +       y="134.37756" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" 
>>
>> +       id="rect1954"
>> +       width="169.23357"
>> +       height="44.678963"
>> +       x="325.21747"
>> +       y="276.37756"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" 
>>
>> +       id="rect1956"
>> +       width="168.66573"
>> +       height="122.14091"
>> +       x="325.50134"
>> +       y="358.6615"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" 
>>
>> +       id="rect1958"
>> +       width="169.23357"
>> +       height="44.678963"
>> +       x="325.21747"
>> +       y="672.37756" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" 
>>
>> +       id="rect1960"
>> +       width="169.23357"
>> +       height="44.678963"
>> +       x="325.21747"
>> +       y="744.37756" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1" 
>>
>> +       id="rect1962"
>> +       width="169.14041"
>> +       height="54.756817"
>> +       x="325.26404"
>> +       y="814.42413"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1" 
>>
>> +       id="rect1964"
>> +       width="169.14041"
>> +       height="54.756817"
>> +       x="325.26404"
>> +       y="886.42413"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1" 
>>
>> +       id="rect1966"
>> +       width="169.14041"
>> +       height="54.756817"
>> +       x="325.26404"
>> +       y="952.42413"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" 
>>
>> +       id="rect2418"
>> +       width="169.23357"
>> +       height="44.678963"
>> +       x="325.21747"
>> +       y="510.37756"
>> +       inkscape:connector-avoid="true" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" 
>>
>> +       id="rect2422"
>> +       width="169.23357"
>> +       height="44.678963"
>> +       x="325.21747"
>> +       y="1262.3777" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1" 
>>
>> +       id="rect2424"
>> +       width="169.12494"
>> +       height="56.528603"
>> +       x="325.27179"
>> +       y="1322.432" />
>> +    <rect
>> +       
>> style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1" 
>>
>> +       id="rect2426"
>> +       width="169.12494"
>> +       height="56.528603"
>> +       x="325.27179"
>> +       y="1396.432" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1" 
>>
>> +       id="rect2428"
>> +       width="169.0854"
>> +       height="61.19017"
>> +       x="325.29156"
>> +       y="1468.4518" />
>> +    <rect
>> +       
>> style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1" 
>>
>> +       id="rect2430"
>> +       width="169.26669"
>> +       height="41.344128"
>> +       x="325.20093"
>> +       y="1550.3611" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1" 
>>
>> +       id="rect2432"
>> +       width="287.86237"
>> +       height="44.416805"
>> +       x="325.34854"
>> +       y="1194.5088" />
>> +    <rect
>> +       
>> style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1" 
>>
>> +       id="rect2434"
>> +       width="285.86655"
>> +       height="44.4207"
>> +       x="867.34656"
>> +       y="1194.5068" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2509" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2511" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2513" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2515" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2517" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2519" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2521" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2523" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2525" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2527" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2529" />
>> +    <path
>> +       
>> style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 
>> 8.00000024;stroke-dashoffset:0"
>> +       d="m 867.36292,235.07281 v 0"
>> +       id="path2531" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 449.83425,179.05653 v 33.6932 h 417.52867"
>> +       id="path6876"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1925-3"
>> +       inkscape:connection-end="#rect1731"
>> +       sodipodi:nodetypes="ccc" />
>> +    <path
>> +       
>> style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 494.45103,156.71704 h 216.64955 v 161.7096 h 156.26234"
>> +       id="path6878"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1925-3"
>> +       sodipodi:nodetypes="cccc" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 451.83425,321.05653 v 19.69319 h 415.52867"
>> +       id="path7294"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1954"
>> +       inkscape:connection-end="#rect1815"
>> +       sodipodi:nodetypes="ccc" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292"
>> +       id="path7296"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-end="#rect1817"
>> +       inkscape:connection-start="#rect1954"
>> +       sodipodi:nodetypes="cccc" />
>> +    <path
>> +       
>> style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 867.36292,560.42664 H 661.10058 V 480.8024 H 494.16705"
>> +       id="path7720"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       sodipodi:nodetypes="cccc" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 455.83425,594.37756 V 582.74972 H 867.36292"
>> +       id="path7724"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect2420"
>> +       inkscape:connection-end="#rect1819"
>> +       sodipodi:nodetypes="ccc" />
>> +    <rect
>> +       
>> style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" 
>>
>> +       id="rect2420"
>> +       width="169.23357"
>> +       height="44.678963"
>> +       x="325.21747"
>> +       y="594.37756" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 494.45103,696.74972 H 867.36292"
>> +       id="path7726"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1958"
>> +       inkscape:connection-end="#rect1821" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 867.36292,766.74972 H 494.45103"
>> +       id="path7728"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1823"
>> +       inkscape:connection-end="#rect1960" />
>> +    <path
>> +       
>> style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292"
>> +       id="path7730"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-end="#rect1831"
>> +       sodipodi:nodetypes="cccc" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874"
>> +       id="path8140"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1962"
>> +       inkscape:connection-end="#rect1825" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874"
>> +       id="path8142"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1964"
>> +       inkscape:connection-end="#rect1827" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874"
>> +       id="path8144"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1966"
>> +       inkscape:connection-end="#rect1829" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 494.39673,1352.7498 H 867.36292"
>> +       id="path8146"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect2424"
>> +       inkscape:connection-end="#rect1915" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 494.39673,1424.7498 H 867.36292"
>> +       id="path8148"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect2426"
>> +       inkscape:connection-end="#rect1833" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 494.37697,1500.7498 H 867.36292"
>> +       id="path8150"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect2428"
>> +       inkscape:connection-end="#rect1917" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 494.46762,1570.7498 h 372.8953"
>> +       id="path8152"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect2430"
>> +       inkscape:connection-end="#rect1919" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368"
>> +       id="path8154"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1623"
>> +       inkscape:connection-end="#rect1819" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 1396.3848,1369.175 h -156.2403 v -90.4252 h -150.4368"
>> +       id="path8462"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1705"
>> +       inkscape:connection-end="#rect1831"
>> +       sodipodi:nodetypes="cccc" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="m 1089.7077,1500.7498 h 375.3403 v -26.6834"
>> +       id="path8668"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1917"
>> +       inkscape:connection-end="#rect1707" />
>> +    <path
>> +       
>> style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 1389.9988,212.74973 H 1089.7077"
>> +       id="path8672"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-start="#rect1349"
>> +       inkscape:connection-end="#rect1731" />
>> +    <path
>> +       
>> style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 
>> 6;stroke-dashoffset:0;stroke-opacity:1"
>> +       d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233"
>> +       id="path8674"
>> +       inkscape:connector-type="orthogonal"
>> +       inkscape:connector-curvature="0"
>> +       inkscape:connection-end="#rect1815"
>> +       sodipodi:nodetypes="cccc" />
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="58.63356"
>> +       y="69.574417"
>> +       id="text28675"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan28673"
>> +         x="58.63356"
>> +         y="69.574417" /></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="56.388252"
>> +       y="221.86568"
>> +       id="text31913"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan31911"
>> +         x="56.388252"
>> +         y="221.86568">Matrix</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="53.441296"
>> +       y="300.866"
>> +       id="text38843"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan38841"
>> +         x="53.441296"
>> +         y="300.866">1D LUT</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="53.441296"
>> +       y="378.866"
>> +       id="text41049"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan41047"
>> +         x="53.441296"
>> +         y="378.866">3D LUT</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="40.831493"
>> +       y="460.87411"
>> +       id="text45037"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan45035"
>> +         x="40.831493"
>> +         y="460.87411"
>> +         style="font-size:18.6667px">Unpacking</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="62.130371"
>> +       y="540.68872"
>> +       id="text49945"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan49943"
>> +         x="62.130371"
>> +         y="540.68872"
>> +         style="font-size:18.6667px">Other</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1423.2806"
>> +       y="128.08769"
>> +       id="text55719"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan55717"
>> +         x="1423.2806"
>> +         y="128.08769"
>> +         style="font-size:18.6667px">drm_framebuffer</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1439.9988"
>> +       y="218.74973"
>> +       id="text62479"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan62477"
>> +         x="1439.9988"
>> +         y="218.74973"
>> +         style="font-size:18.6667px">format</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1475.2806"
>> +       y="340.08771"
>> +       id="text64465"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64463"
>> +         x="1475.2806"
>> +         y="340.08771"
>> +         style="font-size:18.6667px">drm_plane</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1589.2806"
>> +       y="1178.0876"
>> +       id="text64469"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467"
>> +         x="1589.2806"
>> +         y="1178.0876"
>> +         style="font-size:18.6667px">drm_crtc</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="872.23993"
>> +       y="1172.4491"
>> +       id="text64469-9"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2"
>> +         x="872.23993"
>> +         y="1172.4491"
>> +         style="font-size:18.6667px">Stream</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="328.26071"
>> +       y="1175.6371"
>> +       id="text64469-9-2"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-8"
>> +         x="328.26071"
>> +         y="1175.6371"
>> +         style="font-size:18.6667px">MPC</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="330.14737"
>> +       y="114.41869"
>> +       id="text64469-9-9"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-7"
>> +         x="330.14737"
>> +         y="114.41869"
>> +         style="font-size:18.6667px">DPP</tspan></text>
>> +    <path
>> +       d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788 
>> 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 
>> -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 
>> -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 
>> 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345 
>> 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
>> +       id="path106"
>> +       sodipodi:nodetypes="cccccccccc"
>> +       style="stroke-width:0.205176"
>> +       inkscape:transform-center-x="-325.50819"
>> +       inkscape:transform-center-y="-121.97185" />
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1495.9988"
>> +       y="1224.7498"
>> +       id="text78849"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78847"
>> +         x="1495.9988"
>> +         y="1224.7498"
>> +         style="font-size:18.6667px">Blender</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1417.9988"
>> +       y="1294.7498"
>> +       id="text78853"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78851"
>> +         x="1417.9988"
>> +         y="1294.7498"
>> +         style="font-size:18.6667px">Degamma</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1451.9988"
>> +       y="1376.7498"
>> +       id="text78857"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78855"
>> +         x="1451.9988"
>> +         y="1376.7498"
>> +         style="font-size:18.6667px">CTM</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1427.9988"
>> +       y="1458.7498"
>> +       id="text78861"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78859"
>> +         x="1427.9988"
>> +         y="1458.7498"
>> +         style="font-size:18.6667px">Gamma</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="949.99878"
>> +       y="218.74973"
>> +       id="text104653"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan104651"
>> +         x="949.99878"
>> +         y="218.74973"
>> +         style="font-size:18.6667px">format</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="911.99878"
>> +       y="284.74973"
>> +       id="text104657"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan104655"
>> +         x="911.99878"
>> +         y="284.74973"
>> +         style="font-size:18.6667px">bias_and_scale</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="887.99878"
>> +       y="346.74973"
>> +       id="text104661"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan104659"
>> +         x="887.99878"
>> +         y="346.74973"
>> +         style="font-size:18.6667px">color space matrix</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="871.99878"
>> +       y="442.74973"
>> +       id="text104665"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan104663"
>> +         x="871.99878"
>> +         y="442.74973"
>> +         
>> style="font-size:18.6667px">input_csc_color_matrix</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="905.99878"
>> +       y="586.74976"
>> +       id="text125075"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan125073"
>> +         x="905.99878"
>> +         y="586.74976"
>> +         style="font-size:18.6667px">in_transfer_func</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="945.0083"
>> +       y="702.85938"
>> +       id="text117309"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan117307"
>> +         x="945.0083"
>> +         y="702.85938"
>> +         style="font-size:18.6667px">hdr_mult</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="874.5556"
>> +       y="773.42615"
>> +       id="text117309-6"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan117307-7"
>> +         x="874.5556"
>> +         y="773.42615"
>> +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="913.72528"
>> +       y="846.55896"
>> +       id="text117309-5"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan117307-3"
>> +         x="913.72528"
>> +         y="846.55896"
>> +         style="font-size:18.6667px">in_shaper_func</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="937.72528"
>> +       y="918.25787"
>> +       id="text117309-56"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan117307-2"
>> +         x="937.72528"
>> +         y="918.25787"
>> +         style="font-size:18.6667px">lut3d_func</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="945.9895"
>> +       y="986.10767"
>> +       id="text117309-9"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan117307-1"
>> +         x="945.9895"
>> +         y="986.10767"
>> +         style="font-size:18.6667px">blend_tf</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="975.91803"
>> +       y="1224.5564"
>> +       id="text137434"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432"
>> +         x="975.91803"
>> +         y="1224.5564"
>> +         style="font-size:18.6667px">Blender</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="879.31372"
>> +       y="1283.4249"
>> +       id="text137434-2"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-7"
>> +         x="879.31372"
>> +         y="1283.4249"
>> +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="925.31372"
>> +       y="1359.2747"
>> +       id="text137434-0"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-9"
>> +         x="925.31372"
>> +         y="1359.2747"
>> +         style="font-size:18.6667px">func_shaper</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="930.33252"
>> +       y="1430.2566"
>> +       id="text137434-3"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-6"
>> +         x="930.33252"
>> +         y="1430.2566"
>> +         style="font-size:18.6667px">lut3d_func</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="900.18158"
>> +       y="1504.6725"
>> +       id="text137434-06"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-2"
>> +         x="900.18158"
>> +         y="1504.6725"
>> +         style="font-size:18.6667px">out_transfer_func</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="904.0307"
>> +       y="1575.8053"
>> +       id="text137434-6"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-1"
>> +         x="904.0307"
>> +         y="1575.8053"
>> +         style="font-size:18.6667px">csc_color_matrix</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="903.16278"
>> +       y="1642.1078"
>> +       id="text137434-8"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-79"
>> +         x="903.16278"
>> +         y="1642.1078"
>> +         style="font-size:18.6667px">bit_depth_param</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="939.31372"
>> +       y="1713.8068"
>> +       id="text137434-20"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-23"
>> +         x="939.31372"
>> +         y="1713.8068"
>> +         style="font-size:18.6667px">clamping</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="894.0307"
>> +       y="1782.5244"
>> +       id="text137434-7"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan137432-5"
>> +         x="894.0307"
>> +         y="1782.5244"
>> +         style="font-size:18.6667px">output_color_space</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="869.63062"
>> +       y="117.7968"
>> +       id="text176429"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan176427"
>> +         x="869.63062"
>> +         y="117.7968"
>> +         style="font-size:18.6667px">Plane</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="27.605465"
>> +       y="162.20587"
>> +       id="text176429-2"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan176427-0"
>> +         x="27.605465"
>> +         y="162.20587"
>> +         style="font-size:18.6667px">Legend</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="298.63959"
>> +       y="59.293999"
>> +       id="text176429-9"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan176427-2"
>> +         x="298.63959"
>> +         y="59.293999"
>> +         style="font-size:18.6667px">DCN 3.0</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="826.65735"
>> +       y="59.458061"
>> +       id="text176429-66"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan176427-4"
>> +         x="826.65735"
>> +         y="59.458061"
>> +         style="font-size:18.6667px">DC Interface</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1362.9948"
>> +       y="59.458061"
>> +       id="text176429-95"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan176427-04"
>> +         x="1362.9948"
>> +         y="59.458061"
>> +         style="font-size:18.6667px">DRM Interface</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="867.34656"
>> +       y="1194.5068"
>> +       id="text184728"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan184726"
>> +         x="867.34656"
>> +         y="1194.5068" /></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="389.01593"
>> +       y="159.8909"
>> +       id="text64469-9-3"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-6"
>> +         x="389.01593"
>> +         y="159.8909"
>> +         style="font-size:18.6667px">CNVC</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="365.88379"
>> +       y="303.59048"
>> +       id="text64469-9-1"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-2"
>> +         x="365.88379"
>> +         y="303.59048"
>> +         style="font-size:18.6667px">Input CSC</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="413.06488"
>> +       y="390.95001"
>> +       id="text64469-9-93"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-1"
>> +         x="413.06488"
>> +         y="390.95001"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan 
>>
>> +         sodipodi:role="line"
>> +         x="413.06488"
>> +         y="414.28339"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan233797">ROM</tspan><tspan
>> +         sodipodi:role="line"
>> +         x="413.06488"
>> +         y="437.61676"
>> +         
>> style="font-size:10.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan233799">(sRGB, BT2020, Gamma 2.2,</tspan><tspan
>> +         sodipodi:role="line"
>> +         x="413.06488"
>> +         y="460.95013"
>> +         
>> style="font-size:10.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan242597">PQ, HLG)</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="372.44986"
>> +       y="538.83807"
>> +       id="text64469-9-94"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-78"
>> +         x="372.44986"
>> +         y="538.83807"
>> +         style="font-size:18.6667px">Post CSC</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="335.31775"
>> +       y="622.23511"
>> +       id="text64469-9-4"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-5"
>> +         x="335.31775"
>> +         y="622.23511"
>> +         style="font-size:16px">Gamma Correction</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="351.16684"
>> +       y="700.34918"
>> +       id="text64469-9-0"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-3"
>> +         x="351.16684"
>> +         y="700.34918"
>> +         style="font-size:18.6667px">HDR Multiply</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="345.16684"
>> +       y="771.33112"
>> +       id="text64469-9-6"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-10"
>> +         x="345.16684"
>> +         y="771.33112"
>> +         style="font-size:18.6667px">Gamut Remap</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="412.5184"
>> +       y="836.04877"
>> +       id="text64469-9-63"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-20"
>> +         x="412.5184"
>> +         y="836.04877"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan 
>>
>> +         sodipodi:role="line"
>> +         x="412.5184"
>> +         y="859.38214"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan222533">RAM</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="413.54086"
>> +       y="908.61554"
>> +       id="text64469-9-61"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-55"
>> +         x="413.54086"
>> +         y="908.61554"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle">3D 
>> LUT</tspan><tspan
>> +         sodipodi:role="line"
>> +         x="413.54086"
>> +         y="931.94891"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan221121">RAM</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="344.0347"
>> +       y="985.33319"
>> +       id="text64469-9-47"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-65"
>> +         x="344.0347"
>> +         y="985.33319"
>> +         style="font-size:18.6667px">Blend Gamma</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="433.84625"
>> +       y="1223.411"
>> +       id="text64469-9-69"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-37"
>> +         x="433.84625"
>> +         y="1223.411"
>> +         style="font-size:18.6667px">Blender</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="343.73291"
>> +       y="1290.2421"
>> +       id="text64469-9-45"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-25"
>> +         x="343.73291"
>> +         y="1290.2421"
>> +         style="font-size:18.6667px">Gamut Remap</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="408.74442"
>> +       y="1344.2428"
>> +       id="text64469-9-474"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-4"
>> +         x="408.74442"
>> +         y="1344.2428"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan 
>>
>> +         sodipodi:role="line"
>> +         x="408.74442"
>> +         y="1367.5762"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan208303">RAM</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="407.1257"
>> +       y="1420.2435"
>> +       id="text64469-9-30"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-786"
>> +         x="407.1257"
>> +         y="1420.2435"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle">3D 
>> LUT</tspan><tspan
>> +         sodipodi:role="line"
>> +         x="407.1257"
>> +         y="1443.5769"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan204749">RAM</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="408.64996"
>> +       y="1492.8102"
>> +       id="text64469-9-8"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-84"
>> +         x="408.64996"
>> +         y="1492.8102"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan 
>>
>> +         sodipodi:role="line"
>> +         x="408.64996"
>> +         y="1516.1436"
>> +         
>> style="font-size:18.6667px;text-align:center;text-anchor:middle"
>> +         id="tspan197733">RAM</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="385.46863"
>> +       y="1575.2261"
>> +       id="text64469-9-31"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan64467-2-49"
>> +         x="385.46863"
>> +         y="1575.2261"
>> +         style="font-size:18.6667px">OCSC</tspan></text>
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1356.5106"
>> +       y="53.140579"
>> +       id="text273287"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan273285"
>> +         x="1356.5106"
>> +         y="53.140579" /></text>
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1411"
>> +       width="177.28049"
>> +       height="38.940468"
>> +       x="1392.2576"
>> +       y="459.24118" />
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1411.7203"
>> +       y="485.93231"
>> +       id="text78841"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78839"
>> +         x="1411.7203"
>> +         y="485.93231"
>> +         style="font-size:18.6667px">color_encoding</tspan></text>
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect1515"
>> +       width="175.11876"
>> +       height="43.239407"
>> +       x="1393.7493"
>> +       y="525.6983" />
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1399.212"
>> +       y="553.44904"
>> +       id="text78845"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78843"
>> +         x="1399.212"
>> +         y="553.44904">pixel_blend_mode</tspan></text>
>> +    <rect
>> +       
>> style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
>> +       id="rect371322"
>> +       width="177.28049"
>> +       height="38.940468"
>> +       x="1391.6781"
>> +       y="385.61713" />
>> +    <text
>> +       xml:space="preserve"
>> +       
>> style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" 
>>
>> +       x="1427.5771"
>> +       y="409.29523"
>> +       id="text78837"><tspan
>> +         sodipodi:role="line"
>> +         id="tspan78835"
>> +         x="1427.5771"
>> +         y="409.29523"
>> +         style="font-size:18.6667px">color_range</tspan></text>
>> +    <path
>> +       d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444 
>> 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 
>> -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 
>> 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
>> +       id="path371636-7"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443 
>> 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 
>> -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 
>> 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
>> +       id="path371636-7-2"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-7"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-22"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-6"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-1"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 404.2055,500.78482 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-0"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 402.6188,581.69367 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-61"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-5"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-9"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-4"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-90"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435 
>> 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 
>> -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 
>> 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
>> +       id="path371636-7-91"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 407.9989,1311.6005 c 3.2597,-1.4841 6.4827,-3.0444 
>> 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.513 
>> -3.575,-6.1779 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 
>> 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
>> +       id="path371636-7-77"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 407.9989,1381.5424 c 3.2597,-1.4841 6.4827,-3.0443 
>> 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 
>> -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 
>> 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
>> +       id="path371636-7-11"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +    <path
>> +       d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444 
>> 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 
>> -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 
>> 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
>> +       id="path371636-7-59"
>> +       sodipodi:nodetypes="cccccc"
>> +       style="stroke-width:0.262672"
>> +       inkscape:transform-center-x="-416.72543"
>> +       inkscape:transform-center-y="-156.15191" />
>> +  </g>
>> +</svg>
>> diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst 
>> b/Documentation/gpu/amdgpu/display/display-manager.rst
>> index b1b0f11aed83..8960a5f1fa66 100644
>> --- a/Documentation/gpu/amdgpu/display/display-manager.rst
>> +++ b/Documentation/gpu/amdgpu/display/display-manager.rst
>> @@ -49,3 +49,38 @@ Color Management Properties
>>   .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
>>      :internal:
>> +
>> +
>> +DC Color Capabilities between DCN generations
>> +---------------------------------------------
>> +
>> +DRM/KMS framework defines three CRTC color correction properties: 
>> degamma,
>> +color transformation matrix (ctm) and gamma, and two properties for 
>> degamma and
> 
> Abbreviations should be written as all-uppercase
> https://docs.kernel.org/gpu/introduction.html?highlight=uppercase#style-guidelines 
> 
> 
>> +gamma lut sizes. AMD DC programs some of the color correction features
>> +pre-blending but DRM/KMS has not per-plane color correction properties.
>> +
>> +What's possible to do before and after blending has changed quite a 
>> bit between
>> +DCN generations as it depends on hardware color capabilities. DPP and 
>> MPC color
>> +correction caps are described below.
>> +
>> +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h
>> +   :doc: color-management-caps
>> +
>> +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h
>> +   :internal:
>> +
>> +In general, the DRM three properties are programed to DC, as follows: 
>> CRT > +gamma after blending, and CRTC degamma pre-blending. Although 
>> CTM is 
> programmed
>> +after blending, it is mapped to DPP hw blocks (pre-blending). Other 
>> color caps
>> +available in the hw is not currently exposed by DRM interface and are by
>> +passed.  To illustrate DCN generation capabilities and differences 
>> between
> 
> possible typo: "by\npassed" -> "bypassed"
> 
>> +them, you can compare the color management schemas for DCN 2.0 and 
>> DCN 3.0
>> +families below.
>> +
>> +**DCN 2.0 family color caps and mapping**
>> +
>> +.. kernel-figure:: dcn2_cm_drm_current.svg
>> +
>> +**DCN 3.0 family color caps and mapping**
>> +
>> +.. kernel-figure:: dcn3_cm_drm_current.svg
>> diff --git a/drivers/gpu/drm/amd/display/dc/dc.h 
>> b/drivers/gpu/drm/amd/display/dc/dc.h
>> index 7c42377f0aae..84275f3974c1 100644
>> --- a/drivers/gpu/drm/amd/display/dc/dc.h
>> +++ b/drivers/gpu/drm/amd/display/dc/dc.h
>> @@ -118,7 +118,26 @@ struct dc_plane_cap {
>>       uint32_t min_height;
>>   };
>> -// Color management caps (DPP and MPC)
>> +/**
>> + * DOC: color-management-caps
>> + *
>> + * **Color management caps (DPP and MPC)**
>> + *
>> + * Modules/color calculates various colour operations which are 
>> translated to
> 
> Nit: colour -> color
> The DRM documentation has a **preference** for the american spelling 
> https://www.kernel.org/doc/html/latest/gpu/introduction.html?highlight=American%20English#style-guidelines 
> 
> 
>> + * abstracted HW. DCE 5-12 had almost no important changes, but 
>> starting with
>> + * DCN1, every new generation comes with fairly major differences in 
>> color
>> + * pipeline. Therefore, we abstract color pipe capabilities so 
>> modules/DM can
>> + * decide mapping to HW block based on logical capabilities.
>> + */
>> +
>> +/**
>> + * struct rom_curve_caps - predefined transfer function caps for 
>> degamma and regamma
>> + * @srgb: RGB color space transfer func
>> + * @bt2020: BT.2020 transfer func
>> + * @gamma2_2: standard gamma
>> + * @pq: perceptual quantizer transfer function
>> + * @hlg: hybrid log–gamma transfer function
>> + */
>>   struct rom_curve_caps {
>>       uint16_t srgb : 1;
>>       uint16_t bt2020 : 1;
>> @@ -127,36 +146,65 @@ struct rom_curve_caps {
>>       uint16_t hlg : 1;
>>   };
>> +/**
>> + * struct dpp_color_caps - color pipeline capabilities for display 
>> pipe and
>> + * plane blocks
>> + *
>> + * @dcn_arch: all DCE generations treated the same
>> + * @input_lut_shared: shared with DGAM. Input lut is different than 
>> most LUTs,
>> + * just plain 256-entry lookup
>> + * @icsc: input color space conversion
> 
> ./drivers/gpu/drm/amd/display/dc/dc.h:181: warning: Function parameter 
> or member 'dgam_ram' not described in 'dpp_color_caps'

Hi,

I was trying to figure out the meaning of some of these fields.


First of all, and in the LUT context, notice that some fields have the 
prefix _ram, and others have _rom. When you see the ram, it means that 
we have a hardware LUT in the device, and we can program its values. If 
you see rom, it also means that we have hardware LUT but have 
pre-hardcoded values, which means that we can only select between a few 
of them (e.g., sRGB, PQ, etc.). I guess ROM is preferable since it 
requires less configuration.

> 
>> + * @post_csc: post color space conversion, before gamut remap
>> + * @gamma_corr: degamma correction
>> + * @hw_3d_lut: 3d lut support. It implies a shaper LUT before, it may 
>> be shared
>> + * with MPC by setting mpc:shared_3d_lut flag
>> + * @ogam_ram: blend gamma

dgam refers to 'degamma'

and

ogam to 'out gamma'.


>> + * @ocsc: output color space conversion
> 
> ./drivers/gpu/drm/amd/display/dc/dc.h:181: warning: Function parameter 
> or member 'dgam_rom_for_yuv' not described in 'dpp_color_caps'

dgam_rom_for_yuv -> I don't know precisely why we have this, but since 
DCN3 introduced it, I guess this is a specific behavior to compute yuv.

afaik, this caps stands for capabilities, i.e., dpp_color_caps describes 
the DPP color capabilities configured for the specific hardware and setup.

Best Regards
Siqueira

> 
>> + * @dgam_rom_caps: caps for degamma
>> + * @ogam_rom_caps: caps for regamma 1D lut
>> + *
>> + * Note: hdr_mult and gamut remap (ctm) are always available in DPP 
>> (in that order)
>> + */
>>   struct dpp_color_caps {
>> -    uint16_t dcn_arch : 1; // all DCE generations treated the same
>> -    // input lut is different than most LUTs, just plain 256-entry 
>> lookup
>> -    uint16_t input_lut_shared : 1; // shared with DGAM
>> +    uint16_t dcn_arch : 1;
>> +    uint16_t input_lut_shared : 1;
>>       uint16_t icsc : 1;
>>       uint16_t dgam_ram : 1;
>> -    uint16_t post_csc : 1; // before gamut remap
>> +    uint16_t post_csc : 1;
>>       uint16_t gamma_corr : 1;
>> -
>> -    // hdr_mult and gamut remap always available in DPP (in that order)
>> -    // 3d lut implies shaper LUT,
>> -    // it may be shared with MPC - check MPC:shared_3d_lut flag
>>       uint16_t hw_3d_lut : 1;
>> -    uint16_t ogam_ram : 1; // blnd gam
>> +    uint16_t ogam_ram : 1;
>>       uint16_t ocsc : 1;
>>       uint16_t dgam_rom_for_yuv : 1;
>>       struct rom_curve_caps dgam_rom_caps;
>>       struct rom_curve_caps ogam_rom_caps;
>>   };
>> +/**
>> + * struct mpc_color_caps - color pipeline capabilities for multiple 
>> pipe and
>> + * plane combined blocks
>> + *
>> + * @gamut_remap: color transformation matrix
> 
> ./drivers/gpu/drm/amd/display/dc/dc.h:201: warning: Function parameter 
> or member 'ogam_ram' not described in 'mpc_color_caps'
> 
>> + * @ocsc: output color space conversion matrix
>> + * @num_3dluts: 3d lut, always assumes a preceding shaper LUT
>> + * @shared_3d_lut: shared 3d lut flag, can be either DPP or MPC, but 
>> single
>> + * instance
>> + * @ogam_rom_caps: caps for regama 1d lut
> 
> typo: regama -> regamma
> 
>> + */
>>   struct mpc_color_caps {
>>       uint16_t gamut_remap : 1;
>>       uint16_t ogam_ram : 1;
>>       uint16_t ocsc : 1;
>> -    uint16_t num_3dluts : 3; //3d lut always assumes a preceding 
>> shaper LUT
>> -    uint16_t shared_3d_lut:1; //can be in either DPP or MPC, but 
>> single instance
>> -
>> +    uint16_t num_3dluts : 3;
>> +    uint16_t shared_3d_lut:1;
>>       struct rom_curve_caps ogam_rom_caps;
>>   };
>> +/**
>> + * struct dc_color_caps - color pipes capabilities for DPP and MPC hw 
>> blocks
>> + * @dpp: color pipes caps for DPP
>> + * @mpc: color pipes caps for MPC
>> + */
>>   struct dc_color_caps {
>>       struct dpp_color_caps dpp;
>>       struct mpc_color_caps mpc;
> 
> 
> Again, thanks for the documentation patch!
> 
> Kind regards,
> Tales Aparecida


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/4] Documentation/amdgpu/display: add DC color caps info
  2022-07-27 21:21     ` Rodrigo Siqueira Jordao
@ 2022-07-28 12:58       ` Melissa Wen
  0 siblings, 0 replies; 16+ messages in thread
From: Melissa Wen @ 2022-07-28 12:58 UTC (permalink / raw)
  To: Rodrigo Siqueira Jordao
  Cc: sunpeng.li, Xinhui.Pan, amd-gfx, nicholas.kazlauskas,
	alexander.deucher, 20220716222529.421115-3-mwen, harry.wentland,
	christian.koenig, sungjoon.kim

[-- Attachment #1: Type: text/plain, Size: 174808 bytes --]

On 07/27, Rodrigo Siqueira Jordao wrote:
> 
> 
> On 2022-07-17 19:28, Tales Lelo da Aparecida wrote:
> > On 16/07/2022 19:25, Melissa Wen wrote:
> > > Add details about color correction capabilities and explain a bit about
> > > differences between DC hw generations and also how they are mapped
> > > between DRM and DC interface. Two schemas for DCN 2.0 and 3.0 (converted
> > > to svg from the original png) is included to illustrate it. They were
> > > obtained from a discussion[1] in the amd-gfx mailing list.
> > > 
> > > [1] https://lore.kernel.org/amd-gfx/20220422142811.dm6vtk6v64jcwydk@mail.igalia.com/
> > > 
> > > 
> > > v2:
> > > 
> > > - remove redundant comments (Harry)
> > > - fix typo (Harry)
> > > 
> > > Signed-off-by: Melissa Wen <mwen@igalia.com>
> > > ---
> > >   .../amdgpu/display/dcn2_cm_drm_current.svg    | 1370 +++++++++++++++
> > >   .../amdgpu/display/dcn3_cm_drm_current.svg    | 1529 +++++++++++++++++
> > >   .../gpu/amdgpu/display/display-manager.rst    |   35 +
> > >   drivers/gpu/drm/amd/display/dc/dc.h           |   74 +-
> > >   4 files changed, 2995 insertions(+), 13 deletions(-)
> > >   create mode 100644
> > > Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
> > >   create mode 100644
> > > Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
> > > 
> > > diff --git
> > > a/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
> > > b/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
> > > new file mode 100644
> > > index 000000000000..315ffc5a1a4b
> > > --- /dev/null
> > > +++ b/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg
> > > @@ -0,0 +1,1370 @@
> > > +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
> > > +<!-- Created with Inkscape (http://www.inkscape.org/ -->
> > > +
> > > +<svg
> > > +   version="1.1"
> > > +   id="svg2019"
> > > +   width="1702"
> > > +   height="1845"
> > > +   viewBox="0 0 1702 1845"
> > > +   sodipodi:docname="dcn2_cm_drm_current.svg"
> > > +   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
> > > +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape
> > > 
> > > +
> > > xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd
> > > 
> > > +   xmlns="http://www.w3.org/2000/svg
> > > 
> > > +   xmlns:svg="http://www.w3.org/2000/svg
> > > 
> > > +  <defs
> > > +     id="defs2023" />
> > > +  <sodipodi:namedview
> > > +     id="namedview2021"
> > > +     pagecolor="#ffffff"
> > > +     bordercolor="#666666"
> > > +     borderopacity="1.0"
> > > +     inkscape:pageshadow="2"
> > > +     inkscape:pageopacity="0.0"
> > > +     inkscape:pagecheckerboard="0"
> > > +     showgrid="false"
> > > +     inkscape:zoom="0.56413987"
> > > +     inkscape:cx="1003.2973"
> > > +     inkscape:cy="691.31792"
> > > +     inkscape:window-width="1920"
> > > +     inkscape:window-height="1011"
> > > +     inkscape:window-x="0"
> > > +     inkscape:window-y="0"
> > > +     inkscape:window-maximized="1"
> > > +     inkscape:current-layer="g2025" />
> > > +  <g
> > > +     inkscape:groupmode="layer"
> > > +     inkscape:label="Image"
> > > +     id="g2025">
> > > +    <rect
> > > +
> > > style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > > +       id="rect34"
> > > +       width="208.83351"
> > > +       height="486.09872"
> > > +       x="0.90158081"
> > > +       y="132.77872" />
> > > +    <rect
> > > +
> > > style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1019"
> > > +       width="126.38867"
> > > +       height="55.320732"
> > > +       x="25.960823"
> > > +       y="188.06937" />
> > > +    <rect
> > > +
> > > style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1021"
> > > +       width="126.38867"
> > > +       height="55.320732"
> > > +       x="25.960823"
> > > +       y="346.06937" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1103"
> > > +       width="126.38867"
> > > +       height="55.320732"
> > > +       x="25.960823"
> > > +       y="266.06937" />
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1105"
> > > +       width="126.38867"
> > > +       height="55.320732"
> > > +       x="25.960823"
> > > +       y="426.06937" />
> > > +    <rect
> > > +
> > > style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1107"
> > > +       width="126.38867"
> > > +       height="55.320732"
> > > +       x="25.960823"
> > > +       y="506.06934" />
> > > +    <path
> > > +       d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791
> > > 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187
> > > -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257
> > > -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923
> > > 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348
> > > 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
> > > +       id="path381056"
> > > +       sodipodi:nodetypes="cccccccccc"
> > > +       style="stroke-width:0.205176"
> > > +       inkscape:transform-center-x="-325.50819"
> > > +       inkscape:transform-center-y="-121.97185" />
> > > +    <rect
> > > +
> > > style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1131"
> > > +       width="239.47592"
> > > +       height="1015.9909"
> > > +       x="298.65631"
> > > +       y="82.399658" />
> > > +    <rect
> > > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1"
> > > 
> > > +       id="rect1133"
> > > +       width="340.44653"
> > > +       height="525.77448"
> > > +       x="298.79562"
> > > +       y="1142.5299" />
> > > +    <rect
> > > +
> > > style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1237"
> > > +       width="284.00113"
> > > +       height="945.41412"
> > > +       x="827.75012"
> > > +       y="82.880798"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1239"
> > > +       width="239.37569"
> > > +       height="179.03308"
> > > +       x="1356.9507"
> > > +       y="98.758331" />
> > > +    <rect
> > > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1"
> > > 
> > > +       id="rect1241"
> > > +       width="239.4184"
> > > +       height="713.64905"
> > > +       x="1356.9543"
> > > +       y="307.7951"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1345"
> > > +       width="330.32059"
> > > +       height="409.44757"
> > > +       x="1363.8723"
> > > +       y="1147.7572" />
> > > +    <rect
> > > +
> > > style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1347"
> > > +       width="369.8941"
> > > +       height="682.32245"
> > > +       x="825.72528"
> > > +       y="1146.6448"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1349"
> > > +       width="163.95746"
> > > +       height="40.144867"
> > > +       x="1389.9988"
> > > +       y="190.80583" />
> > > +    <rect
> > > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1"
> > > 
> > > +       id="rect1619"
> > > +       width="271.99091"
> > > +       height="42.038273"
> > > +       x="1393.981"
> > > +       y="1197.161"
> > > +       inkscape:connector-avoid="true" />
> > > +    <path
> > > +       d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378
> > > 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187
> > > -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257
> > > -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923
> > > 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234
> > > 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
> > > +       id="path106-1"
> > > +       sodipodi:nodetypes="cccccccccc"
> > > +       style="stroke-width:0.205176"
> > > +       inkscape:transform-center-x="-325.50819"
> > > +       inkscape:transform-center-y="-121.97185" />
> > > +    <path
> > > +       d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378
> > > 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187
> > > -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257
> > > -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923
> > > 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234
> > > 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
> > > +       id="path106-1-7"
> > > +       sodipodi:nodetypes="cccccccccc"
> > > +       style="stroke-width:0.205176"
> > > +       inkscape:transform-center-x="-325.50819"
> > > +       inkscape:transform-center-y="-121.97185" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1623"
> > > +       width="137.32646"
> > > +       height="41.782684"
> > > +       x="1396.3848"
> > > +       y="1268.2837"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1705"
> > > +       width="137.32646"
> > > +       height="41.782684"
> > > +       x="1396.3848"
> > > +       y="1348.2837" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1707"
> > > +       width="137.32646"
> > > +       height="41.782684"
> > > +       x="1396.3848"
> > > +       y="1432.2837" />
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1731"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="190.42665"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1813"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="254.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1815"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="318.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1817"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="412.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1819"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="560.42664" />
> > > +    <rect
> > > +
> > > style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1821"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="674.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1823"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="744.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1825"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="820.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1827"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="890.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1829"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="956.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1831"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1256.4268" />
> > > +    <rect
> > > +
> > > style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1833"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1402.4268" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1915"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1330.4268"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1917"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1478.4268" />
> > > +    <rect
> > > +
> > > style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1919"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1548.4268" />
> > > +    <rect
> > > +
> > > style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1921"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1614.4268" />
> > > +    <rect
> > > +
> > > style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1923"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1686.4268" />
> > > +    <rect
> > > +
> > > style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1925"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1754.4268" />
> > > +    <rect
> > > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > > 
> > > +       id="rect1925-3"
> > > +       width="169.23357"
> > > +       height="44.678963"
> > > +       x="325.21747"
> > > +       y="134.37756" />
> > > +    <rect
> > > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > > 
> > > +       id="rect1954"
> > > +       width="169.23357"
> > > +       height="44.678963"
> > > +       x="325.21747"
> > > +       y="276.37756"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
> > > 
> > > +       id="rect1956"
> > > +       width="168.66573"
> > > +       height="122.14091"
> > > +       x="325.50134"
> > > +       y="358.6615"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > > 
> > > +       id="rect1958"
> > > +       width="169.23357"
> > > +       height="44.678963"
> > > +       x="325.21747"
> > > +       y="672.37756" />
> > > +    <rect
> > > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > > 
> > > +       id="rect1960"
> > > +       width="169.23357"
> > > +       height="44.678963"
> > > +       x="325.21747"
> > > +       y="744.37756" />
> > > +    <rect
> > > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> > > 
> > > +       id="rect1962"
> > > +       width="169.14041"
> > > +       height="54.756817"
> > > +       x="325.26404"
> > > +       y="814.42413"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> > > 
> > > +       id="rect1964"
> > > +       width="169.14041"
> > > +       height="54.756817"
> > > +       x="325.26404"
> > > +       y="886.42413"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> > > 
> > > +       id="rect1966"
> > > +       width="169.14041"
> > > +       height="54.756817"
> > > +       x="325.26404"
> > > +       y="952.42413"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1"
> > > 
> > > +       id="rect2428"
> > > +       width="169.0854"
> > > +       height="61.19017"
> > > +       x="325.29156"
> > > +       y="1468.4518" />
> > > +    <rect
> > > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1"
> > > 
> > > +       id="rect2430"
> > > +       width="169.26669"
> > > +       height="41.344128"
> > > +       x="325.20093"
> > > +       y="1550.3611" />
> > > +    <rect
> > > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1"
> > > 
> > > +       id="rect2432"
> > > +       width="287.86237"
> > > +       height="44.416805"
> > > +       x="325.34854"
> > > +       y="1194.5088" />
> > > +    <rect
> > > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1"
> > > 
> > > +       id="rect2434"
> > > +       width="285.86655"
> > > +       height="44.4207"
> > > +       x="867.34656"
> > > +       y="1194.5068" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2509" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2511" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2513" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2515" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2517" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2519" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2521" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2523" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2525" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2527" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2529" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2531" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 442.80064,179.02883 0.91401,36.01283 423.64827,-2.29193"
> > > +       id="path6876"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1925-3"
> > > +       inkscape:connection-end="#rect1731"
> > > +       sodipodi:nodetypes="ccc" />
> > > +    <path
> > > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 494.45103,156.71704 205.18886,-0.43622 0.59548,162.1112
> > > 167.12755,0.0346"
> > > +       id="path6878"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1925-3"
> > > +       sodipodi:nodetypes="cccc" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 447.83425,321.05653 v 19.69319 h 419.52867"
> > > +       id="path7294"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1954"
> > > +       inkscape:connection-end="#rect1815"
> > > +       sodipodi:nodetypes="ccc" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292"
> > > +       id="path7296"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-end="#rect1817"
> > > +       inkscape:connection-start="#rect1954"
> > > +       sodipodi:nodetypes="cccc" />
> > > +    <path
> > > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 867.36292,560.42664 -422.77356,1.33638 0.45008,-79.26417"
> > > +       id="path7720"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       sodipodi:nodetypes="ccc" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 494.45103,696.74972 H 867.36292"
> > > +       id="path7726"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1958"
> > > +       inkscape:connection-end="#rect1821" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 867.36292,766.74972 H 494.45103"
> > > +       id="path7728"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1823"
> > > +       inkscape:connection-end="#rect1960" />
> > > +    <path
> > > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292"
> > > +       id="path7730"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-end="#rect1831"
> > > +       sodipodi:nodetypes="cccc" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874"
> > > +       id="path8140"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1962"
> > > +       inkscape:connection-end="#rect1825" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874"
> > > +       id="path8142"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1964"
> > > +       inkscape:connection-end="#rect1827" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874"
> > > +       id="path8144"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1966"
> > > +       inkscape:connection-end="#rect1829" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 494.37697,1500.7498 H 867.36292"
> > > +       id="path8150"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect2428"
> > > +       inkscape:connection-end="#rect1917" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 494.46762,1570.7498 h 372.8953"
> > > +       id="path8152"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect2430"
> > > +       inkscape:connection-end="#rect1919" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368"
> > > +       id="path8154"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1623"
> > > +       inkscape:connection-end="#rect1819" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 1396.3848,1369.175 -159.2837,-1.364 0.5816,-88.2579
> > > -147.975,-0.8033"
> > > +       id="path8462"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1705"
> > > +       inkscape:connection-end="#rect1831"
> > > +       sodipodi:nodetypes="cccc" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 1089.7077,1500.7498 h 375.3403 v -26.6834"
> > > +       id="path8668"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1917"
> > > +       inkscape:connection-end="#rect1707" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 1389.9988,212.74973 H 1089.7077"
> > > +       id="path8672"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1349"
> > > +       inkscape:connection-end="#rect1731" />
> > > +    <path
> > > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233"
> > > +       id="path8674"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-end="#rect1815"
> > > +       sodipodi:nodetypes="cccc" />
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="58.63356"
> > > +       y="69.574417"
> > > +       id="text28675"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan28673"
> > > +         x="58.63356"
> > > +         y="69.574417" /></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="56.388252"
> > > +       y="221.86568"
> > > +       id="text31913"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan31911"
> > > +         x="56.388252"
> > > +         y="221.86568">Matrix</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="53.441296"
> > > +       y="300.866"
> > > +       id="text38843"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan38841"
> > > +         x="53.441296"
> > > +         y="300.866">1D LUT</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="53.441296"
> > > +       y="378.866"
> > > +       id="text41049"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan41047"
> > > +         x="53.441296"
> > > +         y="378.866">3D LUT</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="40.831493"
> > > +       y="460.87411"
> > > +       id="text45037"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan45035"
> > > +         x="40.831493"
> > > +         y="460.87411"
> > > +         style="font-size:18.6667px">Unpacking</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="62.130371"
> > > +       y="540.68872"
> > > +       id="text49945"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan49943"
> > > +         x="62.130371"
> > > +         y="540.68872"
> > > +         style="font-size:18.6667px">Other</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1423.2806"
> > > +       y="128.08769"
> > > +       id="text55719"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan55717"
> > > +         x="1423.2806"
> > > +         y="128.08769"
> > > +         style="font-size:18.6667px">drm_framebuffer</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1439.9988"
> > > +       y="218.74973"
> > > +       id="text62479"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan62477"
> > > +         x="1439.9988"
> > > +         y="218.74973"
> > > +         style="font-size:18.6667px">format</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1475.2806"
> > > +       y="340.08771"
> > > +       id="text64465"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64463"
> > > +         x="1475.2806"
> > > +         y="340.08771"
> > > +         style="font-size:18.6667px">drm_plane</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1589.2806"
> > > +       y="1178.0876"
> > > +       id="text64469"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467"
> > > +         x="1589.2806"
> > > +         y="1178.0876"
> > > +         style="font-size:18.6667px">drm_crtc</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="872.23993"
> > > +       y="1172.4491"
> > > +       id="text64469-9"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2"
> > > +         x="872.23993"
> > > +         y="1172.4491"
> > > +         style="font-size:18.6667px">Stream</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="328.26071"
> > > +       y="1175.6371"
> > > +       id="text64469-9-2"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-8"
> > > +         x="328.26071"
> > > +         y="1175.6371"
> > > +         style="font-size:18.6667px">MPC</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="330.14737"
> > > +       y="114.41869"
> > > +       id="text64469-9-9"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-7"
> > > +         x="330.14737"
> > > +         y="114.41869"
> > > +         style="font-size:18.6667px">DPP</tspan></text>
> > > +    <path
> > > +       d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788
> > > 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187
> > > -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257
> > > -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923
> > > 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345
> > > 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
> > > +       id="path106"
> > > +       sodipodi:nodetypes="cccccccccc"
> > > +       style="stroke-width:0.205176"
> > > +       inkscape:transform-center-x="-325.50819"
> > > +       inkscape:transform-center-y="-121.97185" />
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1495.9988"
> > > +       y="1224.7498"
> > > +       id="text78849"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78847"
> > > +         x="1495.9988"
> > > +         y="1224.7498"
> > > +         style="font-size:18.6667px">Blender</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1417.9988"
> > > +       y="1294.7498"
> > > +       id="text78853"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78851"
> > > +         x="1417.9988"
> > > +         y="1294.7498"
> > > +         style="font-size:18.6667px">Degamma</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1451.9988"
> > > +       y="1376.7498"
> > > +       id="text78857"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78855"
> > > +         x="1451.9988"
> > > +         y="1376.7498"
> > > +         style="font-size:18.6667px">CTM</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1427.9988"
> > > +       y="1458.7498"
> > > +       id="text78861"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78859"
> > > +         x="1427.9988"
> > > +         y="1458.7498"
> > > +         style="font-size:18.6667px">Gamma</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="949.99878"
> > > +       y="218.74973"
> > > +       id="text104653"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan104651"
> > > +         x="949.99878"
> > > +         y="218.74973"
> > > +         style="font-size:18.6667px">format</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="911.99878"
> > > +       y="284.74973"
> > > +       id="text104657"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan104655"
> > > +         x="911.99878"
> > > +         y="284.74973"
> > > +         style="font-size:18.6667px">bias_and_scale</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="887.99878"
> > > +       y="346.74973"
> > > +       id="text104661"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan104659"
> > > +         x="887.99878"
> > > +         y="346.74973"
> > > +         style="font-size:18.6667px">color space matrix</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="871.99878"
> > > +       y="442.74973"
> > > +       id="text104665"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan104663"
> > > +         x="871.99878"
> > > +         y="442.74973"
> > > +
> > > style="font-size:18.6667px">input_csc_color_matrix</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="905.99878"
> > > +       y="586.74976"
> > > +       id="text125075"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan125073"
> > > +         x="905.99878"
> > > +         y="586.74976"
> > > +         style="font-size:18.6667px">in_transfer_func</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="945.0083"
> > > +       y="702.85938"
> > > +       id="text117309"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan117307"
> > > +         x="945.0083"
> > > +         y="702.85938"
> > > +         style="font-size:18.6667px">hdr_mult</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="874.5556"
> > > +       y="773.42615"
> > > +       id="text117309-6"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan117307-7"
> > > +         x="874.5556"
> > > +         y="773.42615"
> > > +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="913.72528"
> > > +       y="846.55896"
> > > +       id="text117309-5"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan117307-3"
> > > +         x="913.72528"
> > > +         y="846.55896"
> > > +         style="font-size:18.6667px">in_shaper_func</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="937.72528"
> > > +       y="918.25787"
> > > +       id="text117309-56"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan117307-2"
> > > +         x="937.72528"
> > > +         y="918.25787"
> > > +         style="font-size:18.6667px">lut3d_func</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="945.9895"
> > > +       y="986.10767"
> > > +       id="text117309-9"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan117307-1"
> > > +         x="945.9895"
> > > +         y="986.10767"
> > > +         style="font-size:18.6667px">blend_tf</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="975.91803"
> > > +       y="1224.5564"
> > > +       id="text137434"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432"
> > > +         x="975.91803"
> > > +         y="1224.5564"
> > > +         style="font-size:18.6667px">Blender</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="879.31372"
> > > +       y="1283.4249"
> > > +       id="text137434-2"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-7"
> > > +         x="879.31372"
> > > +         y="1283.4249"
> > > +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="925.31372"
> > > +       y="1359.2747"
> > > +       id="text137434-0"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-9"
> > > +         x="925.31372"
> > > +         y="1359.2747"
> > > +         style="font-size:18.6667px">func_shaper</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="930.33252"
> > > +       y="1430.2566"
> > > +       id="text137434-3"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-6"
> > > +         x="930.33252"
> > > +         y="1430.2566"
> > > +         style="font-size:18.6667px">lut3d_func</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="900.18158"
> > > +       y="1504.6725"
> > > +       id="text137434-06"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-2"
> > > +         x="900.18158"
> > > +         y="1504.6725"
> > > +         style="font-size:18.6667px">out_transfer_func</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="904.0307"
> > > +       y="1575.8053"
> > > +       id="text137434-6"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-1"
> > > +         x="904.0307"
> > > +         y="1575.8053"
> > > +         style="font-size:18.6667px">csc_color_matrix</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="903.16278"
> > > +       y="1642.1078"
> > > +       id="text137434-8"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-79"
> > > +         x="903.16278"
> > > +         y="1642.1078"
> > > +         style="font-size:18.6667px">bit_depth_param</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="939.31372"
> > > +       y="1713.8068"
> > > +       id="text137434-20"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-23"
> > > +         x="939.31372"
> > > +         y="1713.8068"
> > > +         style="font-size:18.6667px">clamping</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="894.0307"
> > > +       y="1782.5244"
> > > +       id="text137434-7"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-5"
> > > +         x="894.0307"
> > > +         y="1782.5244"
> > > +         style="font-size:18.6667px">output_color_space</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="869.63062"
> > > +       y="117.7968"
> > > +       id="text176429"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan176427"
> > > +         x="869.63062"
> > > +         y="117.7968"
> > > +         style="font-size:18.6667px">Plane</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="27.605465"
> > > +       y="162.20587"
> > > +       id="text176429-2"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan176427-0"
> > > +         x="27.605465"
> > > +         y="162.20587"
> > > +         style="font-size:18.6667px">Legend</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="298.63959"
> > > +       y="59.293999"
> > > +       id="text176429-9"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan176427-2"
> > > +         x="298.63959"
> > > +         y="59.293999"
> > > +         style="font-size:18.6667px">DCN 2.0</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="826.65735"
> > > +       y="59.458061"
> > > +       id="text176429-66"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan176427-4"
> > > +         x="826.65735"
> > > +         y="59.458061"
> > > +         style="font-size:18.6667px">DC Interface</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1362.9948"
> > > +       y="59.458061"
> > > +       id="text176429-95"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan176427-04"
> > > +         x="1362.9948"
> > > +         y="59.458061"
> > > +         style="font-size:18.6667px">DRM Interface</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="867.34656"
> > > +       y="1194.5068"
> > > +       id="text184728"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan184726"
> > > +         x="867.34656"
> > > +         y="1194.5068" /></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="389.01593"
> > > +       y="159.8909"
> > > +       id="text64469-9-3"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-6"
> > > +         x="389.01593"
> > > +         y="159.8909"
> > > +         style="font-size:18.6667px">CNVC</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="365.88379"
> > > +       y="303.59048"
> > > +       id="text64469-9-1"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-2"
> > > +         x="365.88379"
> > > +         y="303.59048"
> > > +         style="font-size:18.6667px">Input CSC</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="409.06488"
> > > +       y="404.95001"
> > > +       id="text64469-9-93"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-1"
> > > +         x="409.06488"
> > > +         y="404.95001"
> > > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan
> > > 
> > > +         sodipodi:role="line"
> > > +         x="409.06488"
> > > +         y="428.28339"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan233797">RAM and ROM</tspan><tspan
> > > +         sodipodi:role="line"
> > > +         x="409.06488"
> > > +         y="451.61676"
> > > +
> > > style="font-size:10.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan242597">(sRGB, BT2020</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="351.16684"
> > > +       y="700.34918"
> > > +       id="text64469-9-0"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-3"
> > > +         x="351.16684"
> > > +         y="700.34918"
> > > +         style="font-size:18.6667px">HDR Multiply</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="345.16684"
> > > +       y="771.33112"
> > > +       id="text64469-9-6"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-10"
> > > +         x="345.16684"
> > > +         y="771.33112"
> > > +         style="font-size:18.6667px">Gamut Remap</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="412.5184"
> > > +       y="836.04877"
> > > +       id="text64469-9-63"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-20"
> > > +         x="412.5184"
> > > +         y="836.04877"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper
> > > LUT</tspan><tspan
> > > 
> > > +         sodipodi:role="line"
> > > +         x="412.5184"
> > > +         y="859.38214"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan222533">RAM</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="413.54086"
> > > +       y="908.61554"
> > > +       id="text64469-9-61"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-55"
> > > +         x="413.54086"
> > > +         y="908.61554"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle">3D
> > > LUT</tspan><tspan
> > > +         sodipodi:role="line"
> > > +         x="413.54086"
> > > +         y="931.94891"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan221121">RAM</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="344.0347"
> > > +       y="985.33319"
> > > +       id="text64469-9-47"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-65"
> > > +         x="344.0347"
> > > +         y="985.33319"
> > > +         style="font-size:18.6667px">Blend Gamma</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="433.84625"
> > > +       y="1223.411"
> > > +       id="text64469-9-69"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-37"
> > > +         x="433.84625"
> > > +         y="1223.411"
> > > +         style="font-size:18.6667px">Blender</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="408.64996"
> > > +       y="1492.8102"
> > > +       id="text64469-9-8"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-84"
> > > +         x="408.64996"
> > > +         y="1492.8102"
> > > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan
> > > 
> > > +         sodipodi:role="line"
> > > +         x="408.64996"
> > > +         y="1516.1436"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan197733">RAM</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="385.46863"
> > > +       y="1575.2261"
> > > +       id="text64469-9-31"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-49"
> > > +         x="385.46863"
> > > +         y="1575.2261"
> > > +         style="font-size:18.6667px">OCSC</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1356.5106"
> > > +       y="53.140579"
> > > +       id="text273287"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan273285"
> > > +         x="1356.5106"
> > > +         y="53.140579" /></text>
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1411"
> > > +       width="177.28049"
> > > +       height="38.940468"
> > > +       x="1392.2576"
> > > +       y="459.24118" />
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1411.7203"
> > > +       y="485.93231"
> > > +       id="text78841"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78839"
> > > +         x="1411.7203"
> > > +         y="485.93231"
> > > +         style="font-size:18.6667px">color_encoding</tspan></text>
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1515"
> > > +       width="175.11876"
> > > +       height="43.239407"
> > > +       x="1393.7493"
> > > +       y="525.6983" />
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1399.212"
> > > +       y="553.44904"
> > > +       id="text78845"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78843"
> > > +         x="1399.212"
> > > +         y="553.44904">pixel_blend_mode</tspan></text>
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect371322"
> > > +       width="177.28049"
> > > +       height="38.940468"
> > > +       x="1391.6781"
> > > +       y="385.61713" />
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1427.5771"
> > > +       y="409.29523"
> > > +       id="text78837"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78835"
> > > +         x="1427.5771"
> > > +         y="409.29523"
> > > +         style="font-size:18.6667px">color_range</tspan></text>
> > > +    <path
> > > +       d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444
> > > 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131
> > > -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025
> > > 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > > +       id="path371636-7"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443
> > > 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131
> > > -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025
> > > 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > > +       id="path371636-7-2"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-7"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-22"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-6"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-1"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-5"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-9"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-4"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-90"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-91"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444
> > > 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131
> > > -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025
> > > 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > > +       id="path371636-7-59"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +  </g>
> > > +</svg>
> > > diff --git
> > > a/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
> > > b/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
> > > new file mode 100644
> > > index 000000000000..7299ee9b6d64
> > > --- /dev/null
> > > +++ b/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg
> > > @@ -0,0 +1,1529 @@
> > > +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
> > > +<!-- Created with Inkscape (http://www.inkscape.org/ -->
> > > +
> > > +<svg
> > > +   version="1.1"
> > > +   id="svg2019"
> > > +   width="1702"
> > > +   height="1845"
> > > +   viewBox="0 0 1702 1845"
> > > +   sodipodi:docname="dcn3_cm_drm_current.svg"
> > > +   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
> > > +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape
> > > 
> > > +
> > > xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd
> > > 
> > > +   xmlns="http://www.w3.org/2000/svg
> > > 
> > > +   xmlns:svg="http://www.w3.org/2000/svg
> > > 
> > > +  <defs
> > > +     id="defs2023" />
> > > +  <sodipodi:namedview
> > > +     id="namedview2021"
> > > +     pagecolor="#ffffff"
> > > +     bordercolor="#666666"
> > > +     borderopacity="1.0"
> > > +     inkscape:pageshadow="2"
> > > +     inkscape:pageopacity="0.0"
> > > +     inkscape:pagecheckerboard="0"
> > > +     showgrid="false"
> > > +     inkscape:zoom="0.55760543"
> > > +     inkscape:cx="1011.4679"
> > > +     inkscape:cy="249.28021"
> > > +     inkscape:window-width="1920"
> > > +     inkscape:window-height="1011"
> > > +     inkscape:window-x="0"
> > > +     inkscape:window-y="0"
> > > +     inkscape:window-maximized="1"
> > > +     inkscape:current-layer="g2025" />
> > > +  <g
> > > +     inkscape:groupmode="layer"
> > > +     inkscape:label="Image"
> > > +     id="g2025">
> > > +    <rect
> > > +
> > > style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > > +       id="rect34"
> > > +       width="208.83351"
> > > +       height="486.09872"
> > > +       x="0.90158081"
> > > +       y="132.77872" />
> > > +    <rect
> > > +
> > > style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1019"
> > > +       width="126.38867"
> > > +       height="55.320732"
> > > +       x="25.960823"
> > > +       y="188.06937" />
> > > +    <rect
> > > +
> > > style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1021"
> > > +       width="126.38867"
> > > +       height="55.320732"
> > > +       x="25.960823"
> > > +       y="346.06937" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1103"
> > > +       width="126.38867"
> > > +       height="55.320732"
> > > +       x="25.960823"
> > > +       y="266.06937" />
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1105"
> > > +       width="126.38867"
> > > +       height="55.320732"
> > > +       x="25.960823"
> > > +       y="426.06937" />
> > > +    <rect
> > > +
> > > style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1107"
> > > +       width="126.38867"
> > > +       height="55.320732"
> > > +       x="25.960823"
> > > +       y="506.06934" />
> > > +    <path
> > > +       d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791
> > > 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187
> > > -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257
> > > -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923
> > > 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348
> > > 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
> > > +       id="path381056"
> > > +       sodipodi:nodetypes="cccccccccc"
> > > +       style="stroke-width:0.205176"
> > > +       inkscape:transform-center-x="-325.50819"
> > > +       inkscape:transform-center-y="-121.97185" />
> > > +    <rect
> > > +
> > > style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1131"
> > > +       width="239.47592"
> > > +       height="1015.9909"
> > > +       x="298.65631"
> > > +       y="82.399658" />
> > > +    <rect
> > > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1"
> > > 
> > > +       id="rect1133"
> > > +       width="340.44653"
> > > +       height="525.77448"
> > > +       x="298.79562"
> > > +       y="1142.5299" />
> > > +    <rect
> > > +
> > > style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1237"
> > > +       width="284.00113"
> > > +       height="945.41412"
> > > +       x="827.75012"
> > > +       y="82.880798"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1239"
> > > +       width="239.37569"
> > > +       height="179.03308"
> > > +       x="1356.9507"
> > > +       y="98.758331" />
> > > +    <rect
> > > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1"
> > > 
> > > +       id="rect1241"
> > > +       width="239.4184"
> > > +       height="713.64905"
> > > +       x="1356.9543"
> > > +       y="307.7951"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1345"
> > > +       width="330.32059"
> > > +       height="409.44757"
> > > +       x="1363.8723"
> > > +       y="1147.7572" />
> > > +    <rect
> > > +
> > > style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1347"
> > > +       width="369.8941"
> > > +       height="682.32245"
> > > +       x="825.72528"
> > > +       y="1146.6448"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1349"
> > > +       width="163.95746"
> > > +       height="40.144867"
> > > +       x="1389.9988"
> > > +       y="190.80583" />
> > > +    <rect
> > > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1"
> > > 
> > > +       id="rect1619"
> > > +       width="271.99091"
> > > +       height="42.038273"
> > > +       x="1393.981"
> > > +       y="1197.161"
> > > +       inkscape:connector-avoid="true" />
> > > +    <path
> > > +       d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378
> > > 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187
> > > -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257
> > > -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923
> > > 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234
> > > 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
> > > +       id="path106-1"
> > > +       sodipodi:nodetypes="cccccccccc"
> > > +       style="stroke-width:0.205176"
> > > +       inkscape:transform-center-x="-325.50819"
> > > +       inkscape:transform-center-y="-121.97185" />
> > > +    <path
> > > +       d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378
> > > 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187
> > > -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257
> > > -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923
> > > 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234
> > > 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
> > > +       id="path106-1-7"
> > > +       sodipodi:nodetypes="cccccccccc"
> > > +       style="stroke-width:0.205176"
> > > +       inkscape:transform-center-x="-325.50819"
> > > +       inkscape:transform-center-y="-121.97185" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1623"
> > > +       width="137.32646"
> > > +       height="41.782684"
> > > +       x="1396.3848"
> > > +       y="1268.2837"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1705"
> > > +       width="137.32646"
> > > +       height="41.782684"
> > > +       x="1396.3848"
> > > +       y="1348.2837" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1707"
> > > +       width="137.32646"
> > > +       height="41.782684"
> > > +       x="1396.3848"
> > > +       y="1432.2837" />
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1731"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="190.42665"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1813"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="254.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1815"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="318.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1817"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="412.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1819"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="560.42664" />
> > > +    <rect
> > > +
> > > style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1821"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="674.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1823"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="744.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1825"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="820.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1827"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="890.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1829"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="956.42664"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1831"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1256.4268" />
> > > +    <rect
> > > +
> > > style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1833"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1402.4268" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1915"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1330.4268"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +
> > > style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1917"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1478.4268" />
> > > +    <rect
> > > +
> > > style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1919"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1548.4268" />
> > > +    <rect
> > > +
> > > style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1921"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1614.4268" />
> > > +    <rect
> > > +
> > > style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1923"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1686.4268" />
> > > +    <rect
> > > +
> > > style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1925"
> > > +       width="222.34483"
> > > +       height="44.64616"
> > > +       x="867.36292"
> > > +       y="1754.4268" />
> > > +    <rect
> > > +       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > > 
> > > +       id="rect1925-3"
> > > +       width="169.23357"
> > > +       height="44.678963"
> > > +       x="325.21747"
> > > +       y="134.37756" />
> > > +    <rect
> > > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > > 
> > > +       id="rect1954"
> > > +       width="169.23357"
> > > +       height="44.678963"
> > > +       x="325.21747"
> > > +       y="276.37756"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
> > > 
> > > +       id="rect1956"
> > > +       width="168.66573"
> > > +       height="122.14091"
> > > +       x="325.50134"
> > > +       y="358.6615"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > > 
> > > +       id="rect1958"
> > > +       width="169.23357"
> > > +       height="44.678963"
> > > +       x="325.21747"
> > > +       y="672.37756" />
> > > +    <rect
> > > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > > 
> > > +       id="rect1960"
> > > +       width="169.23357"
> > > +       height="44.678963"
> > > +       x="325.21747"
> > > +       y="744.37756" />
> > > +    <rect
> > > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> > > 
> > > +       id="rect1962"
> > > +       width="169.14041"
> > > +       height="54.756817"
> > > +       x="325.26404"
> > > +       y="814.42413"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> > > 
> > > +       id="rect1964"
> > > +       width="169.14041"
> > > +       height="54.756817"
> > > +       x="325.26404"
> > > +       y="886.42413"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
> > > 
> > > +       id="rect1966"
> > > +       width="169.14041"
> > > +       height="54.756817"
> > > +       x="325.26404"
> > > +       y="952.42413"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > > 
> > > +       id="rect2418"
> > > +       width="169.23357"
> > > +       height="44.678963"
> > > +       x="325.21747"
> > > +       y="510.37756"
> > > +       inkscape:connector-avoid="true" />
> > > +    <rect
> > > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > > 
> > > +       id="rect2422"
> > > +       width="169.23357"
> > > +       height="44.678963"
> > > +       x="325.21747"
> > > +       y="1262.3777" />
> > > +    <rect
> > > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1"
> > > 
> > > +       id="rect2424"
> > > +       width="169.12494"
> > > +       height="56.528603"
> > > +       x="325.27179"
> > > +       y="1322.432" />
> > > +    <rect
> > > +       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1"
> > > 
> > > +       id="rect2426"
> > > +       width="169.12494"
> > > +       height="56.528603"
> > > +       x="325.27179"
> > > +       y="1396.432" />
> > > +    <rect
> > > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1"
> > > 
> > > +       id="rect2428"
> > > +       width="169.0854"
> > > +       height="61.19017"
> > > +       x="325.29156"
> > > +       y="1468.4518" />
> > > +    <rect
> > > +       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1"
> > > 
> > > +       id="rect2430"
> > > +       width="169.26669"
> > > +       height="41.344128"
> > > +       x="325.20093"
> > > +       y="1550.3611" />
> > > +    <rect
> > > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1"
> > > 
> > > +       id="rect2432"
> > > +       width="287.86237"
> > > +       height="44.416805"
> > > +       x="325.34854"
> > > +       y="1194.5088" />
> > > +    <rect
> > > +       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1"
> > > 
> > > +       id="rect2434"
> > > +       width="285.86655"
> > > +       height="44.4207"
> > > +       x="867.34656"
> > > +       y="1194.5068" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2509" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2511" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2513" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2515" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2517" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2519" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2521" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2523" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2525" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2527" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2529" />
> > > +    <path
> > > +       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024,
> > > 8.00000024;stroke-dashoffset:0"
> > > +       d="m 867.36292,235.07281 v 0"
> > > +       id="path2531" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 449.83425,179.05653 v 33.6932 h 417.52867"
> > > +       id="path6876"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1925-3"
> > > +       inkscape:connection-end="#rect1731"
> > > +       sodipodi:nodetypes="ccc" />
> > > +    <path
> > > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 494.45103,156.71704 h 216.64955 v 161.7096 h 156.26234"
> > > +       id="path6878"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1925-3"
> > > +       sodipodi:nodetypes="cccc" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 451.83425,321.05653 v 19.69319 h 415.52867"
> > > +       id="path7294"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1954"
> > > +       inkscape:connection-end="#rect1815"
> > > +       sodipodi:nodetypes="ccc" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292"
> > > +       id="path7296"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-end="#rect1817"
> > > +       inkscape:connection-start="#rect1954"
> > > +       sodipodi:nodetypes="cccc" />
> > > +    <path
> > > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 867.36292,560.42664 H 661.10058 V 480.8024 H 494.16705"
> > > +       id="path7720"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       sodipodi:nodetypes="cccc" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 455.83425,594.37756 V 582.74972 H 867.36292"
> > > +       id="path7724"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect2420"
> > > +       inkscape:connection-end="#rect1819"
> > > +       sodipodi:nodetypes="ccc" />
> > > +    <rect
> > > +       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
> > > 
> > > +       id="rect2420"
> > > +       width="169.23357"
> > > +       height="44.678963"
> > > +       x="325.21747"
> > > +       y="594.37756" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 494.45103,696.74972 H 867.36292"
> > > +       id="path7726"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1958"
> > > +       inkscape:connection-end="#rect1821" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 867.36292,766.74972 H 494.45103"
> > > +       id="path7728"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1823"
> > > +       inkscape:connection-end="#rect1960" />
> > > +    <path
> > > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292"
> > > +       id="path7730"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-end="#rect1831"
> > > +       sodipodi:nodetypes="cccc" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874"
> > > +       id="path8140"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1962"
> > > +       inkscape:connection-end="#rect1825" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874"
> > > +       id="path8142"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1964"
> > > +       inkscape:connection-end="#rect1827" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874"
> > > +       id="path8144"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1966"
> > > +       inkscape:connection-end="#rect1829" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 494.39673,1352.7498 H 867.36292"
> > > +       id="path8146"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect2424"
> > > +       inkscape:connection-end="#rect1915" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 494.39673,1424.7498 H 867.36292"
> > > +       id="path8148"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect2426"
> > > +       inkscape:connection-end="#rect1833" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 494.37697,1500.7498 H 867.36292"
> > > +       id="path8150"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect2428"
> > > +       inkscape:connection-end="#rect1917" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 494.46762,1570.7498 h 372.8953"
> > > +       id="path8152"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect2430"
> > > +       inkscape:connection-end="#rect1919" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368"
> > > +       id="path8154"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1623"
> > > +       inkscape:connection-end="#rect1819" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 1396.3848,1369.175 h -156.2403 v -90.4252 h -150.4368"
> > > +       id="path8462"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1705"
> > > +       inkscape:connection-end="#rect1831"
> > > +       sodipodi:nodetypes="cccc" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="m 1089.7077,1500.7498 h 375.3403 v -26.6834"
> > > +       id="path8668"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1917"
> > > +       inkscape:connection-end="#rect1707" />
> > > +    <path
> > > +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 1389.9988,212.74973 H 1089.7077"
> > > +       id="path8672"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-start="#rect1349"
> > > +       inkscape:connection-end="#rect1731" />
> > > +    <path
> > > +       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,
> > > 6;stroke-dashoffset:0;stroke-opacity:1"
> > > +       d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233"
> > > +       id="path8674"
> > > +       inkscape:connector-type="orthogonal"
> > > +       inkscape:connector-curvature="0"
> > > +       inkscape:connection-end="#rect1815"
> > > +       sodipodi:nodetypes="cccc" />
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="58.63356"
> > > +       y="69.574417"
> > > +       id="text28675"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan28673"
> > > +         x="58.63356"
> > > +         y="69.574417" /></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="56.388252"
> > > +       y="221.86568"
> > > +       id="text31913"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan31911"
> > > +         x="56.388252"
> > > +         y="221.86568">Matrix</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="53.441296"
> > > +       y="300.866"
> > > +       id="text38843"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan38841"
> > > +         x="53.441296"
> > > +         y="300.866">1D LUT</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="53.441296"
> > > +       y="378.866"
> > > +       id="text41049"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan41047"
> > > +         x="53.441296"
> > > +         y="378.866">3D LUT</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="40.831493"
> > > +       y="460.87411"
> > > +       id="text45037"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan45035"
> > > +         x="40.831493"
> > > +         y="460.87411"
> > > +         style="font-size:18.6667px">Unpacking</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="62.130371"
> > > +       y="540.68872"
> > > +       id="text49945"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan49943"
> > > +         x="62.130371"
> > > +         y="540.68872"
> > > +         style="font-size:18.6667px">Other</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1423.2806"
> > > +       y="128.08769"
> > > +       id="text55719"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan55717"
> > > +         x="1423.2806"
> > > +         y="128.08769"
> > > +         style="font-size:18.6667px">drm_framebuffer</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1439.9988"
> > > +       y="218.74973"
> > > +       id="text62479"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan62477"
> > > +         x="1439.9988"
> > > +         y="218.74973"
> > > +         style="font-size:18.6667px">format</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1475.2806"
> > > +       y="340.08771"
> > > +       id="text64465"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64463"
> > > +         x="1475.2806"
> > > +         y="340.08771"
> > > +         style="font-size:18.6667px">drm_plane</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1589.2806"
> > > +       y="1178.0876"
> > > +       id="text64469"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467"
> > > +         x="1589.2806"
> > > +         y="1178.0876"
> > > +         style="font-size:18.6667px">drm_crtc</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="872.23993"
> > > +       y="1172.4491"
> > > +       id="text64469-9"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2"
> > > +         x="872.23993"
> > > +         y="1172.4491"
> > > +         style="font-size:18.6667px">Stream</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="328.26071"
> > > +       y="1175.6371"
> > > +       id="text64469-9-2"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-8"
> > > +         x="328.26071"
> > > +         y="1175.6371"
> > > +         style="font-size:18.6667px">MPC</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="330.14737"
> > > +       y="114.41869"
> > > +       id="text64469-9-9"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-7"
> > > +         x="330.14737"
> > > +         y="114.41869"
> > > +         style="font-size:18.6667px">DPP</tspan></text>
> > > +    <path
> > > +       d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788
> > > 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187
> > > -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257
> > > -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923
> > > 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345
> > > 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
> > > +       id="path106"
> > > +       sodipodi:nodetypes="cccccccccc"
> > > +       style="stroke-width:0.205176"
> > > +       inkscape:transform-center-x="-325.50819"
> > > +       inkscape:transform-center-y="-121.97185" />
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1495.9988"
> > > +       y="1224.7498"
> > > +       id="text78849"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78847"
> > > +         x="1495.9988"
> > > +         y="1224.7498"
> > > +         style="font-size:18.6667px">Blender</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1417.9988"
> > > +       y="1294.7498"
> > > +       id="text78853"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78851"
> > > +         x="1417.9988"
> > > +         y="1294.7498"
> > > +         style="font-size:18.6667px">Degamma</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1451.9988"
> > > +       y="1376.7498"
> > > +       id="text78857"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78855"
> > > +         x="1451.9988"
> > > +         y="1376.7498"
> > > +         style="font-size:18.6667px">CTM</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1427.9988"
> > > +       y="1458.7498"
> > > +       id="text78861"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78859"
> > > +         x="1427.9988"
> > > +         y="1458.7498"
> > > +         style="font-size:18.6667px">Gamma</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="949.99878"
> > > +       y="218.74973"
> > > +       id="text104653"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan104651"
> > > +         x="949.99878"
> > > +         y="218.74973"
> > > +         style="font-size:18.6667px">format</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="911.99878"
> > > +       y="284.74973"
> > > +       id="text104657"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan104655"
> > > +         x="911.99878"
> > > +         y="284.74973"
> > > +         style="font-size:18.6667px">bias_and_scale</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="887.99878"
> > > +       y="346.74973"
> > > +       id="text104661"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan104659"
> > > +         x="887.99878"
> > > +         y="346.74973"
> > > +         style="font-size:18.6667px">color space matrix</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="871.99878"
> > > +       y="442.74973"
> > > +       id="text104665"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan104663"
> > > +         x="871.99878"
> > > +         y="442.74973"
> > > +
> > > style="font-size:18.6667px">input_csc_color_matrix</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="905.99878"
> > > +       y="586.74976"
> > > +       id="text125075"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan125073"
> > > +         x="905.99878"
> > > +         y="586.74976"
> > > +         style="font-size:18.6667px">in_transfer_func</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="945.0083"
> > > +       y="702.85938"
> > > +       id="text117309"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan117307"
> > > +         x="945.0083"
> > > +         y="702.85938"
> > > +         style="font-size:18.6667px">hdr_mult</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="874.5556"
> > > +       y="773.42615"
> > > +       id="text117309-6"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan117307-7"
> > > +         x="874.5556"
> > > +         y="773.42615"
> > > +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="913.72528"
> > > +       y="846.55896"
> > > +       id="text117309-5"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan117307-3"
> > > +         x="913.72528"
> > > +         y="846.55896"
> > > +         style="font-size:18.6667px">in_shaper_func</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="937.72528"
> > > +       y="918.25787"
> > > +       id="text117309-56"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan117307-2"
> > > +         x="937.72528"
> > > +         y="918.25787"
> > > +         style="font-size:18.6667px">lut3d_func</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="945.9895"
> > > +       y="986.10767"
> > > +       id="text117309-9"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan117307-1"
> > > +         x="945.9895"
> > > +         y="986.10767"
> > > +         style="font-size:18.6667px">blend_tf</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="975.91803"
> > > +       y="1224.5564"
> > > +       id="text137434"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432"
> > > +         x="975.91803"
> > > +         y="1224.5564"
> > > +         style="font-size:18.6667px">Blender</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="879.31372"
> > > +       y="1283.4249"
> > > +       id="text137434-2"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-7"
> > > +         x="879.31372"
> > > +         y="1283.4249"
> > > +         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="925.31372"
> > > +       y="1359.2747"
> > > +       id="text137434-0"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-9"
> > > +         x="925.31372"
> > > +         y="1359.2747"
> > > +         style="font-size:18.6667px">func_shaper</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="930.33252"
> > > +       y="1430.2566"
> > > +       id="text137434-3"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-6"
> > > +         x="930.33252"
> > > +         y="1430.2566"
> > > +         style="font-size:18.6667px">lut3d_func</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="900.18158"
> > > +       y="1504.6725"
> > > +       id="text137434-06"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-2"
> > > +         x="900.18158"
> > > +         y="1504.6725"
> > > +         style="font-size:18.6667px">out_transfer_func</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="904.0307"
> > > +       y="1575.8053"
> > > +       id="text137434-6"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-1"
> > > +         x="904.0307"
> > > +         y="1575.8053"
> > > +         style="font-size:18.6667px">csc_color_matrix</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="903.16278"
> > > +       y="1642.1078"
> > > +       id="text137434-8"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-79"
> > > +         x="903.16278"
> > > +         y="1642.1078"
> > > +         style="font-size:18.6667px">bit_depth_param</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="939.31372"
> > > +       y="1713.8068"
> > > +       id="text137434-20"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-23"
> > > +         x="939.31372"
> > > +         y="1713.8068"
> > > +         style="font-size:18.6667px">clamping</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="894.0307"
> > > +       y="1782.5244"
> > > +       id="text137434-7"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan137432-5"
> > > +         x="894.0307"
> > > +         y="1782.5244"
> > > +         style="font-size:18.6667px">output_color_space</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="869.63062"
> > > +       y="117.7968"
> > > +       id="text176429"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan176427"
> > > +         x="869.63062"
> > > +         y="117.7968"
> > > +         style="font-size:18.6667px">Plane</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="27.605465"
> > > +       y="162.20587"
> > > +       id="text176429-2"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan176427-0"
> > > +         x="27.605465"
> > > +         y="162.20587"
> > > +         style="font-size:18.6667px">Legend</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="298.63959"
> > > +       y="59.293999"
> > > +       id="text176429-9"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan176427-2"
> > > +         x="298.63959"
> > > +         y="59.293999"
> > > +         style="font-size:18.6667px">DCN 3.0</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="826.65735"
> > > +       y="59.458061"
> > > +       id="text176429-66"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan176427-4"
> > > +         x="826.65735"
> > > +         y="59.458061"
> > > +         style="font-size:18.6667px">DC Interface</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1362.9948"
> > > +       y="59.458061"
> > > +       id="text176429-95"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan176427-04"
> > > +         x="1362.9948"
> > > +         y="59.458061"
> > > +         style="font-size:18.6667px">DRM Interface</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="867.34656"
> > > +       y="1194.5068"
> > > +       id="text184728"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan184726"
> > > +         x="867.34656"
> > > +         y="1194.5068" /></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="389.01593"
> > > +       y="159.8909"
> > > +       id="text64469-9-3"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-6"
> > > +         x="389.01593"
> > > +         y="159.8909"
> > > +         style="font-size:18.6667px">CNVC</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="365.88379"
> > > +       y="303.59048"
> > > +       id="text64469-9-1"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-2"
> > > +         x="365.88379"
> > > +         y="303.59048"
> > > +         style="font-size:18.6667px">Input CSC</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="413.06488"
> > > +       y="390.95001"
> > > +       id="text64469-9-93"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-1"
> > > +         x="413.06488"
> > > +         y="390.95001"
> > > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan
> > > 
> > > +         sodipodi:role="line"
> > > +         x="413.06488"
> > > +         y="414.28339"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan233797">ROM</tspan><tspan
> > > +         sodipodi:role="line"
> > > +         x="413.06488"
> > > +         y="437.61676"
> > > +
> > > style="font-size:10.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan233799">(sRGB, BT2020, Gamma 2.2,</tspan><tspan
> > > +         sodipodi:role="line"
> > > +         x="413.06488"
> > > +         y="460.95013"
> > > +
> > > style="font-size:10.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan242597">PQ, HLG)</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="372.44986"
> > > +       y="538.83807"
> > > +       id="text64469-9-94"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-78"
> > > +         x="372.44986"
> > > +         y="538.83807"
> > > +         style="font-size:18.6667px">Post CSC</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="335.31775"
> > > +       y="622.23511"
> > > +       id="text64469-9-4"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-5"
> > > +         x="335.31775"
> > > +         y="622.23511"
> > > +         style="font-size:16px">Gamma Correction</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="351.16684"
> > > +       y="700.34918"
> > > +       id="text64469-9-0"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-3"
> > > +         x="351.16684"
> > > +         y="700.34918"
> > > +         style="font-size:18.6667px">HDR Multiply</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="345.16684"
> > > +       y="771.33112"
> > > +       id="text64469-9-6"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-10"
> > > +         x="345.16684"
> > > +         y="771.33112"
> > > +         style="font-size:18.6667px">Gamut Remap</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="412.5184"
> > > +       y="836.04877"
> > > +       id="text64469-9-63"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-20"
> > > +         x="412.5184"
> > > +         y="836.04877"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper
> > > LUT</tspan><tspan
> > > 
> > > +         sodipodi:role="line"
> > > +         x="412.5184"
> > > +         y="859.38214"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan222533">RAM</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="413.54086"
> > > +       y="908.61554"
> > > +       id="text64469-9-61"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-55"
> > > +         x="413.54086"
> > > +         y="908.61554"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle">3D
> > > LUT</tspan><tspan
> > > +         sodipodi:role="line"
> > > +         x="413.54086"
> > > +         y="931.94891"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan221121">RAM</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="344.0347"
> > > +       y="985.33319"
> > > +       id="text64469-9-47"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-65"
> > > +         x="344.0347"
> > > +         y="985.33319"
> > > +         style="font-size:18.6667px">Blend Gamma</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="433.84625"
> > > +       y="1223.411"
> > > +       id="text64469-9-69"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-37"
> > > +         x="433.84625"
> > > +         y="1223.411"
> > > +         style="font-size:18.6667px">Blender</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="343.73291"
> > > +       y="1290.2421"
> > > +       id="text64469-9-45"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-25"
> > > +         x="343.73291"
> > > +         y="1290.2421"
> > > +         style="font-size:18.6667px">Gamut Remap</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="408.74442"
> > > +       y="1344.2428"
> > > +       id="text64469-9-474"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-4"
> > > +         x="408.74442"
> > > +         y="1344.2428"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper
> > > LUT</tspan><tspan
> > > 
> > > +         sodipodi:role="line"
> > > +         x="408.74442"
> > > +         y="1367.5762"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan208303">RAM</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="407.1257"
> > > +       y="1420.2435"
> > > +       id="text64469-9-30"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-786"
> > > +         x="407.1257"
> > > +         y="1420.2435"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle">3D
> > > LUT</tspan><tspan
> > > +         sodipodi:role="line"
> > > +         x="407.1257"
> > > +         y="1443.5769"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan204749">RAM</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="408.64996"
> > > +       y="1492.8102"
> > > +       id="text64469-9-8"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-84"
> > > +         x="408.64996"
> > > +         y="1492.8102"
> > > +         style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan
> > > 
> > > +         sodipodi:role="line"
> > > +         x="408.64996"
> > > +         y="1516.1436"
> > > +
> > > style="font-size:18.6667px;text-align:center;text-anchor:middle"
> > > +         id="tspan197733">RAM</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="385.46863"
> > > +       y="1575.2261"
> > > +       id="text64469-9-31"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan64467-2-49"
> > > +         x="385.46863"
> > > +         y="1575.2261"
> > > +         style="font-size:18.6667px">OCSC</tspan></text>
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1356.5106"
> > > +       y="53.140579"
> > > +       id="text273287"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan273285"
> > > +         x="1356.5106"
> > > +         y="53.140579" /></text>
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1411"
> > > +       width="177.28049"
> > > +       height="38.940468"
> > > +       x="1392.2576"
> > > +       y="459.24118" />
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1411.7203"
> > > +       y="485.93231"
> > > +       id="text78841"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78839"
> > > +         x="1411.7203"
> > > +         y="485.93231"
> > > +         style="font-size:18.6667px">color_encoding</tspan></text>
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect1515"
> > > +       width="175.11876"
> > > +       height="43.239407"
> > > +       x="1393.7493"
> > > +       y="525.6983" />
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1399.212"
> > > +       y="553.44904"
> > > +       id="text78845"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78843"
> > > +         x="1399.212"
> > > +         y="553.44904">pixel_blend_mode</tspan></text>
> > > +    <rect
> > > +
> > > style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
> > > +       id="rect371322"
> > > +       width="177.28049"
> > > +       height="38.940468"
> > > +       x="1391.6781"
> > > +       y="385.61713" />
> > > +    <text
> > > +       xml:space="preserve"
> > > +       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
> > > 
> > > +       x="1427.5771"
> > > +       y="409.29523"
> > > +       id="text78837"><tspan
> > > +         sodipodi:role="line"
> > > +         id="tspan78835"
> > > +         x="1427.5771"
> > > +         y="409.29523"
> > > +         style="font-size:18.6667px">color_range</tspan></text>
> > > +    <path
> > > +       d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444
> > > 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131
> > > -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025
> > > 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > > +       id="path371636-7"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443
> > > 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131
> > > -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025
> > > 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > > +       id="path371636-7-2"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-7"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-22"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-6"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-1"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 404.2055,500.78482 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-0"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 402.6188,581.69367 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-61"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-5"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-9"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-4"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-90"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435
> > > 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307
> > > -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251
> > > 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
> > > +       id="path371636-7-91"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 407.9989,1311.6005 c 3.2597,-1.4841 6.4827,-3.0444
> > > 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.513
> > > -3.575,-6.1779 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025
> > > 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > > +       id="path371636-7-77"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 407.9989,1381.5424 c 3.2597,-1.4841 6.4827,-3.0443
> > > 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131
> > > -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025
> > > 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > > +       id="path371636-7-11"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +    <path
> > > +       d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444
> > > 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131
> > > -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025
> > > 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
> > > +       id="path371636-7-59"
> > > +       sodipodi:nodetypes="cccccc"
> > > +       style="stroke-width:0.262672"
> > > +       inkscape:transform-center-x="-416.72543"
> > > +       inkscape:transform-center-y="-156.15191" />
> > > +  </g>
> > > +</svg>
> > > diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst
> > > b/Documentation/gpu/amdgpu/display/display-manager.rst
> > > index b1b0f11aed83..8960a5f1fa66 100644
> > > --- a/Documentation/gpu/amdgpu/display/display-manager.rst
> > > +++ b/Documentation/gpu/amdgpu/display/display-manager.rst
> > > @@ -49,3 +49,38 @@ Color Management Properties
> > >   .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> > >      :internal:
> > > +
> > > +
> > > +DC Color Capabilities between DCN generations
> > > +---------------------------------------------
> > > +
> > > +DRM/KMS framework defines three CRTC color correction properties:
> > > degamma,
> > > +color transformation matrix (ctm) and gamma, and two properties for
> > > degamma and
> > 
> > Abbreviations should be written as all-uppercase
> > https://docs.kernel.org/gpu/introduction.html?highlight=uppercase#style-guidelines
> > 
> > 
> > > +gamma lut sizes. AMD DC programs some of the color correction features
> > > +pre-blending but DRM/KMS has not per-plane color correction properties.
> > > +
> > > +What's possible to do before and after blending has changed quite a
> > > bit between
> > > +DCN generations as it depends on hardware color capabilities. DPP
> > > and MPC color
> > > +correction caps are described below.
> > > +
> > > +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h
> > > +   :doc: color-management-caps
> > > +
> > > +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h
> > > +   :internal:
> > > +
> > > +In general, the DRM three properties are programed to DC, as
> > > follows: CRT > +gamma after blending, and CRTC degamma pre-blending.
> > > Although CTM is
> > programmed
> > > +after blending, it is mapped to DPP hw blocks (pre-blending). Other
> > > color caps
> > > +available in the hw is not currently exposed by DRM interface and are by
> > > +passed.  To illustrate DCN generation capabilities and differences
> > > between
> > 
> > possible typo: "by\npassed" -> "bypassed"
> > 
> > > +them, you can compare the color management schemas for DCN 2.0 and
> > > DCN 3.0
> > > +families below.
> > > +
> > > +**DCN 2.0 family color caps and mapping**
> > > +
> > > +.. kernel-figure:: dcn2_cm_drm_current.svg
> > > +
> > > +**DCN 3.0 family color caps and mapping**
> > > +
> > > +.. kernel-figure:: dcn3_cm_drm_current.svg
> > > diff --git a/drivers/gpu/drm/amd/display/dc/dc.h
> > > b/drivers/gpu/drm/amd/display/dc/dc.h
> > > index 7c42377f0aae..84275f3974c1 100644
> > > --- a/drivers/gpu/drm/amd/display/dc/dc.h
> > > +++ b/drivers/gpu/drm/amd/display/dc/dc.h
> > > @@ -118,7 +118,26 @@ struct dc_plane_cap {
> > >       uint32_t min_height;
> > >   };
> > > -// Color management caps (DPP and MPC)
> > > +/**
> > > + * DOC: color-management-caps
> > > + *
> > > + * **Color management caps (DPP and MPC)**
> > > + *
> > > + * Modules/color calculates various colour operations which are
> > > translated to
> > 
> > Nit: colour -> color
> > The DRM documentation has a **preference** for the american spelling https://www.kernel.org/doc/html/latest/gpu/introduction.html?highlight=American%20English#style-guidelines
> > 
> > 
> > > + * abstracted HW. DCE 5-12 had almost no important changes, but
> > > starting with
> > > + * DCN1, every new generation comes with fairly major differences
> > > in color
> > > + * pipeline. Therefore, we abstract color pipe capabilities so
> > > modules/DM can
> > > + * decide mapping to HW block based on logical capabilities.
> > > + */
> > > +
> > > +/**
> > > + * struct rom_curve_caps - predefined transfer function caps for
> > > degamma and regamma
> > > + * @srgb: RGB color space transfer func
> > > + * @bt2020: BT.2020 transfer func
> > > + * @gamma2_2: standard gamma
> > > + * @pq: perceptual quantizer transfer function
> > > + * @hlg: hybrid log–gamma transfer function
> > > + */
> > >   struct rom_curve_caps {
> > >       uint16_t srgb : 1;
> > >       uint16_t bt2020 : 1;
> > > @@ -127,36 +146,65 @@ struct rom_curve_caps {
> > >       uint16_t hlg : 1;
> > >   };
> > > +/**
> > > + * struct dpp_color_caps - color pipeline capabilities for display
> > > pipe and
> > > + * plane blocks
> > > + *
> > > + * @dcn_arch: all DCE generations treated the same
> > > + * @input_lut_shared: shared with DGAM. Input lut is different than
> > > most LUTs,
> > > + * just plain 256-entry lookup
> > > + * @icsc: input color space conversion
> > 
> > ./drivers/gpu/drm/amd/display/dc/dc.h:181: warning: Function parameter
> > or member 'dgam_ram' not described in 'dpp_color_caps'
> 
> Hi,
> 
> I was trying to figure out the meaning of some of these fields.
> 
> 
> First of all, and in the LUT context, notice that some fields have the
> prefix _ram, and others have _rom. When you see the ram, it means that we
> have a hardware LUT in the device, and we can program its values. If you see
> rom, it also means that we have hardware LUT but have pre-hardcoded values,
> which means that we can only select between a few of them (e.g., sRGB, PQ,
> etc.). I guess ROM is preferable since it requires less configuration.

Hi Siqueira,

Oh, thanks for describing the rom/ram differences (and sounds like a
analogy).

> 
> > 
> > > + * @post_csc: post color space conversion, before gamut remap
> > > + * @gamma_corr: degamma correction
> > > + * @hw_3d_lut: 3d lut support. It implies a shaper LUT before, it
> > > may be shared
> > > + * with MPC by setting mpc:shared_3d_lut flag
> > > + * @ogam_ram: blend gamma
> 
> dgam refers to 'degamma'
> 
> and
> 
> ogam to 'out gamma'.
> 
> 
> > > + * @ocsc: output color space conversion
> > 
> > ./drivers/gpu/drm/amd/display/dc/dc.h:181: warning: Function parameter
> > or member 'dgam_rom_for_yuv' not described in 'dpp_color_caps'
> 
> dgam_rom_for_yuv -> I don't know precisely why we have this, but since DCN3
> introduced it, I guess this is a specific behavior to compute yuv.
> 
> afaik, this caps stands for capabilities, i.e., dpp_color_caps describes the
> DPP color capabilities configured for the specific hardware and setup.

I'm preparing a v2 that includes your inputs.

Thanks again,

Melissa
> 
> Best Regards
> Siqueira
> 
> > 
> > > + * @dgam_rom_caps: caps for degamma
> > > + * @ogam_rom_caps: caps for regamma 1D lut
> > > + *
> > > + * Note: hdr_mult and gamut remap (ctm) are always available in DPP
> > > (in that order)
> > > + */
> > >   struct dpp_color_caps {
> > > -    uint16_t dcn_arch : 1; // all DCE generations treated the same
> > > -    // input lut is different than most LUTs, just plain 256-entry
> > > lookup
> > > -    uint16_t input_lut_shared : 1; // shared with DGAM
> > > +    uint16_t dcn_arch : 1;
> > > +    uint16_t input_lut_shared : 1;
> > >       uint16_t icsc : 1;
> > >       uint16_t dgam_ram : 1;
> > > -    uint16_t post_csc : 1; // before gamut remap
> > > +    uint16_t post_csc : 1;
> > >       uint16_t gamma_corr : 1;
> > > -
> > > -    // hdr_mult and gamut remap always available in DPP (in that order)
> > > -    // 3d lut implies shaper LUT,
> > > -    // it may be shared with MPC - check MPC:shared_3d_lut flag
> > >       uint16_t hw_3d_lut : 1;
> > > -    uint16_t ogam_ram : 1; // blnd gam
> > > +    uint16_t ogam_ram : 1;
> > >       uint16_t ocsc : 1;
> > >       uint16_t dgam_rom_for_yuv : 1;
> > >       struct rom_curve_caps dgam_rom_caps;
> > >       struct rom_curve_caps ogam_rom_caps;
> > >   };
> > > +/**
> > > + * struct mpc_color_caps - color pipeline capabilities for multiple
> > > pipe and
> > > + * plane combined blocks
> > > + *
> > > + * @gamut_remap: color transformation matrix
> > 
> > ./drivers/gpu/drm/amd/display/dc/dc.h:201: warning: Function parameter
> > or member 'ogam_ram' not described in 'mpc_color_caps'
> > 
> > > + * @ocsc: output color space conversion matrix
> > > + * @num_3dluts: 3d lut, always assumes a preceding shaper LUT
> > > + * @shared_3d_lut: shared 3d lut flag, can be either DPP or MPC,
> > > but single
> > > + * instance
> > > + * @ogam_rom_caps: caps for regama 1d lut
> > 
> > typo: regama -> regamma
> > 
> > > + */
> > >   struct mpc_color_caps {
> > >       uint16_t gamut_remap : 1;
> > >       uint16_t ogam_ram : 1;
> > >       uint16_t ocsc : 1;
> > > -    uint16_t num_3dluts : 3; //3d lut always assumes a preceding
> > > shaper LUT
> > > -    uint16_t shared_3d_lut:1; //can be in either DPP or MPC, but
> > > single instance
> > > -
> > > +    uint16_t num_3dluts : 3;
> > > +    uint16_t shared_3d_lut:1;
> > >       struct rom_curve_caps ogam_rom_caps;
> > >   };
> > > +/**
> > > + * struct dc_color_caps - color pipes capabilities for DPP and MPC
> > > hw blocks
> > > + * @dpp: color pipes caps for DPP
> > > + * @mpc: color pipes caps for MPC
> > > + */
> > >   struct dc_color_caps {
> > >       struct dpp_color_caps dpp;
> > >       struct mpc_color_caps mpc;
> > 
> > 
> > Again, thanks for the documentation patch!
> > 
> > Kind regards,
> > Tales Aparecida
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-07-28 12:59 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-16 22:25 [PATCH 0/4] Documentation/amdgpu/display: describe color and blend mode properties mapping Melissa Wen
2022-07-16 22:25 ` [PATCH 1/4] Documentation/amdgpu_dm: Add DM color correction documentation Melissa Wen
2022-07-17 22:03   ` Tales Lelo da Aparecida
2022-07-20 22:54     ` Melissa Wen
2022-07-22 21:23       ` Rodrigo Siqueira Jordao
2022-07-16 22:25 ` [PATCH 2/4] Documentation/amdgpu/display: add DC color caps info Melissa Wen
2022-07-17 23:28   ` Tales Lelo da Aparecida
2022-07-20 21:39     ` Melissa Wen
2022-07-27 21:21     ` Rodrigo Siqueira Jordao
2022-07-28 12:58       ` Melissa Wen
2022-07-16 22:25 ` [PATCH 3/4] drm/amd/display: add doc entries for MPC blending configuration Melissa Wen
2022-07-18  1:25   ` Tales Lelo da Aparecida
2022-07-20 21:33     ` Melissa Wen
2022-07-16 22:25 ` [PATCH 4/4] Documentation/gpu/amdgpu/amdgpu_dm: add DM docs for pixel blend mode Melissa Wen
2022-07-18  1:39   ` Tales Lelo da Aparecida
2022-07-20 22:56     ` Melissa Wen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).