From 3669a3e2e95ca0dc63afec69e49a4b99cc2ab5c2 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 8 Mar 2021 13:59:16 +0100 Subject: [PATCH] Fix Cycles CUDA build error with Visual Studio 2019 v16.9 Something in this update broke the floor() function in CUDA, instead use floorf() like we do everywhere else in the kernel code. Thanks to Ray Molenkamp for identifying the solution. --- .../kernel/kernels/cuda/kernel_cuda_image.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/intern/cycles/kernel/kernels/cuda/kernel_cuda_image.h b/intern/cycles/kernel/kernels/cuda/kernel_cuda_image.h index 82ad9225fc3..132653fa7ca 100644 --- a/intern/cycles/kernel/kernels/cuda/kernel_cuda_image.h +++ b/intern/cycles/kernel/kernels/cuda/kernel_cuda_image.h @@ -68,8 +68,8 @@ ccl_device T kernel_tex_image_interp_bicubic(const TextureInfo &info, float x, f x = (x * info.width) - 0.5f; y = (y * info.height) - 0.5f; - float px = floor(x); - float py = floor(y); + float px = floorf(x); + float py = floorf(y); float fx = x - px; float fy = y - py; @@ -95,9 +95,9 @@ ccl_device T kernel_tex_image_interp_tricubic(const TextureInfo &info, float x, y = (y * info.height) - 0.5f; z = (z * info.depth) - 0.5f; - float px = floor(x); - float py = floor(y); - float pz = floor(z); + float px = floorf(x); + float py = floorf(y); + float pz = floorf(z); float fx = x - px; float fy = y - py; float fz = z - pz; @@ -127,9 +127,9 @@ ccl_device T kernel_tex_image_interp_tricubic(const TextureInfo &info, float x, template ccl_device T kernel_tex_image_interp_tricubic_nanovdb(S &s, float x, float y, float z) { - float px = floor(x); - float py = floor(y); - float pz = floor(z); + float px = floorf(x); + float py = floorf(y); + float pz = floorf(z); float fx = x - px; float fy = y - py; float fz = z - pz;