diff options
| author | Laszlo Agocs <laszlo.agocs@qt.io> | 2022-04-25 10:41:21 +0200 |
|---|---|---|
| committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2022-04-26 19:46:21 +0200 |
| commit | 464418f5dee3965c3bfddb7303f68d3714c6a832 (patch) | |
| tree | 0abe8d6fe26c196bf0c3874b73c2a5f7119a4b1e /src/tools/uic/cpp/cppwriteinitialization.cpp | |
| parent | b78f3f497416d2b5069e41c23e38fd873392223d (diff) | |
rhi: d3d11: fail early with a broken device
Broken meaning not being functional with shader model 5.
This can happen with certain virtual machines where there is an
accelerated DXGI adapter which then only supports a feature level
lower than 11_0, and so SM 5.0 shaders do not work. Similarly, GPUs
from 2009 and earlier may have a similar driver setup.
We do not particularly care about such devices, however we should make
sure it can be recognized early on (i.e. in create()) that something is
not right and fail the entire QRhi initialization. Otherwise no error
will occur until attempting to create the first shader via a
QRhiGraphicsPipeline and that's way too late.
This way clients such as Qt Quick can make an effort to retry with some
other settings, most notably the PreferSoftwareRenderer flag, in order
to pick the sw rasterizer based adapter (WARP).
Task-number: QTBUG-78648
Change-Id: Ia4a3a0bc1a09e2864d426d4d55978dc6f759127c
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/tools/uic/cpp/cppwriteinitialization.cpp')
0 files changed, 0 insertions, 0 deletions
