Enable transparent windows when using the D3D11 renderer
Note that this will not work with D3D12, as DXGI_SWAP_EFFECT_DISCARD is not available there.
This commit is contained in:
@@ -786,7 +786,12 @@ static HRESULT D3D11_CreateSwapChain(SDL_Renderer *renderer, int w, int h)
|
|||||||
swapChainDesc.Scaling = DXGI_SCALING_STRETCH;
|
swapChainDesc.Scaling = DXGI_SCALING_STRETCH;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (SDL_GetWindowFlags(renderer->window) & SDL_WINDOW_TRANSPARENT) {
|
||||||
|
swapChainDesc.Scaling = DXGI_SCALING_STRETCH;
|
||||||
|
swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
|
||||||
|
} else {
|
||||||
swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL; /* All Windows Store apps must use this SwapEffect. */
|
swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL; /* All Windows Store apps must use this SwapEffect. */
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
swapChainDesc.Flags = 0;
|
swapChainDesc.Flags = 0;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user