diff options
author | Vito Caputo <vcaputo@gnugeneration.com> | 2017-01-18 19:12:41 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-18 19:12:41 -0800 |
commit | 467137113c8b3d6bcb73ecff8c76f23793f25cb7 (patch) | |
tree | ecf3064d6587ec875d5c021d46d44855dc814212 /src/modules/ray/ray_threads.h | |
parent | ee2073d4e411555aba878277131b56f7eb562c84 (diff) | |
parent | 404a356b2b22a134aea151145d1baabf253ee491 (diff) |
Merge build system cleanups
- Move source to src/ subdir
- Use $(top_srcdir)/src instead of ../../
Diffstat (limited to 'src/modules/ray/ray_threads.h')
-rw-r--r-- | src/modules/ray/ray_threads.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/modules/ray/ray_threads.h b/src/modules/ray/ray_threads.h new file mode 100644 index 0000000..b4c601d --- /dev/null +++ b/src/modules/ray/ray_threads.h @@ -0,0 +1,30 @@ +#ifndef _RAY_THREADS_H +#define _RAY_THREADS_H + +#include <pthread.h> + +typedef struct ray_scene_t ray_scene_t; +typedef struct ray_camera_t ray_camera_t; +typedef struct fb_fragment_t fb_fragment_t; + +typedef struct ray_thread_t { + pthread_t thread; + pthread_mutex_t mutex; + pthread_cond_t cond; + ray_scene_t *scene; + ray_camera_t *camera; + fb_fragment_t *fragment; +} ray_thread_t; + +typedef struct ray_threads_t { + unsigned n_threads; + ray_thread_t threads[]; +} ray_threads_t; + + +ray_threads_t * ray_threads_create(unsigned num); +void ray_threads_destroy(ray_threads_t *threads); + +void ray_thread_fragment_submit(ray_thread_t *thread, ray_scene_t *scene, ray_camera_t *camera, fb_fragment_t *fragment); +void ray_thread_wait_idle(ray_thread_t *thread); +#endif |