)]}'
{
  "commit": "55dd5e7034edde15f0b700bb21e6e59fd93b8508",
  "tree": "ec7a19c8d38189607dcbd3aafb4a7a32ad412bcc",
  "parents": [
    "51c43dc015b7a1d73cfd6baf4bf95718a92acb82"
  ],
  "author": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Mon May 30 13:23:05 2022 -0400"
  },
  "committer": {
    "name": "Nicolas Capens",
    "email": "nicolascapens@google.com",
    "time": "Tue May 31 14:17:31 2022 +0000"
  },
  "message": "Optimize SPIR-V matrix operations using FMA\n\nOpMatrixTimesVector, OpVectorTimesMatrix, OpMatrixTimesMatrix, and\nOpDot each consist of dot products which can be optimized by making\nuse of fused multiply-add operations.\n\nNote that the NoContraction decoration specifies that \"the operation\ncannot be combined with another instruction to form a single operation.\"\nThus it doesn\u0027t apply to the operations performed within a single\ninstruction. GLSL.std.450 OpFma more explicitly clarifies that\nNoContraction does not affect it.\n\nBug: b/216472189\nChange-Id: I04aa0bc2c90784cb2cfbe28034a0ec2af7fd24c9\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/66048\nReviewed-by: Alexis Hétu \u003csugoi@google.com\u003e\nKokoro-Result: kokoro \u003cnoreply+kokoro@google.com\u003e\nTested-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0b56aa200c404995cc5dd9e0d2850b710a073be5",
      "old_mode": 33188,
      "old_path": "src/Pipeline/SpirvShaderArithmetic.cpp",
      "new_id": "539baffc16f27e15cebd6e709fd7dd33fe158741",
      "new_mode": 33188,
      "new_path": "src/Pipeline/SpirvShaderArithmetic.cpp"
    }
  ]
}
