грубо говоря это и есть source, но просто так передать нельзя, надо обязательно через HEAP_UPLOAD?
На встроенных GPU, где можно мапить ресурсы в памяти default, на UMA, можно использовать WriteToSubresource, тогда копировать будет CPU прямо на месте. А на дискретных только на GPU командой, из буфера