First, there is no explicit way to use DMA on a PC. The driver can use it or use something else.
In any case, step 3 will “change the texture data on the graphics card”. In OpenGL, the PBO extension (Pixel Buffer Object) or the nice old glTexSubImage * function. In D3D9, this is LockRect on a texture or in other ways (for example, LockRect on a scratch texture, and then blit into the GPU texture). Any of them can potentially use DMA, but you cannot be sure.
Then the data is in the texture. You can render it to the screen with some shaders (for example, by making YCbCr conversion), or render it to other textures (s) to make more complex processing effects (for example, blur / glow / ...).
Direct3D , " wast" . OpenGL , - , - , ( ).