diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-07-21 22:58:19 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-07-21 22:58:19 +0300 |
commit | f2c54df625d65c40f6070294a5f66de3f2d18c10 (patch) | |
tree | 1f5b12ba40e6e9b563d84c9df5ebe47b24ead20e /intern/cycles/kernel/kernels | |
parent | dc3563ff4801907ec8cd21a1589f0cb56d021a8f (diff) |
Cycles: Expose image image extension mapping to the image manager
Currently only two mappings are supported by API, which is Repeat (old behavior)
and new Clip behavior. Internally this extension is being converted to periodic
flag which was already supported but wasn't exposed.
There's no support for OpenCL yet because of the way how we pack images into a
single texture.
Those settings are not exposed to UI or anywhere else and there should be no
functional changes so far.
Diffstat (limited to 'intern/cycles/kernel/kernels')
-rw-r--r-- | intern/cycles/kernel/kernels/cpu/kernel.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/intern/cycles/kernel/kernels/cpu/kernel.cpp b/intern/cycles/kernel/kernels/cpu/kernel.cpp index 37a73ab2f04..2dbd9e62ee7 100644 --- a/intern/cycles/kernel/kernels/cpu/kernel.cpp +++ b/intern/cycles/kernel/kernels/cpu/kernel.cpp @@ -38,7 +38,14 @@ void kernel_const_copy(KernelGlobals *kg, const char *name, void *host, size_t s assert(0); } -void kernel_tex_copy(KernelGlobals *kg, const char *name, device_ptr mem, size_t width, size_t height, size_t depth, InterpolationType interpolation) +void kernel_tex_copy(KernelGlobals *kg, + const char *name, + device_ptr mem, + size_t width, + size_t height, + size_t depth, + InterpolationType interpolation, + bool periodic) { if(0) { } @@ -64,6 +71,7 @@ void kernel_tex_copy(KernelGlobals *kg, const char *name, device_ptr mem, size_t tex->data = (float4*)mem; tex->dimensions_set(width, height, depth); tex->interpolation = interpolation; + tex->periodic = periodic; } } else if(strstr(name, "__tex_image")) { @@ -79,6 +87,7 @@ void kernel_tex_copy(KernelGlobals *kg, const char *name, device_ptr mem, size_t tex->data = (uchar4*)mem; tex->dimensions_set(width, height, depth); tex->interpolation = interpolation; + tex->periodic = periodic; } } else |