diff options
author | Thomas Dinges <blender@dingto.org> | 2013-06-27 20:16:54 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2013-06-27 20:16:54 +0400 |
commit | 4a113cab0aa4cae3b2a0a59cc5057852c5b5437d (patch) | |
tree | 3d32154e9e8df2b9251a7d2f71594cf931a89c4b /intern/cycles/kernel | |
parent | 63f1e253c360dcb550bc4b492ccdf0bebf3afa22 (diff) | |
parent | c15b13f78f359728a2b458126a907ff1a1b80365 (diff) |
Merged revision(s) 57768-57827 from trunk/blender into soc-2013-dingto
Diffstat (limited to 'intern/cycles/kernel')
-rw-r--r-- | intern/cycles/kernel/closure/bsdf_diffuse_ramp.h | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/closure/bsdf_phong_ramp.h | 4 | ||||
-rw-r--r-- | intern/cycles/kernel/kernel_compat_opencl.h | 1 | ||||
-rw-r--r-- | intern/cycles/kernel/kernel_sse2.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/kernel_sse3.cpp | 1 | ||||
-rw-r--r-- | intern/cycles/kernel/shaders/CMakeLists.txt | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/shaders/SConscript | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/shaders/node_brick_texture.osl | 4 | ||||
-rw-r--r-- | intern/cycles/kernel/svm/svm_brick.h | 4 |
9 files changed, 15 insertions, 7 deletions
diff --git a/intern/cycles/kernel/closure/bsdf_diffuse_ramp.h b/intern/cycles/kernel/closure/bsdf_diffuse_ramp.h index 579145bdd80..2e43e16693f 100644 --- a/intern/cycles/kernel/closure/bsdf_diffuse_ramp.h +++ b/intern/cycles/kernel/closure/bsdf_diffuse_ramp.h @@ -41,6 +41,8 @@ __device float3 bsdf_diffuse_ramp_get_color(const ShaderClosure *sc, const float float npos = pos * (float)(MAXCOLORS - 1); int ipos = float_to_int(npos); + if (ipos < 0) + return colors[0]; if (ipos >= (MAXCOLORS - 1)) return colors[MAXCOLORS - 1]; float offset = npos - (float)ipos; diff --git a/intern/cycles/kernel/closure/bsdf_phong_ramp.h b/intern/cycles/kernel/closure/bsdf_phong_ramp.h index b51d41486c7..1e332933287 100644 --- a/intern/cycles/kernel/closure/bsdf_phong_ramp.h +++ b/intern/cycles/kernel/closure/bsdf_phong_ramp.h @@ -41,6 +41,8 @@ __device float3 bsdf_phong_ramp_get_color(const ShaderClosure *sc, const float3 float npos = pos * (float)(MAXCOLORS - 1); int ipos = float_to_int(npos); + if (ipos < 0) + return colors[0]; if (ipos >= (MAXCOLORS - 1)) return colors[MAXCOLORS - 1]; float offset = npos - (float)ipos; @@ -49,6 +51,8 @@ __device float3 bsdf_phong_ramp_get_color(const ShaderClosure *sc, const float3 __device int bsdf_phong_ramp_setup(ShaderClosure *sc) { + sc->data0 = max(sc->data0, 0.0f); + sc->type = CLOSURE_BSDF_PHONG_RAMP_ID; return SD_BSDF | SD_BSDF_HAS_EVAL | SD_BSDF_GLOSSY; } diff --git a/intern/cycles/kernel/kernel_compat_opencl.h b/intern/cycles/kernel/kernel_compat_opencl.h index 2bf3b58ce99..c4cb7a516c2 100644 --- a/intern/cycles/kernel/kernel_compat_opencl.h +++ b/intern/cycles/kernel/kernel_compat_opencl.h @@ -108,7 +108,6 @@ /* data lookup defines */ #define kernel_data (*kg->data) -#define kernel_tex_lookup(t, x, offset, size) kernel_tex_lookup_(kg->t, offset, size, x) #define kernel_tex_fetch(t, index) kg->t[index] /* define NULL */ diff --git a/intern/cycles/kernel/kernel_sse2.cpp b/intern/cycles/kernel/kernel_sse2.cpp index b58e41f954f..cfadb02b93b 100644 --- a/intern/cycles/kernel/kernel_sse2.cpp +++ b/intern/cycles/kernel/kernel_sse2.cpp @@ -22,6 +22,8 @@ #ifdef WITH_OPTIMIZED_KERNEL +#define __KERNEL_SSE2__ + #include "kernel.h" #include "kernel_compat_cpu.h" #include "kernel_math.h" diff --git a/intern/cycles/kernel/kernel_sse3.cpp b/intern/cycles/kernel/kernel_sse3.cpp index ff6bb412d5b..de4c979b82e 100644 --- a/intern/cycles/kernel/kernel_sse3.cpp +++ b/intern/cycles/kernel/kernel_sse3.cpp @@ -22,6 +22,7 @@ #ifdef WITH_OPTIMIZED_KERNEL +#define __KERNEL_SSE2__ #define __KERNEL_SSE3__ #define __KERNEL_SSSE3__ diff --git a/intern/cycles/kernel/shaders/CMakeLists.txt b/intern/cycles/kernel/shaders/CMakeLists.txt index db20dd43ca7..df1b6ee442d 100644 --- a/intern/cycles/kernel/shaders/CMakeLists.txt +++ b/intern/cycles/kernel/shaders/CMakeLists.txt @@ -93,7 +93,7 @@ foreach(_file ${SRC_OSL}) string(REPLACE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} _OSO_FILE ${_OSO_FILE}) add_custom_command( OUTPUT ${_OSO_FILE} - COMMAND ${OSL_COMPILER} -O2 -I"${CMAKE_CURRENT_SOURCE_DIR}" ${_OSL_FILE} + COMMAND ${OSL_COMPILER} -q -O2 -I"${CMAKE_CURRENT_SOURCE_DIR}" ${_OSL_FILE} DEPENDS ${_OSL_FILE} ${SRC_OSL_HEADERS}) list(APPEND SRC_OSO ${_OSO_FILE} diff --git a/intern/cycles/kernel/shaders/SConscript b/intern/cycles/kernel/shaders/SConscript index daf2b67ad2b..aad6e23e4d4 100644 --- a/intern/cycles/kernel/shaders/SConscript +++ b/intern/cycles/kernel/shaders/SConscript @@ -57,7 +57,7 @@ if env['WITH_BF_CYCLES_OSL']: osl_file = os.path.join(source_dir, f) oso_file = os.path.join(build_dir, f.replace('.osl', '.oso')) - command = "%s -O2 -I%s -o %s %s" % (osl_compiler, source_dir, oso_file, osl_file) + command = "%s -q -O2 -I%s -o %s %s" % (osl_compiler, source_dir, oso_file, osl_file) shaders.Command(oso_file, f, command) shaders.Depends(oso_file, [f] + dependencies) diff --git a/intern/cycles/kernel/shaders/node_brick_texture.osl b/intern/cycles/kernel/shaders/node_brick_texture.osl index 509b4f2883b..aa9742fb277 100644 --- a/intern/cycles/kernel/shaders/node_brick_texture.osl +++ b/intern/cycles/kernel/shaders/node_brick_texture.osl @@ -41,8 +41,8 @@ float brick(point p, float mortar_size, float bias, rownum = (int)floor(p[1] / row_height); if (offset_frequency && squash_frequency) { - brick_width *= ((int)(rownum) % squash_frequency) ? 1.0 : squash_amount; /* squash */ - offset = ((int)(rownum) % offset_frequency) ? 0 : (brick_width * offset_amount); /* offset */ + brick_width *= (rownum % squash_frequency) ? 1.0 : squash_amount; /* squash */ + offset = (rownum % offset_frequency) ? 0.0 : (brick_width * offset_amount); /* offset */ } bricknum = (int)floor((p[0] + offset) / brick_width); diff --git a/intern/cycles/kernel/svm/svm_brick.h b/intern/cycles/kernel/svm/svm_brick.h index 43dc1a2f295..c44a4740cca 100644 --- a/intern/cycles/kernel/svm/svm_brick.h +++ b/intern/cycles/kernel/svm/svm_brick.h @@ -41,8 +41,8 @@ __device_noinline float2 svm_brick(float3 p, float scale, float mortar_size, flo rownum = floor_to_int(p.y / row_height); if(offset_frequency && squash_frequency) { - brick_width *= ((int)(rownum) % squash_frequency ) ? 1.0f : squash_amount; /* squash */ - offset = ((int)(rownum) % offset_frequency ) ? 0 : (brick_width*offset_amount); /* offset */ + brick_width *= (rownum % squash_frequency) ? 1.0f : squash_amount; /* squash */ + offset = (rownum % offset_frequency) ? 0.0f : (brick_width*offset_amount); /* offset */ } bricknum = floor_to_int((p.x+offset) / brick_width); |