Hi. We have troubles to send D3D surfaces directly to NVENC. NVENC supports NV12. But it is not regular task to get NV12 in GPU. I assume currently with D3D API you can only load NV12 from system memory or maybe get it from some hardware decoder. We have D3D application and it can finally render to ARGB surface with NV12 content. I tried to supply ARGB surfaces to encoder, it can register and map these surfaces but reports unknown format. Then I send mapped resource to encoder and set explicitly NV12 input type. But encoding result is black. Seems encoder can not handle these textures because when I supply empty NV12 surfaces - encoding result is green.
What was your original idea - how to supply D3D rendering result to NVENC? Being unable to supply D3D rendering to NVENC at least in some single possible format looks like a big lack in implementation.