46bd6cd051
This is apparently not suitable: the MTLDevice's registryID is stable across processes and allows identifying a device (GPU), but the value may apparently change when the system is rebooted. We see this both in the CI's M1s and also locally. There may also be differences between Intel or discreet graphics vs. Apple Silicon based machines but that we won't be able to investigate further. Inspired by MoltenVK, stop using the registryID as our "device id", and instead store the OS version in the cache header. Combined with the device name this should be good enough. To generate a device/vendor ID, that we give up for now, those will be 0 in the QRhiDriverInfo like they are for OpenGL. This should prevent the "Metal device ID does not match" warnings that tend to pop up in CI logs and elsewhere. (it also improves performance, obviously since there is no reason we could not reuse the disk cache on the same machine where nothing really has changed, and now we will not incorrectly throw away the previously written cache contents) Change-Id: Ib457f6671aceb51f5a9d241702b418aafc888e51 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Andy Nichols <andy.nichols@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 | ||
conanfile.py | ||
config_help.txt | ||
configure | ||
configure.bat | ||
configure.cmake | ||
dependencies.yaml | ||
qt_cmdline.cmake | ||
sync.profile |