Fix more Cycles CUDA errors after recent changes.
This commit is contained in:
parent
b84fad2ba3
commit
2e25a48b05
|
@ -23,16 +23,16 @@ CCL_NAMESPACE_BEGIN
|
|||
|
||||
ccl_device float3 xyz_to_rgb(KernelGlobals *kg, float3 xyz)
|
||||
{
|
||||
return make_float3(dot(kernel_data.film.xyz_to_r, xyz),
|
||||
dot(kernel_data.film.xyz_to_g, xyz),
|
||||
dot(kernel_data.film.xyz_to_b, xyz));
|
||||
return make_float3(dot(float4_to_float3(kernel_data.film.xyz_to_r), xyz),
|
||||
dot(float4_to_float3(kernel_data.film.xyz_to_g), xyz),
|
||||
dot(float4_to_float3(kernel_data.film.xyz_to_b), xyz));
|
||||
}
|
||||
|
||||
ccl_device float linear_rgb_to_gray(KernelGlobals *kg, float3 c)
|
||||
{
|
||||
return dot(c, kernel_data.film.rgb_to_y);
|
||||
return dot(c, float4_to_float3(kernel_data.film.rgb_to_y));
|
||||
}
|
||||
|
||||
CCL_NAMESPACE_END
|
||||
|
||||
#endif /* __KERNEL_COLOR_H__ */
|
||||
#endif /* __KERNEL_COLOR_H__ */
|
||||
|
|
|
@ -1274,10 +1274,12 @@ typedef struct KernelFilm {
|
|||
|
||||
int pad1, pad2, pad3;
|
||||
|
||||
float3 xyz_to_r;
|
||||
float3 xyz_to_g;
|
||||
float3 xyz_to_b;
|
||||
float3 rgb_to_y;
|
||||
/* XYZ to rendering color space transform. float4 instead of float3 to
|
||||
* ensure consistent padding/alignment across devices. */
|
||||
float4 xyz_to_r;
|
||||
float4 xyz_to_g;
|
||||
float4 xyz_to_b;
|
||||
float4 rgb_to_y;
|
||||
|
||||
#ifdef __KERNEL_DEBUG__
|
||||
int pass_bvh_traversed_nodes;
|
||||
|
|
|
@ -561,10 +561,10 @@ void ShaderManager::device_update_common(Device *device,
|
|||
/* film */
|
||||
KernelFilm *kfilm = &dscene->data.film;
|
||||
/* color space, needs to be here because e.g. displacement shaders could depend on it */
|
||||
kfilm->xyz_to_r = xyz_to_r;
|
||||
kfilm->xyz_to_g = xyz_to_g;
|
||||
kfilm->xyz_to_b = xyz_to_b;
|
||||
kfilm->rgb_to_y = rgb_to_y;
|
||||
kfilm->xyz_to_r = float3_to_float4(xyz_to_r);
|
||||
kfilm->xyz_to_g = float3_to_float4(xyz_to_g);
|
||||
kfilm->xyz_to_b = float3_to_float4(xyz_to_b);
|
||||
kfilm->rgb_to_y = float3_to_float4(rgb_to_y);
|
||||
}
|
||||
|
||||
void ShaderManager::device_free_common(Device *, DeviceScene *dscene, Scene *scene)
|
||||
|
|
Loading…
Reference in New Issue