summaryrefslogtreecommitdiffstats
path: root/devel-docs/gegl-porting-plan.txt
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:30:19 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:30:19 +0000
commit5c1676dfe6d2f3c837a5e074117b45613fd29a72 (patch)
treecbffb45144febf451e54061db2b21395faf94bfe /devel-docs/gegl-porting-plan.txt
parentInitial commit. (diff)
downloadgimp-5c1676dfe6d2f3c837a5e074117b45613fd29a72.tar.xz
gimp-5c1676dfe6d2f3c837a5e074117b45613fd29a72.zip
Adding upstream version 2.10.34.upstream/2.10.34upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devel-docs/gegl-porting-plan.txt')
-rw-r--r--devel-docs/gegl-porting-plan.txt39
1 files changed, 39 insertions, 0 deletions
diff --git a/devel-docs/gegl-porting-plan.txt b/devel-docs/gegl-porting-plan.txt
new file mode 100644
index 0000000..cfc5220
--- /dev/null
+++ b/devel-docs/gegl-porting-plan.txt
@@ -0,0 +1,39 @@
+GEGL Porting Plan
+=================
+
+This file describes a detailed plan for how we will integrate GEGL
+into GIMP. Please update it with your own ideas and findings.
+
+Porting GIMP to GEGL will be a multi-stage process. On a high level,
+the stages are:
+
+Stages:
+=======
+
+ 1. Implement GIMP's 8 bpc code with GEGL data structures
+ 2. Gradually port GIMP's 8 bpc code to 32 bpc
+ 3. Once the GIMP base layer (almost) only knows 32 bpc and GEGL, add
+ goodies like adjustment layers and layer effects on top
+
+
+First stage:
+------------
+
+ 1. Kill Tile and TileManager
+ 2. Change PixelRegion::tiles : TileManager * to PixelRegion::gegl_buffer : GeglBuffer *
+ 3. Map PixelRegion::gegl_buffer of type RGBA float to PixelRegion::data of type RGBA u8
+ 4. Implement functions like scale_region() with GEGL (for the
+ gegl_buffer case. For the data case, we can keep the old code)
+ 5. ???
+
+
+Second stage:
+-------------
+
+ 1. ???
+
+
+Third stage:
+------------
+
+ 1. ???