Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/svm/svm_voxel.h
| Show All 40 Lines | else { | ||||
| tfm.z = read_node_float(kg, offset); | tfm.z = read_node_float(kg, offset); | ||||
| tfm.w = read_node_float(kg, offset); | tfm.w = read_node_float(kg, offset); | ||||
| co = transform_point(&tfm, co); | co = transform_point(&tfm, co); | ||||
| } | } | ||||
| float4 r; | float4 r; | ||||
| # if defined(__KERNEL_CUDA__) | # if defined(__KERNEL_CUDA__) | ||||
| # if __CUDA_ARCH__ >= 300 | # if __CUDA_ARCH__ >= 300 | ||||
| CUtexObject tex = kernel_tex_fetch(__bindless_mapping, id); | CUtexObject tex = kernel_tex_fetch(__bindless_mapping, id); | ||||
| if(id < TEX_START_HALF4_CUDA_KEPLER) | if(kernel_tex_type(id) == IMAGE_DATA_TYPE_FLOAT4 || kernel_tex_type(id) == IMAGE_DATA_TYPE_BYTE4 || kernel_tex_type(id) == IMAGE_DATA_TYPE_HALF4) | ||||
| r = kernel_tex_image_interp_3d_float4(tex, co.x, co.y, co.z); | r = kernel_tex_image_interp_3d_float4(tex, co.x, co.y, co.z); | ||||
| else { | else { | ||||
| float f = kernel_tex_image_interp_3d_float(tex, co.x, co.y, co.z); | float f = kernel_tex_image_interp_3d_float(tex, co.x, co.y, co.z); | ||||
| r = make_float4(f, f, f, 1.0f); | r = make_float4(f, f, f, 1.0f); | ||||
| } | } | ||||
| # else /* __CUDA_ARCH__ >= 300 */ | # else /* __CUDA_ARCH__ >= 300 */ | ||||
| r = volume_image_texture_3d(id, co.x, co.y, co.z); | r = volume_image_texture_3d(id, co.x, co.y, co.z); | ||||
| # endif | # endif | ||||
| Show All 15 Lines | |||||