mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-19 06:14:03 +00:00
devel-docs: Add gegl-porting-plan.txt
In order to effectively collaborate on this huge porting task, the first step is to agree on exactly what we want to do. In an effort to organize this, add gegl-porting-plan.txt to devel-docs. In this document, we can describe how we want the port to be done. This is not only for ourselves, but will also be useful for non-core contributors.
This commit is contained in:
parent
8e7484942a
commit
0f0bb336a8
2
NEWS
2
NEWS
|
@ -34,7 +34,7 @@ Plug-ins:
|
||||||
|
|
||||||
Developer documentation:
|
Developer documentation:
|
||||||
|
|
||||||
- <item>
|
- Add devel-docs/gegl-porting-plan.txt
|
||||||
|
|
||||||
|
|
||||||
Source and build system:
|
Source and build system:
|
||||||
|
|
|
@ -30,6 +30,7 @@ EXTRA_DIST = \
|
||||||
includes.txt \
|
includes.txt \
|
||||||
parasites.txt \
|
parasites.txt \
|
||||||
pat.txt \
|
pat.txt \
|
||||||
|
gegl-porting-plan.txt \
|
||||||
gtkbuilder-porting-guide.txt \
|
gtkbuilder-porting-guide.txt \
|
||||||
release-howto.txt \
|
release-howto.txt \
|
||||||
structure.xml \
|
structure.xml \
|
||||||
|
|
39
devel-docs/gegl-porting-plan.txt
Normal file
39
devel-docs/gegl-porting-plan.txt
Normal file
|
@ -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. ???
|
Loading…
Reference in a new issue