Fix for endiantest, xcode condition interferred with other os
[blender.git] / intern / cycles / kernel / kernel_types.h
index a64c850d35a6f0e11c59cfb40df016fa27e4d2ac..7eab2176fa6bff983c417e2e02a4acfb4c990eae 100644 (file)
@@ -33,12 +33,17 @@ CCL_NAMESPACE_BEGIN
 #define LIGHT_SIZE                     4
 #define FILTER_TABLE_SIZE      256
 #define RAMP_TABLE_SIZE                256
+#define PARTICLE_SIZE          1
 #define TIME_INVALID           FLT_MAX
 
 /* device capabilities */
 #ifdef __KERNEL_CPU__
 #define __KERNEL_SHADING__
 #define __KERNEL_ADV_SHADING__
+#ifdef WITH_OSL
+#define __OSL__
+#endif
+#define __NON_PROGRESSIVE__
 #endif
 
 #ifdef __KERNEL_CUDA__
@@ -56,12 +61,12 @@ CCL_NAMESPACE_BEGIN
 #endif
 
 #ifdef __KERNEL_OPENCL_APPLE__
-//#define __SVM__
-//#define __EMISSION__
-//#define __IMAGE_TEXTURES__
-//#define __HOLDOUT__
-//#define __PROCEDURAL_TEXTURES__
-//#define __EXTRA_NODES__
+#define __SVM__
+#define __EMISSION__
+#define __IMAGE_TEXTURES__
+#define __HOLDOUT__
+#define __PROCEDURAL_TEXTURES__
+#define __EXTRA_NODES__
 #endif
 
 #ifdef __KERNEL_OPENCL_AMD__
@@ -106,8 +111,6 @@ CCL_NAMESPACE_BEGIN
 //#define __MOTION__
 #endif
 
-//#define __MULTI_LIGHT__
-//#define __OSL__
 //#define __SOBOL_FULL_SCREEN__
 //#define __QBVH__
 
@@ -169,6 +172,8 @@ enum PathRayFlag {
 
        PATH_RAY_ALL = (1|2|4|8|16|32|64|128|256|512),
 
+       /* this gives collisions with localview bits
+        * see: CYCLES_LOCAL_LAYER_HACK(), grr - Campbell */
        PATH_RAY_LAYER_SHIFT = (32-20)
 };
 
@@ -283,7 +288,8 @@ typedef enum LightType {
        LIGHT_DISTANT,
        LIGHT_BACKGROUND,
        LIGHT_AREA,
-       LIGHT_AO
+       LIGHT_AO,
+       LIGHT_SPOT
 } LightType;
 
 /* Camera Type */
@@ -356,6 +362,7 @@ typedef enum AttributeStandard {
        ATTR_STD_POSITION_UNDISPLACED,
        ATTR_STD_MOTION_PRE,
        ATTR_STD_MOTION_POST,
+       ATTR_STD_PARTICLE,
        ATTR_STD_NUM,
 
        ATTR_STD_NOT_FOUND = ~0
@@ -622,6 +629,15 @@ typedef struct KernelIntegrator {
 
        /* clamp */
        float sample_clamp;
+
+       /* non-progressive */
+       int progressive;
+       int diffuse_samples;
+       int glossy_samples;
+       int transmission_samples;
+       int ao_samples;
+       int mesh_light_samples;
+       int pad1, pad2;
 } KernelIntegrator;
 
 typedef struct KernelBVH {