Skip to content

Commit 6ab196c

Browse files
author
Z Stern
committed
Fix GPU object lifetime test to work with new OpenCL and Metal device
representations.
1 parent 82df753 commit 6ab196c

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

test/generator/gpu_object_lifetime_aottest.cpp

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,19 +112,30 @@ int main(int argc, char **argv) {
112112
// we don't test anything here.
113113
// This gets some minimal test coverage for code paths in Halide::Runtime::Buffer.
114114
bool can_rewrap = false;
115+
uintptr_t native_handle = 0;
116+
115117
#if defined(TEST_CUDA)
116-
can_rewrap = can_rewrap || (output.raw_buffer()->device_interface == halide_cuda_device_interface());
118+
if (output.raw_buffer()->device_interface == halide_cuda_device_interface()) {
119+
native_handle = output.raw_buffer()->device;
120+
can_rewrap = true;
121+
}
117122
#endif
118123
#if defined(TEST_OPENCL)
119-
can_rewrap = can_rewrap || (output.raw_buffer()->device_interface == halide_opencl_device_interface());
124+
if (output.raw_buffer()->device_interface == halide_opencl_device_interface()) {
125+
native_handle = halide_opencl_get_cl_mem(nullptr, output.raw_buffer());
126+
can_rewrap = true;
127+
}
120128
#endif
121129
#if defined(TEST_METAL)
122-
can_rewrap = can_rewrap || (output.raw_buffer()->device_interface == halide_metal_device_interface());
130+
if (output.raw_buffer()->device_interface == halide_metal_device_interface()) {
131+
native_handle = halide_metal_get_buffer(nullptr, output.raw_buffer());
132+
can_rewrap = true;
133+
}
123134
#endif
124135

125136
if (can_rewrap) {
126137
Buffer<int> wrap_test(80);
127-
wrap_test.device_wrap_native(output.raw_buffer()->device_interface, output.raw_buffer()->device);
138+
wrap_test.device_wrap_native(output.raw_buffer()->device_interface, native_handle);
128139
wrap_test.set_device_dirty();
129140
wrap_test.copy_to_host();
130141
output.copy_to_host();

0 commit comments

Comments
 (0)