File: gegl-porting-plan.txt

package info (click to toggle)
gimp 2.10.8-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 218,716 kB
  • sloc: ansic: 787,125; makefile: 11,685; python: 6,198; lisp: 5,456; sh: 4,486; cpp: 4,114; perl: 3,807; xml: 1,481; yacc: 588; lex: 342
file content (39 lines) | stat: -rw-r--r-- 956 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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. ???