)]}'
{
  "commit": "fd8f0e2fac0937d725de428824e6bbaf781a02a3",
  "tree": "918bf9e33cefbb76fb2c321c11ad909d7a96136d",
  "parents": [
    "8866a85cf02db536b9dbc07be496826eb7197fd2"
  ],
  "author": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Wed Jul 01 00:27:23 2020 -0400"
  },
  "committer": {
    "name": "Nicolas Capens",
    "email": "nicolascapens@google.com",
    "time": "Tue Jul 07 01:46:28 2020 +0000"
  },
  "message": "Fix float-to-half conversion\n\nThe Reactor code in floatToHalfBits() did not match the reference\nimplementation of the sw::half type, leading to failures in dEQP tests\nwhich are enabled by the shaderStorageImageExtendedFormats feature.\n\nThe previous code was based on https://gist.github.com/rygorous/2156668.\nIt doesn\u0027t round to nearest even in case of a tie, but that\u0027s not\ndemanded by Vulkan. It merits a closer look to see whether there was a\nbug, or whether dEQP-VK is too strict. Dawn also found the previous\nimplementation to not handle infinity correctly, so a bug seems likely.\n\nIn any case, it\u0027s good to use a reference implementation for now, and\nlook for optimization opportunities later.\n\nBug: b/147900455\nBug: swiftshader:147\nTests: dEQP-VK.image.format_reinterpret.buffer.*_b10g11r11_ufloat_pack32\nChange-Id: Id817a012ff38af814907c2de2914ec24565622f3\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46148\nPresubmit-Ready: Nicolas Capens \u003cnicolascapens@google.com\u003e\nKokoro-Result: kokoro \u003cnoreply+kokoro@google.com\u003e\nTested-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\nReviewed-by: Antonio Maiorano \u003camaiorano@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "83f8126b675ee7b824f6110fc331c56b191aec06",
      "old_mode": 33188,
      "old_path": "src/Pipeline/ShaderCore.cpp",
      "new_id": "735248a311193004f78501f8a911195b0639a55f",
      "new_mode": 33188,
      "new_path": "src/Pipeline/ShaderCore.cpp"
    },
    {
      "type": "modify",
      "old_id": "ea66920769fb1faec73dd785dfcd3534385e6cce",
      "old_mode": 33188,
      "old_path": "src/System/Half.cpp",
      "new_id": "fd04a319577991739272559ad60898100a1527cb",
      "new_mode": 33188,
      "new_path": "src/System/Half.cpp"
    }
  ]
}
