Skip to content
  • Robert Maynard's avatar
    VTK-m now supports passing pointers when invoking worklets. · 64958b01
    Robert Maynard authored
    The original design of invoke and the transport infrastructure
    relied on the implementation behavior of vtkm::cont types
    such as ArrayHandle that used an internal shared_ptr to managed
    state. This allowed passing by value instead of passing by
    non-const ref when needing to transfer information to the device.
    
    As VTK-m adds support for classes that use virtuals the ability
    to pass by base pointer type allows for us to invoke worklets
    using a base type without the risk of type slicing.
    
    Additional by moving over to a non-const ref Invocation we
    can update all transports that have 'output' to now be
    by ref and therefore support types that can't be copied while
    being 'more' correct.
    64958b01