copy_async Function (Concurrency::graphics Namespace)

Asynchronously copies a source texture into or destination buffer, or copies a source buffer into a destination buffer and then returns a future<void> object that can be waited on. You can't copy data when running code on an accelerator. The general form of this function is copy(src, dest).

template<
   typename _Value_type,
   int _Rank
>
std::shared_future<void> copy_async(
   const texture<_Value_type, _Rank>& _Src,
   _Out_ void * _Dst,
   unsigned int _Dst_byte_size);

template <
   typename _Value_type,
   int _Rank>
std::shared_future<void> copy_async(
   const void * _Src,
   unsigned int _Src_byte_size,
   texture<_Value_type, _Rank>& _Dst);

template <
   typename _Value_type,
   int _Rank>
std::shared_future<void> copy_async(
   const void * _Src,
   unsigned int _Src_byte_size,
   writeonly_texture_view<_Value_type, _Rank>& _Dst);

Parameters

  • _Value_type
    The data type of the elements that are copied.

  • _Rank
    The rank of the object to copy from or the object to copy to.

  • _Src
    To object to copy.

  • _Src_byte_size
    The number of bytes in the source buffer.

  • _Dst
    The object to copy to.

  • _Dst_byte_size
    The number of bytes in the destination buffer.

Remarks

The copy operation always performs a deep copy.

If the extents of the source and destination objects do not match, a runtime_exception is thrown.

Requirements

Header: amp_graphics.h

Namespace: Concurrency::graphics

See Also

Reference

Concurrency::graphics Namespace