diff options
author | rodri <rgl@antares-labs.eu> | 2024-04-15 04:53:51 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-04-15 04:53:51 +0000 |
commit | 4d88a3779d1f5e15ea7ea3bca5330b9c8d1ef2fd (patch) | |
tree | 6385ecdd66209b32e4d48ac34cf7c6916f93237b /graphics.h | |
parent | 2c286986893435895528d59c7db624261ac5571b (diff) | |
download | libgraphics-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 'graphics.h')
-rw-r--r-- | graphics.h | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -154,8 +154,8 @@ struct SUparams Framebuf *fb; Memimage *frag; Renderjob *job; - Entity *entity; + OBJElem **eb, **ee; uvlong uni_time; @@ -177,11 +177,11 @@ struct Renderer struct Renderjob { + Ref; Framebuf *fb; Scene *scene; Shadertab *shaders; Channel *donec; - ulong nrem; /* remaining entities to process */ Renderjob *next; }; @@ -190,15 +190,14 @@ struct Framebuf { Memimage *cb; /* color buffer */ double *zbuf; /* z/depth buffer */ - Lock zbuflk; Rectangle r; }; struct Framebufctl { + Lock; Framebuf *fb[2]; /* double buffering */ uint idx; /* front buffer index */ - Lock swplk; void (*draw)(Framebufctl*, Image*); void (*memdraw)(Framebufctl*, Memimage*); |