dawn-cmake/docs/tint/layering.md
dan sinclair d1d1bf7135 Split base_src apart.
This CL splits the base_src set in the GN build into a symbols_src and a
utils_src.

Change-Id: I39036a4ba5163aa816233b42d9a2ebfe34ddf038
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/128361
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-04-21 10:54:13 +00:00

2.9 KiB

Tint Source Layering

The BUILD.gn is setup with small source units for various components in Tint. The hierarchy of sources almost matches to folder structure in tint (except for base which is a mix of things in src/tint and src/tint/util.

+-----------------------------------------+
|         Readers | Writers               |
+-----------------------------------------+
                  |
                  V
+-----------------------------------------+
|       Val | Inspector | Transform       |
+-----------------------------------------+
   |              |
   +--------------+------------------------------+
                  |                              |
                  V                              V
+-----------------------------------------+ +-----------+
|                AST                      | |  Utils IO |
+-----------------------------------------+ +-----------+
                  |                              |
                  V                              |
+-----------------------------------------+      |
|        Program  | Sem                   |      |
+-----------------------------------------+      |
                  |                              |
                  V                              |
+-----------------------------------------+      |
|              AST Hdrs                   |      |
|    (program and sem cause a cycle)      |      |
+-----------------------------------------+      |
                  |                              |
                  V                              |
+-----------------------------------------+      |
|        Clone Context Hdrs               |      |
|    (program and sem cause a cycle)      |      |
+-----------------------------------------+      |
                  |                              |
                  V                              |
+-----------------------------------------+      |
|             Constant                    |      |
+-----------------------------------------+      |
                  |                              |
                  V                              |
+-----------------------------------------+      |
|               Types                     |      |
+-----------------------------------------+      |
                  |                              |
                  V                              |
+-----------------------------------------+      |
|              Builtin                    |      |
+-----------------------------------------+      |
                  |                              |
                  |------------------------------+
                  V
+-----------------------------------------+
|              Symbols                    |
+-----------------------------------------+
                  |
                  V
+-----------------------------------------+ +-------------+
|               Utils                     | | Initializer |
+-----------------------------------------+ +-------------+