From 9325b9bf1539bcc440be03c3c360e0b7dd9dc3e7 Mon Sep 17 00:00:00 2001 From: Mai Lavelle Date: Tue, 21 Nov 2017 00:38:02 -0500 Subject: [PATCH] Fix T53365: OpenCL has wrong shading of brick texture Looks like some weird compiler difference with signed vs unsigned ints. --- intern/cycles/kernel/shaders/node_brick_texture.osl | 4 ++-- intern/cycles/kernel/svm/svm_brick.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/intern/cycles/kernel/shaders/node_brick_texture.osl b/intern/cycles/kernel/shaders/node_brick_texture.osl index c303594681c..eaa5bfc776f 100644 --- a/intern/cycles/kernel/shaders/node_brick_texture.osl +++ b/intern/cycles/kernel/shaders/node_brick_texture.osl @@ -19,9 +19,9 @@ /* Brick */ -float brick_noise(int n) /* fast integer noise */ +float brick_noise(uint n) /* fast integer noise */ { - int nn; + uint nn; n = (n + 1013) & 2147483647; n = (n >> 13) ^ n; nn = (n * (n * n * 60493 + 19990303) + 1376312589) & 2147483647; diff --git a/intern/cycles/kernel/svm/svm_brick.h b/intern/cycles/kernel/svm/svm_brick.h index 14245cf0522..90fa2a99b67 100644 --- a/intern/cycles/kernel/svm/svm_brick.h +++ b/intern/cycles/kernel/svm/svm_brick.h @@ -18,9 +18,9 @@ CCL_NAMESPACE_BEGIN /* Brick */ -ccl_device_noinline float brick_noise(int n) /* fast integer noise */ +ccl_device_noinline float brick_noise(uint n) /* fast integer noise */ { - int nn; + uint nn; n = (n + 1013) & 0x7fffffff; n = (n >> 13) ^ n; nn = (n * (n * n * 60493 + 19990303) + 1376312589) & 0x7fffffff;