Blender  V2.93
kernel_cpu.h
Go to the documentation of this file.
1 /*
2  * Copyright 2011-2013 Blender Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /* Templated common declaration part of all CPU kernels. */
18 
20  KernelGlobals *kg, float *buffer, int sample, int x, int y, int offset, int stride);
21 
22 void KERNEL_FUNCTION_FULL_NAME(convert_to_byte)(KernelGlobals *kg,
23  uchar4 *rgba,
24  float *buffer,
25  float sample_scale,
26  int x,
27  int y,
28  int offset,
29  int stride);
30 
32  uchar4 *rgba,
33  float *buffer,
34  float sample_scale,
35  int x,
36  int y,
37  int offset,
38  int stride);
39 
40 void KERNEL_FUNCTION_FULL_NAME(shader)(KernelGlobals *kg,
41  uint4 *input,
42  float4 *output,
43  int type,
44  int filter,
45  int i,
46  int offset,
47  int sample);
48 
50  KernelGlobals *kg, float *buffer, int sample, int x, int y, int offset, int stride);
51 
52 /* Split kernels */
53 
54 void KERNEL_FUNCTION_FULL_NAME(data_init)(KernelGlobals *kg,
57  int num_elements,
58  ccl_global char *ray_state,
59  int start_sample,
60  int end_sample,
61  int sx,
62  int sy,
63  int sw,
64  int sh,
65  int offset,
66  int stride,
67  ccl_global int *Queue_index,
68  int queuesize,
70  ccl_global unsigned int *work_pool_wgs,
71  unsigned int num_samples,
72  ccl_global float *buffer);
73 
74 #define DECLARE_SPLIT_KERNEL_FUNCTION(name) \
75  void KERNEL_FUNCTION_FULL_NAME(name)(KernelGlobals * kg, KernelData * data);
76 
79 DECLARE_SPLIT_KERNEL_FUNCTION(lamp_emission)
81 DECLARE_SPLIT_KERNEL_FUNCTION(queue_enqueue)
86 DECLARE_SPLIT_KERNEL_FUNCTION(holdout_emission_blurring_pathtermination_ao)
87 DECLARE_SPLIT_KERNEL_FUNCTION(subsurface_scatter)
88 DECLARE_SPLIT_KERNEL_FUNCTION(direct_lighting)
89 DECLARE_SPLIT_KERNEL_FUNCTION(shadow_blocked_ao)
90 DECLARE_SPLIT_KERNEL_FUNCTION(shadow_blocked_dl)
91 DECLARE_SPLIT_KERNEL_FUNCTION(enqueue_inactive)
92 DECLARE_SPLIT_KERNEL_FUNCTION(next_iteration_setup)
93 DECLARE_SPLIT_KERNEL_FUNCTION(indirect_subsurface)
94 DECLARE_SPLIT_KERNEL_FUNCTION(buffer_update)
95 DECLARE_SPLIT_KERNEL_FUNCTION(adaptive_stopping)
96 DECLARE_SPLIT_KERNEL_FUNCTION(adaptive_filter_x)
97 DECLARE_SPLIT_KERNEL_FUNCTION(adaptive_filter_y)
98 DECLARE_SPLIT_KERNEL_FUNCTION(adaptive_adjust_samples)
99 
100 #undef KERNEL_ARCH
_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 output
#define KERNEL_FUNCTION_FULL_NAME(name)
Definition: filter.h:30
DO_INLINE void filter(lfVector *V, fmatrix3x3 *S)
ccl_device_intersect bool scene_intersect(KernelGlobals *kg, const Ray *ray, const uint visibility, Intersection *isect)
#define ccl_constant
#define ccl_global
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() path_trace(KernelGlobals *kg, float *buffer, int sample, 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)
void KERNEL_FUNCTION_FULL_NAME() data_init(KernelGlobals *kg, ccl_constant KernelData *data, ccl_global void *split_data_buffer, int num_elements, ccl_global char *ray_state, int start_sample, int end_sample, int sx, int sy, int sw, int sh, int offset, int stride, ccl_global int *Queue_index, int queuesize, ccl_global char *use_queues_flag, ccl_global unsigned int *work_pool_wgs, unsigned int num_samples, ccl_global float *buffer)
#define DECLARE_SPLIT_KERNEL_FUNCTION(name)
Definition: kernel_cpu.h:74
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)
__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
__kernel void ccl_constant KernelData ccl_global void ccl_global char ccl_global int ccl_global char * use_queues_flag
__kernel void ccl_constant KernelData ccl_global void * split_data_buffer
__kernel void ccl_constant KernelData ccl_global void ccl_global char * ray_state
static void sample(SocketReader *reader, int x, int y, float color[4])
void path_init(const string &path, const string &user_path)
Definition: util_path.cpp:338