Cycles: Disable bake OpenCL kernel for NVidia devices prior to sm_30
Driver fails to compile kernel in reasonable time for those devices here, so for easier testing of the OpenCL split kernel work disabling bake kernel for now.
This commit is contained in:
@@ -102,8 +102,19 @@ __kernel void kernel_ocl_bake(
|
|||||||
|
|
||||||
int x = sx + get_global_id(0);
|
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);
|
kernel_bake_evaluate(kg, input, output, (ShaderEvalType)type, x, offset, sample);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
__kernel void kernel_ocl_convert_to_byte(
|
__kernel void kernel_ocl_convert_to_byte(
|
||||||
|
Reference in New Issue
Block a user