diff options
Diffstat (limited to 'intern/cycles/kernel/device/metal/context_begin.h')
-rw-r--r-- | intern/cycles/kernel/device/metal/context_begin.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/intern/cycles/kernel/device/metal/context_begin.h b/intern/cycles/kernel/device/metal/context_begin.h index 4c9d6b6e405..99cb1e3826e 100644 --- a/intern/cycles/kernel/device/metal/context_begin.h +++ b/intern/cycles/kernel/device/metal/context_begin.h @@ -19,17 +19,18 @@ class MetalKernelContext { {} /* texture fetch adapter functions */ - typedef uint64_t ccl_gpu_tex_object; + typedef uint64_t ccl_gpu_tex_object_2D; + typedef uint64_t ccl_gpu_tex_object_3D; template<typename T> inline __attribute__((__always_inline__)) - T ccl_gpu_tex_object_read_2D(ccl_gpu_tex_object tex, float x, float y) const { + T ccl_gpu_tex_object_read_2D(ccl_gpu_tex_object_2D tex, float x, float y) const { kernel_assert(0); return 0; } template<typename T> inline __attribute__((__always_inline__)) - T ccl_gpu_tex_object_read_3D(ccl_gpu_tex_object tex, float x, float y, float z) const { + T ccl_gpu_tex_object_read_3D(ccl_gpu_tex_object_3D tex, float x, float y, float z) const { kernel_assert(0); return 0; } @@ -37,14 +38,14 @@ class MetalKernelContext { // texture2d template<> inline __attribute__((__always_inline__)) - float4 ccl_gpu_tex_object_read_2D(ccl_gpu_tex_object tex, float x, float y) const { + float4 ccl_gpu_tex_object_read_2D(ccl_gpu_tex_object_2D tex, float x, float y) const { const uint tid(tex); const uint sid(tex >> 32); return metal_ancillaries->textures_2d[tid].tex.sample(metal_samplers[sid], float2(x, y)); } template<> inline __attribute__((__always_inline__)) - float ccl_gpu_tex_object_read_2D(ccl_gpu_tex_object tex, float x, float y) const { + float ccl_gpu_tex_object_read_2D(ccl_gpu_tex_object_2D tex, float x, float y) const { const uint tid(tex); const uint sid(tex >> 32); return metal_ancillaries->textures_2d[tid].tex.sample(metal_samplers[sid], float2(x, y)).x; @@ -53,14 +54,14 @@ class MetalKernelContext { // texture3d template<> inline __attribute__((__always_inline__)) - float4 ccl_gpu_tex_object_read_3D(ccl_gpu_tex_object tex, float x, float y, float z) const { + float4 ccl_gpu_tex_object_read_3D(ccl_gpu_tex_object_3D tex, float x, float y, float z) const { const uint tid(tex); const uint sid(tex >> 32); return metal_ancillaries->textures_3d[tid].tex.sample(metal_samplers[sid], float3(x, y, z)); } template<> inline __attribute__((__always_inline__)) - float ccl_gpu_tex_object_read_3D(ccl_gpu_tex_object tex, float x, float y, float z) const { + float ccl_gpu_tex_object_read_3D(ccl_gpu_tex_object_3D tex, float x, float y, float z) const { const uint tid(tex); const uint sid(tex >> 32); return metal_ancillaries->textures_3d[tid].tex.sample(metal_samplers[sid], float3(x, y, z)).x; |