diff --git a/intern/cycles/kernel/osl/osl_services.cpp b/intern/cycles/kernel/osl/osl_services.cpp index b767c60c617..1535496c73d 100644 --- a/intern/cycles/kernel/osl/osl_services.cpp +++ b/intern/cycles/kernel/osl/osl_services.cpp @@ -824,7 +824,7 @@ bool OSLRenderServices::get_background_attribute(KernelGlobals *kg, ShaderData * bool OSLRenderServices::get_attribute(OSL::ShaderGlobals *sg, bool derivatives, ustring object_name, TypeDesc type, ustring name, void *val) { - if(sg->renderstate == NULL) + if(sg == NULL || sg->renderstate == NULL) return false; ShaderData *sd = (ShaderData *)(sg->renderstate); diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h index 9578fcf2687..7704aa545c8 100644 --- a/intern/cycles/kernel/svm/svm_closure.h +++ b/intern/cycles/kernel/svm/svm_closure.h @@ -159,7 +159,7 @@ ccl_device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float * /* diffuse */ if(fabsf(average(mixed_ss_base_color)) > CLOSURE_WEIGHT_CUTOFF) { - if(subsurface < CLOSURE_WEIGHT_CUTOFF && diffuse_weight > CLOSURE_WEIGHT_CUTOFF) { + if(subsurface <= CLOSURE_WEIGHT_CUTOFF && diffuse_weight > CLOSURE_WEIGHT_CUTOFF) { float3 diff_weight = weight * base_color * diffuse_weight; PrincipledDiffuseBsdf *bsdf = (PrincipledDiffuseBsdf*)bsdf_alloc(sd, sizeof(PrincipledDiffuseBsdf), diff_weight); diff --git a/source/blender/editors/transform/transform_snap_object.c b/source/blender/editors/transform/transform_snap_object.c index 2c5052039d2..8378812c4b0 100644 --- a/source/blender/editors/transform/transform_snap_object.c +++ b/source/blender/editors/transform/transform_snap_object.c @@ -262,8 +262,7 @@ MINLINE float depth_get(const float co[3], const float ray_start[3], const float return dot_v3v3(dvec, ray_dir); } - -static float dist_aabb_to_plane( +static float UNUSED_FUNCTION(dist_aabb_to_plane)( const float bbmin[3], const float bbmax[3], const float plane_co[3], const float plane_no[3]) { @@ -1654,7 +1653,7 @@ static bool snapDerivedMesh( /* read/write args */ float *ray_depth, float *dist_px, /* return args */ - float r_loc[3], float r_no[3], int *r_index) + float r_loc[3], float r_no[3]) { bool retval = false; @@ -1819,7 +1818,7 @@ static bool snapEditMesh( /* read/write args */ float *ray_depth, float *dist_px, /* return args */ - float r_loc[3], float r_no[3], int *r_index) + float r_loc[3], float r_no[3]) { bool retval = false; @@ -1978,7 +1977,7 @@ static bool snapObject( /* read/write args */ float *ray_depth, float *dist_px, /* return args */ - float r_loc[3], float r_no[3], int *r_index, + float r_loc[3], float r_no[3], Object **r_ob, float r_obmat[4][4]) { bool retval = false; @@ -1991,7 +1990,7 @@ static bool snapObject( retval = snapEditMesh( sctx, snapdata, ob, em, obmat, ray_depth, dist_px, - r_loc, r_no, r_index); + r_loc, r_no); } else { /* in this case we want the mesh from the editmesh, avoids stale data. see: T45978. @@ -2007,7 +2006,7 @@ static bool snapObject( retval = snapDerivedMesh( sctx, snapdata, ob, dm, obmat, ray_depth, dist_px, - r_loc, r_no, r_index); + r_loc, r_no); dm->release(dm); } @@ -2087,7 +2086,7 @@ static bool snapObjectsRay( /* read/write args */ float *ray_depth, float *dist_px, /* return args */ - float r_loc[3], float r_no[3], int *r_index, + float r_loc[3], float r_no[3], Object **r_ob, float r_obmat[4][4]) { bool retval = false; @@ -2099,7 +2098,7 @@ static bool snapObjectsRay( retval |= snapObject( sctx, snapdata, sobj->ob, sobj->obmat, sobj->use_obedit, ray_depth, dist_px, - r_loc, r_no, r_index, r_ob, r_obmat); + r_loc, r_no, r_ob, r_obmat); } BLI_freelistN(&obj_list); @@ -2435,7 +2434,7 @@ bool ED_transform_snap_object_project_view3d_ex( return snapObjectsRay( sctx, &snapdata, params->snap_select, params->use_object_edit_cage, - ray_depth, dist_px, r_loc, r_no, r_index, NULL, NULL); + ray_depth, dist_px, r_loc, r_no, NULL, NULL); } }