diff options
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/device/hip/device_impl.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/intern/cycles/device/hip/device_impl.cpp b/intern/cycles/device/hip/device_impl.cpp index 950fcaf1816..353a933e788 100644 --- a/intern/cycles/device/hip/device_impl.cpp +++ b/intern/cycles/device/hip/device_impl.cpp @@ -980,16 +980,16 @@ void HIPDevice::tex_alloc(device_texture &mem) << string_human_readable_number(mem.memory_size()) << " bytes. (" << string_human_readable_size(mem.memory_size()) << ")"; - hip_assert(hipArray3DCreate(&array_3d, &desc)); + hip_assert(hipArray3DCreate((hArray*)&array_3d, &desc)); if (!array_3d) { return; } HIP_MEMCPY3D param; - memset(¶m, 0, sizeof(param)); + memset(¶m, 0, sizeof(HIP_MEMCPY3D)); param.dstMemoryType = hipMemoryTypeArray; - param.dstArray = &array_3d; + param.dstArray = array_3d; param.srcMemoryType = hipMemoryTypeHost; param.srcHost = mem.host_pointer; param.srcPitch = src_pitch; @@ -1055,12 +1055,13 @@ void HIPDevice::tex_alloc(device_texture &mem) if (mem.info.data_type != IMAGE_DATA_TYPE_NANOVDB_FLOAT && mem.info.data_type != IMAGE_DATA_TYPE_NANOVDB_FLOAT3) { + /* Bindless textures. */ hipResourceDesc resDesc; memset(&resDesc, 0, sizeof(resDesc)); if (array_3d) { resDesc.resType = hipResourceTypeArray; - resDesc.res.array.h_Array = &array_3d; + resDesc.res.array.h_Array = array_3d; resDesc.flags = 0; } else if (mem.data_height > 0) { |