File tree Expand file tree Collapse file tree 1 file changed +15
-4
lines changed Expand file tree Collapse file tree 1 file changed +15
-4
lines changed Original file line number Diff line number Diff line change @@ -112,19 +112,30 @@ int main(int argc, char **argv) {
112
112
// we don't test anything here.
113
113
// This gets some minimal test coverage for code paths in Halide::Runtime::Buffer.
114
114
bool can_rewrap = false ;
115
+ uintptr_t native_handle = 0 ;
116
+
115
117
#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
+ }
117
122
#endif
118
123
#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
+ }
120
128
#endif
121
129
#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
+ }
123
134
#endif
124
135
125
136
if (can_rewrap) {
126
137
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 );
128
139
wrap_test.set_device_dirty ();
129
140
wrap_test.copy_to_host ();
130
141
output.copy_to_host ();
You can’t perform that action at this time.
0 commit comments