Added SDL_GetTextureDXGIResource() to get the DXGI resource associated with a render texture.

Also switched the D3D11 and D3D12 renderers to use real NV12 textures for NV12 data.

The combination of these two changes allows us to implement 0-copy video decode and playback for D3D11 in testffmpeg without any access to the renderer internals.
This commit is contained in:
Sam Lantinga 2023-10-10 00:04:45 -07:00
parent a842446f62
commit 2bd478ae65
10 changed files with 336 additions and 265 deletions

View file

@ -212,6 +212,8 @@ struct SDL_Renderer
void *(*GetMetalLayer)(SDL_Renderer *renderer);
void *(*GetMetalCommandEncoder)(SDL_Renderer *renderer);
IDXGIResource *(*GetTextureDXGIResource)(SDL_Texture *texture);
/* The current renderer info */
SDL_RendererInfo info;