I have two 2D texture resources with the same dimension (500 X 500).
The first one with B32G32R32A32_Float format.
The second with B8G8R8A8_UNorm and is used Render Target.
I want to copy the first one to the second one with format conversion.
My underline aim is to render the first texture by
If you don't want to use the GPU, then you will have to readback the texture data on the CPU, do the format conversion, and update the contents of the destination texture. I think that D3DX11LoadTextureFromTexture can do this for you.
It's a render target, just render to it with a full-screen quad with a pixel shader that samples your source texture. I'm not sure why it fails when you try to create it with the UAV flag, it might be because you're creating it as a shared resource. If you create your device with the DeviceCreationFlags.Debug option then you'll get error and warning messages in the debug output stream. You'll need to enable native debugging or use a program like DebugView to see the messages.