27 # ifndef __SPLIT_KERNEL__
68 # define STUB_ASSERT(arch, name) \
69 assert(!(#name " kernel stub for architecture " #arch " was called!"))
71 # ifdef __SPLIT_KERNEL__
79 #ifndef __SPLIT_KERNEL__
89 # ifdef __BRANCHED_PATH__
177 # define DEFINE_SPLIT_KERNEL_FUNCTION(name) \
178 void KERNEL_FUNCTION_FULL_NAME(name)(KernelGlobals * kg, KernelData * ) \
180 STUB_ASSERT(KERNEL_ARCH, name); \
183 # define DEFINE_SPLIT_KERNEL_FUNCTION_LOCALS(name, type) \
184 void KERNEL_FUNCTION_FULL_NAME(name)(KernelGlobals * kg, KernelData * ) \
186 STUB_ASSERT(KERNEL_ARCH, name); \
189 # define DEFINE_SPLIT_KERNEL_FUNCTION(name) \
190 void KERNEL_FUNCTION_FULL_NAME(name)(KernelGlobals * kg, KernelData * ) \
195 # define DEFINE_SPLIT_KERNEL_FUNCTION_LOCALS(name, type) \
196 void KERNEL_FUNCTION_FULL_NAME(name)(KernelGlobals * kg, KernelData * ) \
198 ccl_local type locals; \
199 kernel_##name(kg, &locals); \
205 DEFINE_SPLIT_KERNEL_FUNCTION(lamp_emission)
206 DEFINE_SPLIT_KERNEL_FUNCTION(do_volume)
209 DEFINE_SPLIT_KERNEL_FUNCTION_LOCALS(shader_setup,
uint)
211 DEFINE_SPLIT_KERNEL_FUNCTION(shader_eval)
212 DEFINE_SPLIT_KERNEL_FUNCTION_LOCALS(holdout_emission_blurring_pathtermination_ao,
214 DEFINE_SPLIT_KERNEL_FUNCTION(subsurface_scatter)
215 DEFINE_SPLIT_KERNEL_FUNCTION_LOCALS(direct_lighting,
uint)
216 DEFINE_SPLIT_KERNEL_FUNCTION(shadow_blocked_ao)
217 DEFINE_SPLIT_KERNEL_FUNCTION(shadow_blocked_dl)
218 DEFINE_SPLIT_KERNEL_FUNCTION_LOCALS(enqueue_inactive,
uint)
219 DEFINE_SPLIT_KERNEL_FUNCTION_LOCALS(next_iteration_setup,
uint)
220 DEFINE_SPLIT_KERNEL_FUNCTION(indirect_subsurface)
221 DEFINE_SPLIT_KERNEL_FUNCTION_LOCALS(buffer_update,
uint)
222 DEFINE_SPLIT_KERNEL_FUNCTION(adaptive_stopping)
223 DEFINE_SPLIT_KERNEL_FUNCTION(adaptive_filter_x)
224 DEFINE_SPLIT_KERNEL_FUNCTION(adaptive_filter_y)
225 DEFINE_SPLIT_KERNEL_FUNCTION(adaptive_adjust_samples)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei stride
#define KERNEL_FUNCTION_FULL_NAME(name)
DO_INLINE void filter(lfVector *V, fmatrix3x3 *S)
ccl_device_intersect bool scene_intersect(KernelGlobals *kg, const Ray *ray, const uint visibility, Intersection *isect)
ccl_device void kernel_background_evaluate(KernelGlobals *kg, ccl_global uint4 *input, ccl_global float4 *output, int i)
CCL_NAMESPACE_BEGIN ccl_device void kernel_displace_evaluate(KernelGlobals *kg, ccl_global uint4 *input, ccl_global float4 *output, int i)
#define CCL_NAMESPACE_END
void KERNEL_FUNCTION_FULL_NAME() convert_to_half_float(KernelGlobals *kg, uchar4 *rgba, float *buffer, float sample_scale, int x, int y, int offset, int stride)
void KERNEL_FUNCTION_FULL_NAME() convert_to_byte(KernelGlobals *kg, uchar4 *rgba, float *buffer, float sample_scale, int x, int y, int offset, int stride)
CCL_NAMESPACE_BEGIN void KERNEL_FUNCTION_FULL_NAME() path_trace(KernelGlobals *kg, float *buffer, int sample, int x, int y, int offset, int stride)
void KERNEL_FUNCTION_FULL_NAME() bake(KernelGlobals *kg, float *buffer, int sample, int x, int y, int offset, int stride)
void KERNEL_FUNCTION_FULL_NAME() shader(KernelGlobals *kg, uint4 *input, float4 *output, int type, int filter, int i, int offset, int sample)
ccl_device_noinline_cpu float3 indirect_background(KernelGlobals *kg, ShaderData *emission_sd, ccl_addr_space PathState *state, ccl_global float *buffer, ccl_addr_space Ray *ray)
ccl_device void kernel_film_convert_to_byte(KernelGlobals *kg, ccl_global uchar4 *rgba, ccl_global float *buffer, float sample_scale, int x, int y, int offset, int stride)
ccl_device void kernel_film_convert_to_half_float(KernelGlobals *kg, ccl_global uchar4 *rgba, ccl_global float *buffer, float sample_scale, int x, int y, int offset, int stride)
ccl_device void kernel_path_trace(KernelGlobals *kg, ccl_global float *buffer, int sample, int x, int y, int offset, int stride)
__kernel void ccl_constant KernelData ccl_global void ccl_global char ccl_global int ccl_global char ccl_global unsigned int ccl_global float * buffer
static void sample(SocketReader *reader, int x, int y, float color[4])
void path_init(const string &path, const string &user_path)