Vulkan memory model tests fail on ICL with Linux 5.4.2
To reproduce, download the vk-gl-cts from Khronos and build it:
git clone https://github.com/KhronosGroup/VK-GL-CTS
cd VK-GL-CTS
python3 external/fetch_sources.py
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release
ninja deqp-vk
Download mesa master, build it, and install it somewhere. Then cd
to VK-GL-CTS/external/vulkancts/modules/vulkan
(the Vulkan CTS doesn't work unless run from this directory) and run at least two copies of the following simultaneously:
VK_ICD_FILENAMES=${MESA_INSTALL}/share/vulkan/icd.d/intel_icd.x86_64.json mesa-run ./deqp-vk --deqp-shadercache=disable -n dEQP-VK.memory_model.message_passing.ext.u32.coherent.atomic_atomic.atomicrmw.\*
Some of the tests in both copies will fail on Linux 5.4.2 but not 5.3.13. Likely, this is some sort of cache flushing issue with the data cache when preempting or switching between user contexts.
This may or may not be related to #776 (closed). It definitely seems like the kind of thing that might be though.