Join GitHub today
[win32] Update rendering system to DirectX11. #6987
This is work to porting Kodi rendering system to DirectX 11. Here is testing thread on the forum http://forum.kodi.tv/showthread.php?tid=218274
New features (compared to dx9 version):
To properly work video API (dxva rendering and decoding) on Windows Vista/7 this requires:
need to find a way to trigger user to get that installed.
PS. This breaks bisect windows builds.
You could for example git reset all your commits (so you have them as pending changes) and then pick some added files with a nice commit message and then commit maybe removed files together and at the end when only modified files are left - git commit -p relevant chunks of them (if possible). Just an idea on how to do it. Looks like you should try to reduce the number of commits before it can be reviewed properly.
I've reviewed this and found what this broke existing screensavers/visualizations on other platforms. I've also found a few bugs. So I suggest to move to the new branch (or update this) because it contains all new fixes/improvements/cosmetics. This branch has become too difficult for support and fix. Yes I know what dx11_new break bisect, but only for windows builds.
It's time we get started on reviewing this properly so let's start with some ground rules
My initial thoughts
I've spent the day going through all kodi code, haven't touched the visualizations yet and I find it very solid. The design seems sound and well encapsulated, it touches very little or no shared code and the separations are clean. I will spend some more time over the week going back over it as it's fairly big.
@FernetMenta I hope you have some time and or energy to review as well as you probably know the architecture of this code the best
isues so far
I though initially I'd put these as line comments but my browser doesn't agree with that so I'll stick it here instead
DXVA.cpp#1077 According to msdn no extensions are defined for DX11 so we probably shouldn't set this to a value for previous dx versions https://msdn.microsoft.com/en-us/library/windows/desktop/hh447645(v=vs.85).aspx
WinRender.cpp#1033 leaks memory if the error condition is true.
There's a few missing virtual destructors that may leads to memory leaks, mainly in RenderCapture.cpp