Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/kernel_types.h
| Show First 20 Lines • Show All 55 Lines • ▼ Show 20 Lines | |||||
| #define SHADER_NONE (~0) | #define SHADER_NONE (~0) | ||||
| #define OBJECT_NONE (~0) | #define OBJECT_NONE (~0) | ||||
| #define PRIM_NONE (~0) | #define PRIM_NONE (~0) | ||||
| #define LAMP_NONE (~0) | #define LAMP_NONE (~0) | ||||
| #define ID_NONE (0.0f) | #define ID_NONE (0.0f) | ||||
| #define PASS_UNUSED (~0) | #define PASS_UNUSED (~0) | ||||
| #define VOLUME_STACK_SIZE 4 | |||||
| /* Kernel features */ | /* Kernel features */ | ||||
| #define __SOBOL__ | #define __SOBOL__ | ||||
| #define __DPDU__ | #define __DPDU__ | ||||
| #define __BACKGROUND__ | #define __BACKGROUND__ | ||||
| #define __CAUSTICS_TRICKS__ | #define __CAUSTICS_TRICKS__ | ||||
| #define __VISIBILITY_FLAG__ | #define __VISIBILITY_FLAG__ | ||||
| #define __RAY_DIFFERENTIALS__ | #define __RAY_DIFFERENTIALS__ | ||||
| #define __CAMERA_CLIPPING__ | #define __CAMERA_CLIPPING__ | ||||
| ▲ Show 20 Lines • Show All 529 Lines • ▼ Show 20 Lines | |||||
| /* Closure data */ | /* Closure data */ | ||||
| #ifndef __MAX_CLOSURE__ | #ifndef __MAX_CLOSURE__ | ||||
| # define MAX_CLOSURE 64 | # define MAX_CLOSURE 64 | ||||
| #else | #else | ||||
| # define MAX_CLOSURE __MAX_CLOSURE__ | # define MAX_CLOSURE __MAX_CLOSURE__ | ||||
| #endif | #endif | ||||
| #ifndef __MAX_VOLUME_STACK_SIZE__ | |||||
| # define MAX_VOLUME_STACK_SIZE 32 | |||||
| #else | |||||
| # define MAX_VOLUME_STACK_SIZE __MAX_VOLUME_STACK_SIZE__ | |||||
| #endif | |||||
| #define MAX_VOLUME_CLOSURE 8 | #define MAX_VOLUME_CLOSURE 8 | ||||
| /* This struct is the base class for all closures. The common members are | /* This struct is the base class for all closures. The common members are | ||||
| * duplicated in all derived classes since we don't have C++ in the kernel | * duplicated in all derived classes since we don't have C++ in the kernel | ||||
| * yet, and because it lets us lay out the members to minimize padding. The | * yet, and because it lets us lay out the members to minimize padding. The | ||||
| * weight member is located at the beginning of the struct for this reason. | * weight member is located at the beginning of the struct for this reason. | ||||
| * | * | ||||
| * ShaderClosure has a fixed size, and any extra space must be allocated | * ShaderClosure has a fixed size, and any extra space must be allocated | ||||
| ▲ Show 20 Lines • Show All 599 Lines • ▼ Show 20 Lines | typedef struct KernelBake { | ||||
| int pad1; | int pad1; | ||||
| } KernelBake; | } KernelBake; | ||||
| static_assert_align(KernelBake, 16); | static_assert_align(KernelBake, 16); | ||||
| typedef struct KernelData { | typedef struct KernelData { | ||||
| uint kernel_features; | uint kernel_features; | ||||
| uint max_closures; | uint max_closures; | ||||
| uint max_shaders; | uint max_shaders; | ||||
| uint pad; | uint volume_stack_size; | ||||
| KernelCamera cam; | KernelCamera cam; | ||||
| KernelFilm film; | KernelFilm film; | ||||
| KernelBackground background; | KernelBackground background; | ||||
| KernelIntegrator integrator; | KernelIntegrator integrator; | ||||
| KernelBVH bvh; | KernelBVH bvh; | ||||
| KernelTables tables; | KernelTables tables; | ||||
| KernelBake bake; | KernelBake bake; | ||||
| ▲ Show 20 Lines • Show All 312 Lines • Show Last 20 Lines | |||||