Re:Help the Graphics team track down an interesting WebRende...
by leeoniya on Tuesday February 18, 2020 @05:41PM
(#22361189)
> 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:
Re:Help the Graphics team track down an interesting WebRende...
by Const-me on Tuesday February 18, 2020 @06:17PM
(#22361457)
Vast 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.
Re:Help the Graphics team track down an interesting WebRende...
by MayeulC on Tuesday February 18, 2020 @05:23PM
(#22361039)
> 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-...
Re:Help the Graphics team track down an interesting WebRende...
by badsectoracula on Tuesday February 18, 2020 @06:16PM
(#22361449)
Note that Feral is comparing it with their macOS experience, not Windows (they do not develop for 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).