@@ -116,18 +116,18 @@ anari::Object Array::makeANARIObject(anari::Device d) const
116116
117117 anari::Object retval = nullptr ;
118118
119+ const void *ptr = anari::isObject (elementType ()) ? nullptr : m_data;
119120 switch (type ()) {
120121 case ANARI_ARRAY1D:
121- retval =
122- anari::newArray1D (d, m_data, nullptr , nullptr , elementType (), dim (0 ));
122+ retval = anari::newArray1D (d, ptr, nullptr , nullptr , elementType (), dim (0 ));
123123 break ;
124124 case ANARI_ARRAY2D:
125125 retval = anari::newArray2D (
126- d, m_data , nullptr , nullptr , elementType (), dim (0 ), dim (1 ));
126+ d, ptr , nullptr , nullptr , elementType (), dim (0 ), dim (1 ));
127127 break ;
128128 case ANARI_ARRAY3D:
129129 retval = anari::newArray3D (
130- d, m_data , nullptr , nullptr , elementType (), dim (0 ), dim (1 ), dim (2 ));
130+ d, ptr , nullptr , nullptr , elementType (), dim (0 ), dim (1 ), dim (2 ));
131131 break ;
132132 default :
133133 break ;
@@ -180,8 +180,6 @@ Array::Array(anari::DataType arrayType,
180180{
181181 if (anari::isObject (type) && kind == MemoryKind::CUDA)
182182 throw std::runtime_error (" cannot create CUDA arrays of objects!" );
183- else if (anari::isObject (type))
184- return ;
185183
186184 if (isEmpty ()) {
187185 logWarning (" %s of %s elements created with 0 size" ,
0 commit comments