)]}'
{
  "commit": "5e7108e11015b1e2c7d944f766524d19fb599b9d",
  "tree": "93d36d040972e922e6abbb8f0645190b74f06198",
  "parents": [
    "31d713bb676a9045d7549e98746e84ac47a4583f"
  ],
  "author": {
    "name": "natgavrilenko",
    "email": "natgavrilenko@users.noreply.github.com",
    "time": "Thu Aug 07 21:13:21 2025 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Aug 07 15:13:21 2025 -0400"
  },
  "message": "spirv-val: Update memory semantics rules to match the specification (#6096)\n\n* spirv-val: Update memory semantics rules to match the specification\n\nUpdated validation of memory semantics to match the formal Vulkan memory model and the Vulkan specification:\n- Require non-empty storage class semantics for non-relaxed memory orders\n- Require non-relaxed memory orders for non-empty storage class semantics\n- Validate AtomicCompareExchange Unequal semantics with respect to its Equal semantics\n- Unify Vulkan error messages and validation rules\n\nSigned-off-by: Natalia Gavrilenko \u003cnatalia.gavrilenko@huawei.com\u003e\n\n* Removed duplicated tests\n\n---------\n\nSigned-off-by: Natalia Gavrilenko \u003cnatalia.gavrilenko@huawei.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "97b5ed38e463c4f8a6311d98cc3deb5bb126a5a3",
      "old_mode": 33188,
      "old_path": "source/opt/upgrade_memory_model.cpp",
      "new_id": "5d3b863f167385d6e662ec98d3f4bd98e8038d23",
      "new_mode": 33188,
      "new_path": "source/opt/upgrade_memory_model.cpp"
    },
    {
      "type": "modify",
      "old_id": "990ed315181d4f66141b6216cb3b4be7b19b9270",
      "old_mode": 33188,
      "old_path": "source/val/validate_atomics.cpp",
      "new_id": "510960ba1cd073d599fda844185cb44f01c616a4",
      "new_mode": 33188,
      "new_path": "source/val/validate_atomics.cpp"
    },
    {
      "type": "modify",
      "old_id": "d94d37dbf4319689b2e15497e9f57f08eaf9ed5a",
      "old_mode": 33188,
      "old_path": "source/val/validate_memory_semantics.cpp",
      "new_id": "b261d65d8afd768f32e7d5963383b543fb683ab6",
      "new_mode": 33188,
      "new_path": "source/val/validate_memory_semantics.cpp"
    },
    {
      "type": "modify",
      "old_id": "b42328664a1277bcf9e827f759bba0f92d4852bd",
      "old_mode": 33188,
      "old_path": "source/val/validation_state.cpp",
      "new_id": "18b10d80bb26fb8f70b951efd27a16bbcaf6a83e",
      "new_mode": 33188,
      "new_path": "source/val/validation_state.cpp"
    },
    {
      "type": "modify",
      "old_id": "45581fbf48ec14f98273dea80e8ed0b38827086a",
      "old_mode": 33188,
      "old_path": "test/opt/upgrade_memory_model_test.cpp",
      "new_id": "e03084b9bae35544e1f7e2029a2361c5e6a06642",
      "new_mode": 33188,
      "new_path": "test/opt/upgrade_memory_model_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "be7e91143fcf5e488b1faf725a1d1fa24ed40207",
      "old_mode": 33188,
      "old_path": "test/val/CMakeLists.txt",
      "new_id": "47d184a930eaf5456c4e01509975c46ae6c472d7",
      "new_mode": 33188,
      "new_path": "test/val/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "4edd8840df19ae70f19571203694c989c5f87f9a",
      "old_mode": 33188,
      "old_path": "test/val/val_atomics_test.cpp",
      "new_id": "392586e28015abee54e4cb202001f22776f417d1",
      "new_mode": 33188,
      "new_path": "test/val/val_atomics_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "bd84353e64d40e4b62b8c09637d3a8c4bcd362f3",
      "old_mode": 33188,
      "old_path": "test/val/val_barriers_test.cpp",
      "new_id": "6f2cb45b85f6b58de94cb15e110939af59dca1b9",
      "new_mode": 33188,
      "new_path": "test/val/val_barriers_test.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "037a3c10bde7ea7265e2a78061ac5f8e4a79808e",
      "new_mode": 33188,
      "new_path": "test/val/val_memory_semantics_test.cpp"
    }
  ]
}
