Blender  V3.3
Macros | Functions
kernel_arch_impl.h File Reference
#include "kernel/device/cpu/compat.h"
#include "kernel/device/cpu/globals.h"
#include "kernel/device/cpu/image.h"
#include "kernel/integrator/state.h"
#include "kernel/integrator/state_flow.h"
#include "kernel/integrator/state_util.h"
#include "kernel/integrator/init_from_camera.h"
#include "kernel/integrator/init_from_bake.h"
#include "kernel/integrator/intersect_closest.h"
#include "kernel/integrator/intersect_shadow.h"
#include "kernel/integrator/intersect_subsurface.h"
#include "kernel/integrator/intersect_volume_stack.h"
#include "kernel/integrator/shade_background.h"
#include "kernel/integrator/shade_light.h"
#include "kernel/integrator/shade_shadow.h"
#include "kernel/integrator/shade_surface.h"
#include "kernel/integrator/shade_volume.h"
#include "kernel/integrator/megakernel.h"
#include "kernel/film/adaptive_sampling.h"
#include "kernel/film/id_passes.h"
#include "kernel/film/read.h"
#include "kernel/bake/bake.h"

Go to the source code of this file.

Macros

#define KERNEL_INVOKE(name, ...)   integrator_##name(__VA_ARGS__)
 
#define DEFINE_INTEGRATOR_INIT_KERNEL(name)
 
#define DEFINE_INTEGRATOR_KERNEL(name)
 
#define DEFINE_INTEGRATOR_SHADE_KERNEL(name)
 
#define DEFINE_INTEGRATOR_SHADOW_KERNEL(name)
 
#define DEFINE_INTEGRATOR_SHADOW_SHADE_KERNEL(name)
 
#define KERNEL_FILM_CONVERT_FUNCTION(name, is_float)
 

Functions

void KERNEL_FUNCTION_FULL_NAME() shader_eval_displace (const KernelGlobalsCPU *kg, const KernelShaderEvalInput *input, float *output, const int offset)
 
void KERNEL_FUNCTION_FULL_NAME() shader_eval_background (const KernelGlobalsCPU *kg, const KernelShaderEvalInput *input, float *output, const int offset)
 
void KERNEL_FUNCTION_FULL_NAME() shader_eval_curve_shadow_transparency (const KernelGlobalsCPU *kg, const KernelShaderEvalInput *input, float *output, const int offset)
 
bool KERNEL_FUNCTION_FULL_NAME() adaptive_sampling_convergence_check (const KernelGlobalsCPU *kg, ccl_global float *render_buffer, int x, int y, float threshold, bool reset, int offset, int stride)
 
void KERNEL_FUNCTION_FULL_NAME() adaptive_sampling_filter_x (const KernelGlobalsCPU *kg, ccl_global float *render_buffer, int y, int start_x, int width, int offset, int stride)
 
void KERNEL_FUNCTION_FULL_NAME() adaptive_sampling_filter_y (const KernelGlobalsCPU *kg, ccl_global float *render_buffer, int x, int start_y, int height, int offset, int stride)
 
void KERNEL_FUNCTION_FULL_NAME() cryptomatte_postprocess (const KernelGlobalsCPU *kg, ccl_global float *render_buffer, int pixel_index)
 

Macro Definition Documentation

◆ DEFINE_INTEGRATOR_INIT_KERNEL

