aboutsummaryrefslogtreecommitdiff
path: root/internal.h
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2024-04-15 04:53:51 +0000
committerrodri <rgl@antares-labs.eu>2024-04-15 04:53:51 +0000
commit4d88a3779d1f5e15ea7ea3bca5330b9c8d1ef2fd (patch)
tree6385ecdd66209b32e4d48ac34cf7c6916f93237b /internal.h
parent2c286986893435895528d59c7db624261ac5571b (diff)
downloadlibgraphics-4d88a3779d1f5e15ea7ea3bca5330b9c8d1ef2fd.tar.gz
libgraphics-4d88a3779d1f5e15ea7ea3bca5330b9c8d1ef2fd.tar.bz2
libgraphics-4d88a3779d1f5e15ea7ea3bca5330b9c8d1ef2fd.zip
implement a fully concurrent pipeline based on tiles.
- got rid of the z-buffer lock to avoid contention. - little improvements to fb.c
Diffstat (limited to 'internal.h')
-rw-r--r--internal.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/internal.h b/internal.h
index a145585..edbec99 100644
--- a/internal.h
+++ b/internal.h
@@ -1,3 +1,21 @@
+typedef struct Tilerparam Tilerparam;
+typedef struct Rastertask Rastertask;
+
+struct Rastertask
+{
+ SUparams *params;
+ Rectangle wr; /* working rect */
+ Triangle t;
+};
+
+struct Tilerparam
+{
+ Channel *paramsc;
+ Channel **tasksc; /* Channel*[nproc] */
+ Rectangle *wr; /* Rectangle[nproc] */
+ ulong nproc;
+};
+
/* alloc */
void *emalloc(ulong);
void *erealloc(void*, ulong);