diff options
author | Hristo Gueorguiev <> | 2016-10-23 00:38:42 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2016-10-23 00:49:29 +0300 |
commit | 8905c5c87495ad8fd876de83a968d79ac54f0e17 (patch) | |
tree | 81d626a6e472c138578fd3994b89c3ccd62ae47e /intern/cycles/kernel/svm/svm_voxel.h | |
parent | 371d3570e0a5fd04c2181a286034841919eabd34 (diff) |
Cycles: OpenCL 3d textures support.
Note that volume rendering is not supported yet, this is a step towards that.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D2299
Diffstat (limited to 'intern/cycles/kernel/svm/svm_voxel.h')
-rw-r--r-- | intern/cycles/kernel/svm/svm_voxel.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/intern/cycles/kernel/svm/svm_voxel.h b/intern/cycles/kernel/svm/svm_voxel.h index f54f4e8e888..a8b3604a8a7 100644 --- a/intern/cycles/kernel/svm/svm_voxel.h +++ b/intern/cycles/kernel/svm/svm_voxel.h @@ -43,7 +43,7 @@ ccl_device void svm_node_tex_voxel(KernelGlobals *kg, co = transform_point(&tfm, co); } float4 r; -# if defined(__KERNEL_GPU__) +# if defined(__KERNEL_CUDA__) # if __CUDA_ARCH__ >= 300 CUtexObject tex = kernel_tex_fetch(__bindless_mapping, id); if(id < 2048) /* TODO(dingto): Make this a variable */ @@ -55,9 +55,11 @@ ccl_device void svm_node_tex_voxel(KernelGlobals *kg, # else /* __CUDA_ARCH__ >= 300 */ r = volume_image_texture_3d(id, co.x, co.y, co.z); # endif -# else /* __KERNEL_GPU__ */ +# elif defined(__KERNEL_OPENCL__) + r = kernel_tex_image_interp_3d(kg, id, co.x, co.y, co.z); +# else r = kernel_tex_image_interp_3d(id, co.x, co.y, co.z); -# endif +# endif /* __KERNEL_CUDA__ */ #else float4 r = make_float4(0.0f, 0.0f, 0.0f, 0.0f); #endif |