Vulkan-Tools
Vulkan-Tools copied to clipboard
Mock ICD fails some simple operations
The Mock ICD works well for a few simple use cases but breaks down on some workloads.
One simple example is allocating and writing to a buffer larger than 0x1000. This will trigger errors. I think handling arbitrary sizes should be something the Mock ICD should be able to support without too much trouble.
A second example is mapping memory ranges. After a first map call that writes to the data, the memory is discarded and subsequent map calls return junk data. It seems plausible for the Mock ICD to store some state associated with the device memory.
In both cases the application on top of the Mock ICD needs to know specifically that it is running on top of the mock ICD to work without errors. This seems counter to the intent of the mock ICD. It should be basically invisible apart from not executing commands.
@tobine @ShabbyX @y-novikov fyi