#define DEFINE_INTEGRATOR_INIT_KERNEL (   name)
Value:
bool KERNEL_FUNCTION_FULL_NAME(integrator_##name)(const KernelGlobalsCPU *kg, \
IntegratorStateCPU *state, \
KernelWorkTile *tile, \
ccl_global float *render_buffer) \
{ \
return KERNEL_INVOKE( \
}
#define KERNEL_FUNCTION_FULL_NAME(name)
ccl_gpu_kernel_postfix ccl_global KernelWorkTile const int ccl_global float * render_buffer
ccl_global const KernelWorkTile * tile
const int state
#define KERNEL_INVOKE(name,...)

Definition at line 62 of file kernel_arch_impl.h.

◆ DEFINE_INTEGRATOR_KERNEL

#define DEFINE_INTEGRATOR_KERNEL (   name)
Value:
void KERNEL_FUNCTION_FULL_NAME(integrator_##name)(const KernelGlobalsCPU *kg, \
IntegratorStateCPU *state) \
{ \
KERNEL_INVOKE(name, kg, state); \
}

Definition at line 72 of file kernel_arch_impl.h.

◆ DEFINE_INTEGRATOR_SHADE_KERNEL

#define DEFINE_INTEGRATOR_SHADE_KERNEL (   name)
Value:
void KERNEL_FUNCTION_FULL_NAME(integrator_##name)( \
{ \
KERNEL_INVOKE(name, kg, state, render_buffer); \
}
#define ccl_global
Definition: cuda/compat.h:43

Definition at line 79 of file kernel_arch_impl.h.

◆ DEFINE_INTEGRATOR_SHADOW_KERNEL

#define DEFINE_INTEGRATOR_SHADOW_KERNEL (   name)
Value:
void KERNEL_FUNCTION_FULL_NAME(integrator_##name)(const KernelGlobalsCPU *kg, \
IntegratorStateCPU *state) \
{ \
KERNEL_INVOKE(name, kg, &state->shadow); \
}

Definition at line 86 of file kernel_arch_impl.h.

◆ DEFINE_INTEGRATOR_SHADOW_SHADE_KERNEL

#define DEFINE_INTEGRATOR_SHADOW_SHADE_KERNEL (   name)
Value:
void KERNEL_FUNCTION_FULL_NAME(integrator_##name)( \
{ \
KERNEL_INVOKE(name, kg, &state->shadow, render_buffer); \
}

Definition at line 93 of file kernel_arch_impl.h.

◆ KERNEL_FILM_CONVERT_FUNCTION

#define KERNEL_FILM_CONVERT_FUNCTION (   name,
  is_float 
)
Value:
void KERNEL_FUNCTION_FULL_NAME(film_convert_##name)(const KernelFilmConvert *kfilm_convert, \
const float *buffer, \
float *pixel, \
const int width, \
const int buffer_stride, \
const int pixel_stride) \
{ \
for (int i = 0; i < width; i++, buffer += buffer_stride, pixel += pixel_stride) { \
film_get_pass_pixel_##name(kfilm_convert, buffer, pixel); \
} \
} \
void KERNEL_FUNCTION_FULL_NAME(film_convert_half_rgba_##name)( \
const KernelFilmConvert *kfilm_convert, \
const float *buffer, \
half4 *pixel, \
const int width, \
const int buffer_stride) \
{ \
for (int i = 0; i < width; i++, buffer += buffer_stride, pixel++) { \
float pixel_rgba[4] = {0.0f, 0.0f, 0.0f, 1.0f}; \
film_get_pass_pixel_##name(kfilm_convert, buffer, pixel_rgba); \
if (is_float) { \
pixel_rgba[1] = pixel_rgba[0]; \
pixel_rgba[2] = pixel_rgba[0]; \
} \
film_apply_pass_pixel_overlays_rgba(kfilm_convert, buffer, pixel_rgba); \
make_float4(pixel_rgba[0], pixel_rgba[1], pixel_rgba[2], pixel_rgba[3])); \
} \
}
_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 width
ccl_device_inline half4 float4_to_half4_display(const float4 f)
Definition: half.h:155
ccl_global float * buffer
#define make_float4(x, y, z, w)
Definition: metal/compat.h:205

Definition at line 250 of file kernel_arch_impl.h.

◆ KERNEL_INVOKE

#define KERNEL_INVOKE (   name,
  ... 
)    integrator_##name(__VA_ARGS__)

Definition at line 57 of file kernel_arch_impl.h.

Function Documentation

◆ adaptive_sampling_convergence_check()

bool KERNEL_FUNCTION_FULL_NAME() adaptive_sampling_convergence_check ( const KernelGlobalsCPU kg,
ccl_global float render_buffer,
int  x,
int  y,
float  threshold,
bool  reset,
int  offset,
int  stride 
)

◆ adaptive_sampling_filter_x()

void KERNEL_FUNCTION_FULL_NAME() adaptive_sampling_filter_x ( const KernelGlobalsCPU kg,
ccl_global float render_buffer,
int  y,
int  start_x,
int  width,
int  offset,
int  stride 
)

◆ adaptive_sampling_filter_y()

void KERNEL_FUNCTION_FULL_NAME() adaptive_sampling_filter_y ( const KernelGlobalsCPU kg,
ccl_global float render_buffer,
int  x,
int  start_y,
int  height,
int  offset,
int  stride 
)

◆ cryptomatte_postprocess()

void KERNEL_FUNCTION_FULL_NAME() cryptomatte_postprocess ( const KernelGlobalsCPU kg,
ccl_global float render_buffer,
int  pixel_index 
)

◆ shader_eval_background()

void KERNEL_FUNCTION_FULL_NAME() shader_eval_background ( const KernelGlobalsCPU kg,
const KernelShaderEvalInput input,
float output,
const int  offset 
)

◆ shader_eval_curve_shadow_transparency()

void KERNEL_FUNCTION_FULL_NAME() shader_eval_curve_shadow_transparency ( const KernelGlobalsCPU kg,
const KernelShaderEvalInput input,
float output,
const int  offset 
)

◆ shader_eval_displace()

void KERNEL_FUNCTION_FULL_NAME() shader_eval_displace ( const KernelGlobalsCPU kg,
const KernelShaderEvalInput input,
float output,
const int  offset 
)