Cycles: Some more inline policy tweaks for CUDA 8
Makes it so toolkit does exactly the same decision about what to inline, but unfortunately it has really barely visible difference on GTX-980.
This commit is contained in:
@@ -149,7 +149,12 @@ ccl_device_noinline void shader_setup_from_ray(KernelGlobals *kg,
|
||||
/* ShaderData setup from BSSRDF scatter */
|
||||
|
||||
#ifdef __SUBSURFACE__
|
||||
ccl_device void shader_setup_from_subsurface(
|
||||
# ifndef __KERNEL_CUDS__
|
||||
ccl_device
|
||||
# else
|
||||
ccl_device_inline
|
||||
# endif
|
||||
void shader_setup_from_subsurface(
|
||||
KernelGlobals *kg,
|
||||
ShaderData *sd,
|
||||
const Intersection *isect,
|
||||
@@ -533,12 +538,18 @@ ccl_device_inline void _shader_bsdf_multi_eval_branched(KernelGlobals *kg,
|
||||
}
|
||||
#endif
|
||||
|
||||
ccl_device void shader_bsdf_eval(KernelGlobals *kg,
|
||||
ShaderData *sd,
|
||||
const float3 omega_in,
|
||||
BsdfEval *eval,
|
||||
float light_pdf,
|
||||
bool use_mis)
|
||||
|
||||
#ifndef __KERNEL_CUDS__
|
||||
ccl_device
|
||||
#else
|
||||
ccl_device_inline
|
||||
#endif
|
||||
void shader_bsdf_eval(KernelGlobals *kg,
|
||||
ShaderData *sd,
|
||||
const float3 omega_in,
|
||||
BsdfEval *eval,
|
||||
float light_pdf,
|
||||
bool use_mis)
|
||||
{
|
||||
bsdf_eval_init(eval, NBUILTIN_CLOSURES, make_float3(0.0f, 0.0f, 0.0f), kernel_data.film.use_light_pass);
|
||||
|
||||
|
Reference in New Issue
Block a user