8a175f4ae2
Make the QT_D3D_NO_FLIP env.var. have an effect again. This env.var. has the following effects: - SwapEffect is set to DXGI_SWAP_EFFECT_DISCARD - Scaling is set to DXGI_SCALING_STRETCH (no other option with the blitting legacy model) - Alpha works without having to deal with DirectComposition, the dcomp code path is therefore skipped completely in legacy mode - Requesting a HDR mode behaves incorrectly (there's an unwanted conversion to SDR or something like that) - Different window resizing artifacts. Instead of the big black/white bars, that is typical with the modern, efficient flip swapchains in non-Qt applications as well, there is a bit of shimmering on the right side esp. when resizing on the left side. The option of using the legacy is model provided mainly for users where this is important. - Reduced performance due the using the old blitting model, although that probably won't be visible for many typical Qt applications on desktop PCs. Only for D3D11, because D3D12 does not support non-flip swapchains. Note: this is incompatible with QT_QPA_DISABLE_REDIRECTION_SURFACE. The reason to reintroduce this option is to provide a way, even if just as a developer-focused environment variable, to get a behavior that is identical to other frameworks and non-Qt applications that still use D3D11 with the legacy swapchain modes in their rendering engines. This applies first and foremost to window resizing, where the visual artifacts common with flip model swapchains may be misunderstood to be caused by Qt. Having a way to opt-in to the legacy model allows avoiding/clarifying Apples-to-Oranges comparisons. Pick-to: 6.6 6.5 Change-Id: I04e46f71a96fa56cace38703e0e9b93b43bfebc7 Reviewed-by: Christian Strømme <christian.stromme@qt.io> |
||
---|---|---|
.github/workflows | ||
bin | ||
cmake | ||
coin | ||
config.tests | ||
dist | ||
doc | ||
examples | ||
lib | ||
libexec | ||
LICENSES | ||
mkspecs | ||
qmake | ||
src | ||
tests | ||
util | ||
.cmake.conf | ||
.gitattributes | ||
.gitignore | ||
.lgtm.yml | ||
.tag | ||
CMakeLists.txt | ||
config_help.txt | ||
configure | ||
configure.bat | ||
configure.cmake | ||
dependencies.yaml | ||
qt_cmdline.cmake |