Tachyon (current)  Current Main Branch
trace.h
Go to the documentation of this file.
1 /*
2  * trace.h - This file contains the declarations for the main tracing calls
3  *
4  * (C) Copyright 1994-2022 John E. Stone
5  * SPDX-License-Identifier: BSD-3-Clause
6  *
7  * $Id: trace.h,v 1.37 2022/02/18 17:55:28 johns Exp $
8  *
9  */
10 
11 typedef struct {
12  int tid;
13  int nthr;
14  scenedef * scene;
15  unsigned long * local_mbox;
16  unsigned long serialno;
17  int startx;
18  int stopx;
19  int xinc;
20  int starty;
21  int stopy;
22  int yinc;
24 #if defined(THR)
25  int sched_dynamic;
26  rt_atomic_int_t * pixelsched;
27 #endif
28 #if defined(MPI) && defined(THR)
29  int numrowbars;
30  rt_atomic_int_t * rowbars;
31  rt_atomic_int_t * rowsdone;
32 #endif
33 } thr_parms;
34 
35 color trace(ray *);
36 void * thread_trace(thr_parms *);
37 
int stopx
ending X pixel index
Definition: trace.h:18
int nthr
total number of worker threads
Definition: trace.h:13
scenedef * scene
scene handle
Definition: trace.h:14
color trace(ray *)
Definition: trace.c:33
rt_barrier_t * runbar
sleeping thread pool barrier
Definition: trace.h:23
void * thread_trace(thr_parms *)
Definition: trace.c:201
int starty
starting Y pixel index
Definition: trace.h:20
int startx
starting X pixel index
Definition: trace.h:17
unsigned long * local_mbox
grid acceleration mailbox structure
Definition: trace.h:15
int yinc
Y pixel stride.
Definition: trace.h:22
int xinc
X pixel stride.
Definition: trace.h:19
atomic int structure with padding to prevent false sharing
Definition: threads.h:178
unsigned long serialno
ray mailbox test serial number
Definition: trace.h:16
barrier sync object with padding to prevent false sharing
Definition: threads.h:195
int tid
worker thread index
Definition: trace.h:12
int stopy
ending Y pixel index
Definition: trace.h:21