Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/svm/svm_types.h
| Show All 24 Lines | |||||
| #define SVM_STACK_SIZE 255 | #define SVM_STACK_SIZE 255 | ||||
| /* SVM stack offsets with this value indicate that it's not on the stack */ | /* SVM stack offsets with this value indicate that it's not on the stack */ | ||||
| #define SVM_STACK_INVALID 255 | #define SVM_STACK_INVALID 255 | ||||
| #define SVM_BUMP_EVAL_STATE_SIZE 9 | #define SVM_BUMP_EVAL_STATE_SIZE 9 | ||||
| /* Nodes */ | /* Nodes */ | ||||
| /* Known frequencies of used nodes, used for selective nodes compilation | |||||
| * in the kernel. Currently only affects split OpenCL kernel. | |||||
| * | |||||
| * Keep as defines so it's easy to check which nodes are to be compiled | |||||
| * from preprocessor. | |||||
| * | |||||
| * Lower the number of group more often the node is used. | |||||
| */ | |||||
| #define NODE_GROUP_LEVEL_0 0 | |||||
| #define NODE_GROUP_LEVEL_1 1 | |||||
| #define NODE_GROUP_LEVEL_2 2 | |||||
| #define NODE_GROUP_LEVEL_3 3 | |||||
| #define NODE_GROUP_LEVEL_4 4 | |||||
| #define NODE_GROUP_LEVEL_MAX NODE_GROUP_LEVEL_4 | |||||
| #define NODE_FEATURE_VOLUME (1 << 0) | |||||
| #define NODE_FEATURE_HAIR (1 << 1) | |||||
| #define NODE_FEATURE_BUMP (1 << 2) | |||||
| #define NODE_FEATURE_BUMP_STATE (1 << 3) | |||||
| #define NODE_FEATURE_VORONOI_EXTRA (1 << 4) | |||||
| /* TODO(sergey): Consider using something like ((uint)(-1)). | |||||
| * Need to check carefully operand types around usage of this | |||||
| * define first. | |||||
| */ | |||||
| #define NODE_FEATURE_ALL \ | |||||
| (NODE_FEATURE_VOLUME | NODE_FEATURE_HAIR | NODE_FEATURE_BUMP | NODE_FEATURE_BUMP_STATE | \ | |||||
| NODE_FEATURE_VORONOI_EXTRA) | |||||
| #define NODES_GROUP(group) ((group) <= __NODES_MAX_GROUP__) | |||||
| #define NODES_FEATURE(feature) ((__NODES_FEATURES__ & (feature)) != 0) | |||||
| typedef enum ShaderNodeType { | typedef enum ShaderNodeType { | ||||
| NODE_END = 0, | NODE_END = 0, | ||||
| NODE_SHADER_JUMP, | NODE_SHADER_JUMP, | ||||
| NODE_CLOSURE_BSDF, | NODE_CLOSURE_BSDF, | ||||
| NODE_CLOSURE_EMISSION, | NODE_CLOSURE_EMISSION, | ||||
| NODE_CLOSURE_BACKGROUND, | NODE_CLOSURE_BACKGROUND, | ||||
| NODE_CLOSURE_SET_WEIGHT, | NODE_CLOSURE_SET_WEIGHT, | ||||
| NODE_CLOSURE_WEIGHT, | NODE_CLOSURE_WEIGHT, | ||||
| ▲ Show 20 Lines • Show All 495 Lines • ▼ Show 20 Lines | typedef enum ClosureType { | ||||
| CLOSURE_BSDF_HAIR_TRANSMISSION_ID, | CLOSURE_BSDF_HAIR_TRANSMISSION_ID, | ||||
| /* Special cases */ | /* Special cases */ | ||||
| CLOSURE_BSDF_BSSRDF_ID, | CLOSURE_BSDF_BSSRDF_ID, | ||||
| CLOSURE_BSDF_BSSRDF_PRINCIPLED_ID, | CLOSURE_BSDF_BSSRDF_PRINCIPLED_ID, | ||||
| CLOSURE_BSDF_TRANSPARENT_ID, | CLOSURE_BSDF_TRANSPARENT_ID, | ||||
| /* BSSRDF */ | /* BSSRDF */ | ||||
| CLOSURE_BSSRDF_CUBIC_ID, | |||||
| CLOSURE_BSSRDF_GAUSSIAN_ID, | |||||
| CLOSURE_BSSRDF_PRINCIPLED_ID, | |||||
| CLOSURE_BSSRDF_BURLEY_ID, | |||||
| CLOSURE_BSSRDF_RANDOM_WALK_ID, | CLOSURE_BSSRDF_RANDOM_WALK_ID, | ||||
| CLOSURE_BSSRDF_PRINCIPLED_RANDOM_WALK_ID, | CLOSURE_BSSRDF_RANDOM_WALK_FIXED_RADIUS_ID, | ||||
| /* Other */ | /* Other */ | ||||
| CLOSURE_HOLDOUT_ID, | CLOSURE_HOLDOUT_ID, | ||||
| /* Volume */ | /* Volume */ | ||||
| CLOSURE_VOLUME_ID, | CLOSURE_VOLUME_ID, | ||||
| CLOSURE_VOLUME_ABSORPTION_ID, | CLOSURE_VOLUME_ABSORPTION_ID, | ||||
| CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID, | CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID, | ||||
| Show All 26 Lines | #define CLOSURE_IS_BSDF_MICROFACET(type) \ | ||||
| (type >= CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID && \ | (type >= CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID && \ | ||||
| type <= CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID) || \ | type <= CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID) || \ | ||||
| (type == CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_FRESNEL_ID)) | (type == CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_FRESNEL_ID)) | ||||
| #define CLOSURE_IS_BSDF_MICROFACET_FRESNEL(type) \ | #define CLOSURE_IS_BSDF_MICROFACET_FRESNEL(type) \ | ||||
| (type == CLOSURE_BSDF_MICROFACET_MULTI_GGX_FRESNEL_ID || \ | (type == CLOSURE_BSDF_MICROFACET_MULTI_GGX_FRESNEL_ID || \ | ||||
| type == CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_FRESNEL_ID || \ | type == CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_FRESNEL_ID || \ | ||||
| type == CLOSURE_BSDF_MICROFACET_GGX_FRESNEL_ID || \ | type == CLOSURE_BSDF_MICROFACET_GGX_FRESNEL_ID || \ | ||||
| type == CLOSURE_BSDF_MICROFACET_GGX_CLEARCOAT_ID) | type == CLOSURE_BSDF_MICROFACET_GGX_CLEARCOAT_ID) | ||||
| #define CLOSURE_IS_BSDF_OR_BSSRDF(type) (type <= CLOSURE_BSSRDF_PRINCIPLED_RANDOM_WALK_ID) | #define CLOSURE_IS_BSDF_OR_BSSRDF(type) (type <= CLOSURE_BSSRDF_RANDOM_WALK_FIXED_RADIUS_ID) | ||||
| #define CLOSURE_IS_BSSRDF(type) \ | #define CLOSURE_IS_BSSRDF(type) \ | ||||
| (type >= CLOSURE_BSSRDF_CUBIC_ID && type <= CLOSURE_BSSRDF_PRINCIPLED_RANDOM_WALK_ID) | (type >= CLOSURE_BSSRDF_RANDOM_WALK_ID && type <= CLOSURE_BSSRDF_RANDOM_WALK_FIXED_RADIUS_ID) | ||||
| #define CLOSURE_IS_DISK_BSSRDF(type) \ | |||||
| (type >= CLOSURE_BSSRDF_CUBIC_ID && type <= CLOSURE_BSSRDF_BURLEY_ID) | |||||
| #define CLOSURE_IS_VOLUME(type) \ | #define CLOSURE_IS_VOLUME(type) \ | ||||
| (type >= CLOSURE_VOLUME_ID && type <= CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID) | (type >= CLOSURE_VOLUME_ID && type <= CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID) | ||||
| #define CLOSURE_IS_VOLUME_SCATTER(type) (type == CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID) | #define CLOSURE_IS_VOLUME_SCATTER(type) (type == CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID) | ||||
| #define CLOSURE_IS_VOLUME_ABSORPTION(type) (type == CLOSURE_VOLUME_ABSORPTION_ID) | #define CLOSURE_IS_VOLUME_ABSORPTION(type) (type == CLOSURE_VOLUME_ABSORPTION_ID) | ||||
| #define CLOSURE_IS_HOLDOUT(type) (type == CLOSURE_HOLDOUT_ID) | #define CLOSURE_IS_HOLDOUT(type) (type == CLOSURE_HOLDOUT_ID) | ||||
| #define CLOSURE_IS_PHASE(type) (type == CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID) | #define CLOSURE_IS_PHASE(type) (type == CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID) | ||||
| #define CLOSURE_IS_GLASS(type) \ | #define CLOSURE_IS_GLASS(type) \ | ||||
| (type >= CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID && type <= CLOSURE_BSDF_SHARP_GLASS_ID) | (type >= CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID && type <= CLOSURE_BSDF_SHARP_GLASS_ID) | ||||
| #define CLOSURE_IS_PRINCIPLED(type) (type == CLOSURE_BSDF_PRINCIPLED_ID) | #define CLOSURE_IS_PRINCIPLED(type) (type == CLOSURE_BSDF_PRINCIPLED_ID) | ||||
| #define CLOSURE_WEIGHT_CUTOFF 1e-5f | #define CLOSURE_WEIGHT_CUTOFF 1e-5f | ||||
| CCL_NAMESPACE_END | CCL_NAMESPACE_END | ||||
| #endif /* __SVM_TYPES_H__ */ | #endif /* __SVM_TYPES_H__ */ | ||||