)]}'
{
  "commit": "4846cca8057a938a7ffeece89981a4268fdb7fe4",
  "tree": "151aa7de841f4a8be6c00948e3e9708529fe79cf",
  "parents": [
    "99abae2fe18c18cd3dff3f4d409003dd6c9151bd"
  ],
  "author": {
    "name": "Stephen White",
    "email": "senorblanco@chromium.org",
    "time": "Wed May 31 17:02:22 2023 -0400"
  },
  "committer": {
    "name": "android-autoroll",
    "email": "android-autoroll@skia-public.iam.gserviceaccount.com",
    "time": "Wed Jun 07 18:50:17 2023 +0000"
  },
  "message": "D3D11: fix for atomic assigned to an SSBO.\n\nWhen assigning the previous value of an atomic op to an SSBO, we do not\nwant to use the \"direct assignment\" path, since we can\u0027t pass the SSBO\nexpression as an argument to Interlocked*().\n\nInstead, we change the RewriteAtomicFunctionExpressions transform not to\ndefer assignments until HLSL output if the LHS is an SSBO expression,\nand to do its usual creation of a temporary for the previous value of\nthe atomic op.\n\nIn OutputHLSL, we skip the direct assignment path if the LHS is an SSBO\nexpression.\n\nBug: angleproject:8182\nChange-Id: I0707f4f69757119fe5c8f8e7a12bd26025ec74e6\nReviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4573827\nReviewed-by: Geoff Lang \u003cgeofflang@chromium.org\u003e\nCommit-Queue: Stephen White \u003csenorblanco@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9f2ee06052fbef6d7c9d045612ebe8dce865b6c3",
      "old_mode": 33188,
      "old_path": "src/compiler/translator/OutputHLSL.cpp",
      "new_id": "2fe57df20a0f3620ede74daa23dda9e69129a0bf",
      "new_mode": 33188,
      "new_path": "src/compiler/translator/OutputHLSL.cpp"
    },
    {
      "type": "modify",
      "old_id": "b2de6079b70e54cf4e6fc08b21e38e244ebef1a1",
      "old_mode": 33188,
      "old_path": "src/compiler/translator/tree_ops/d3d/RewriteAtomicFunctionExpressions.cpp",
      "new_id": "a02696fc3452d2264b0549ca25aaea2973d60bc6",
      "new_mode": 33188,
      "new_path": "src/compiler/translator/tree_ops/d3d/RewriteAtomicFunctionExpressions.cpp"
    },
    {
      "type": "modify",
      "old_id": "d93d063ea8a6b7fa41567aae4e9dcd4a63161fcd",
      "old_mode": 33188,
      "old_path": "src/tests/gl_tests/ComputeShaderTest.cpp",
      "new_id": "9b6a080899ef3c94302680631163651effe23d4b",
      "new_mode": 33188,
      "new_path": "src/tests/gl_tests/ComputeShaderTest.cpp"
    }
  ]
}
