Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/spirv.c:
val_id = spirv_compiler_emit_load_src_with_type(compiler, &src[1], VKD3DSP_WRITEMASK_0, component_type);
- if (instruction->flags & VKD3DARF_SEQ_CST)
WARN("Ignoring sequentially consistent ordering.\n");
- if (instruction->flags & VKD3DARF_VOLATILE)
WARN("Ignoring 'volatile' attribute.\n");
Do you plan to add them shortly? Sequential consistency should be pretty easy, you just have to add the appropriate flag.
Volatile seems a bit more complicated: it requires the Vulkan memory model, which in turn is incompatible with sequential consistency. So I don't know what's the solution for this. I wonder whether volatile accesses are used often in practice.