diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-11-22 17:15:19 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-11-22 17:15:19 +0400 |
commit | 47853bf6f6fa7ab4dc523fe255a8253b7ae9f914 (patch) | |
tree | 8c968c8577dc88681b121501f87851d9eca35dab /intern/cycles/kernel/kernel_types.h | |
parent | c71e31eb4f814c1ef561ac5467af3c16efa02a0d (diff) |
Cycles: OpenCL tweaks
* Reduce kernel arguments size, helps compile for apple nvidia.
* Fix use of unitialized variable in displace kernel.
* Use build flags in opencl kernel md5 hash.
* Reorganize code for kernel feature #defines a bit.
Diffstat (limited to 'intern/cycles/kernel/kernel_types.h')
-rw-r--r-- | intern/cycles/kernel/kernel_types.h | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 46cdcd1151e..d9bd645b16d 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -25,9 +25,30 @@ CCL_NAMESPACE_BEGIN -#define OBJECT_SIZE 16 -#define LIGHT_SIZE 4 +/* constants */ +#define OBJECT_SIZE 16 +#define LIGHT_SIZE 4 +#define FILTER_TABLE_SIZE 256 +/* device capabilities */ +#ifdef __KERNEL_CPU__ +#define __KERNEL_SHADING__ +#define __KERNEL_ADV_SHADING__ +#endif + +#ifdef __KERNEL_CUDA__ +#define __KERNEL_SHADING__ +#if __CUDA_ARCH__ >= 200 +#define __KERNEL_ADV_SHADING__ +#endif +#endif + +#ifdef __KERNEL_OPENCL__ +//#define __KERNEL_SHADING__ +//#define __KERNEL_ADV_SHADING__ +#endif + +/* kernel features */ #define __SOBOL__ #define __INSTANCING__ #define __DPDU__ @@ -39,27 +60,20 @@ CCL_NAMESPACE_BEGIN #define __CAMERA_CLIPPING__ #define __INTERSECTION_REFINE__ -#ifndef __KERNEL_OPENCL__ +#ifdef __KERNEL_SHADING__ #define __SVM__ #define __EMISSION__ #define __TEXTURES__ #define __HOLDOUT__ -//#define __MULTI_LIGHT__ #endif -#ifdef __KERNEL_CPU__ +#ifdef __KERNEL_ADV_SHADING__ #define __MULTI_CLOSURE__ #define __TRANSPARENT_SHADOWS__ -//#define __OSL__ -#endif - -#ifdef __KERNEL_CUDA__ -#if __CUDA_ARCH__ >= 200 -#define __MULTI_CLOSURE__ -#define __TRANSPARENT_SHADOWS__ -#endif #endif +//#define __MULTI_LIGHT__ +//#define __OSL__ //#define __SOBOL_FULL_SCREEN__ //#define __MODIFY_TP__ //#define __QBVH__ |