4 ms·
It’s not that bad, at least on Windows. > contain complete compilers that munge your code with a focus on speed over correctness If you’re a developer, the ri
by Const-me 7y ago
It’s not that bad, at least on Windows.
> contain complete compilers that munge your code with a focus on speed over correctness
If you’re a developer, the right tools are available. Set D3D11_CREATE_DEVICE_DEBUG when creating the device, also run debug builds of your HLSL shaders. You’ll get huge amount of error checking and diagnostics this way, including very detailed and specific messages about incorrect API use.
> GPU-focused debuggers are incredibly buggy and feature-poor
I indeed found and reported bugs in GPUs and their drivers (mostly Intel GPUs), but it only was a few times over my career. The majority of times they were bugs in my code, not in GPU drivers, and renderdoc.org helped a lot fixing them.
I generally agree GPU debugging is harder than CPU debugging, but I don’t see how open source driver gonna help. It’s an unfortunate combination of execution model (many thousands hardware threads running your code in parallel), external piece of hardware completely separate and asynchronous from the CPU, and very limited ways to interact or even output data (you can’t printf messages, nor allocate dynamic memory, from GPU code).
- MayeulC 7y ago> It’s not that bad, at least on Windows. Funny you say that. I've seen many developers praising the open source stack under Linux, as you can step right into the driver and fix it yourself, instead of landing in symbols land. Feral Interactive mentioned it there, for instance: https://www.gamingonlinux.com/articles/interview-with-feral-interactive-about-their-ports-and-mesa-drivers-steam-keys-offered-for-mesa-developers.9356 https://www.gamingonlinux.com/articles/interview-with-feral-...
- badsectoracula 7y agoNote that Feral is comparing it with their macOS experience, not Windows (they do not develop for Windows).
- ahartmetz 7y agoThey do not develop on Windows, but presumably they also build and trace on Windows to debug ports. Source: I have worked on multiplatform desktop software.
- leeoniya 7y ago> The majority of times they were bugs in my code, not in GPU drivers the Servo/WebRender folks maintain such a list of driver bugs with workarounds, you may find useful: https://github.com/servo/webrender/wiki/Driver-issues https://github.com/servo/webrender/wiki/Driver-issues
- Const-me 7y agoVast majority of them aren't for Windows. The majority of their Windows bugs aren't GPU driver bugs, they are bugs of compatibility layers like Angle and SPIRV-Cross. IMO when using native stack i.e. D3D11 or 12 and HLSL, the quality of GPU drivers is usually OK on modern Windows.