-
-
Notifications
You must be signed in to change notification settings - Fork 84
Description
Some of the 3D copy parameters: cuda::memory::copy_parameters_t<3> structure's set_endpoint() methods on those parameters check whether the volume or area is 0 - in which case they (re)set its value to the endpoint dimensions. This is problematic behavior,, because those volumne fields may be uninitialized; and this conditional "generosity" makes the function's behavior dependent on uninitialized data. It is, perhaps, better to not set this at all, and require explicit setting via a separate call; or, alternatively, to always set this, so that if a smaller extent is desired, it must be set after the endpoint has been (re)set.
... perhaps we should have versions of the set_endpoint() (and set_source(), set_destination()) functions with and without dimensions - and have the latter force the extent and pitch, and the former not touch it.