diff options
Diffstat (limited to 'intern/cycles/kernel/kernel.cpp')
-rw-r--r-- | intern/cycles/kernel/kernel.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/intern/cycles/kernel/kernel.cpp b/intern/cycles/kernel/kernel.cpp index a93f6172d28..667db1e5f03 100644 --- a/intern/cycles/kernel/kernel.cpp +++ b/intern/cycles/kernel/kernel.cpp @@ -84,6 +84,25 @@ void kernel_tex_copy(KernelGlobals *kg, const char *name, device_ptr mem, size_t #define KERNEL_IMAGE_TEX(type, ttype, tname) #include "kernel_textures.h" + else if(strstr(name, "__tex_image_float")) { + texture_image_float4 *tex = NULL; + int id = atoi(name + strlen("__tex_image_float_")); + + switch(id) { + case 95: tex = &kg->__tex_image_float_095; break; + case 96: tex = &kg->__tex_image_float_096; break; + case 97: tex = &kg->__tex_image_float_097; break; + case 98: tex = &kg->__tex_image_float_098; break; + case 99: tex = &kg->__tex_image_float_099; break; + default: break; + } + + if(tex) { + tex->data = (float4*)mem; + tex->width = width; + tex->height = height; + } + } else if(strstr(name, "__tex_image")) { texture_image_uchar4 *tex = NULL; int id = atoi(name + strlen("__tex_image_")); @@ -184,11 +203,6 @@ void kernel_tex_copy(KernelGlobals *kg, const char *name, device_ptr mem, size_t case 92: tex = &kg->__tex_image_092; break; case 93: tex = &kg->__tex_image_093; break; case 94: tex = &kg->__tex_image_094; break; - case 95: tex = &kg->__tex_image_095; break; - case 96: tex = &kg->__tex_image_096; break; - case 97: tex = &kg->__tex_image_097; break; - case 98: tex = &kg->__tex_image_098; break; - case 99: tex = &kg->__tex_image_099; break; default: break; } |