diff --git a/intern/cycles/kernel/kernel.cl b/intern/cycles/kernel/kernel.cl index 19e394936ee..cbc0592fe1f 100644 --- a/intern/cycles/kernel/kernel.cl +++ b/intern/cycles/kernel/kernel.cl @@ -102,8 +102,19 @@ __kernel void kernel_ocl_bake( int x = sx + get_global_id(0); - if(x < sx + sw) + if(x < sx + sw) { +#if defined(__KERNEL_OPENCL_NVIDIA__) && __COMPUTE_CAPABILITY__ < 300 + /* NVidia compiler is spending infinite amount of time trying + * to deal with kernel_bake_evaluate() on architectures prior + * to sm_30. + * For now we disable baking kernel for those devices, so at + * least rendering with split kernel could be compiled. + */ + output[x] = make_float4(0.0f, 0.0f, 0.0f, 0.0f); +#else kernel_bake_evaluate(kg, input, output, (ShaderEvalType)type, x, offset, sample); +#endif + } } __kernel void kernel_ocl_convert_to_byte(