)]}'
{
  "commit": "67fdd834b8df137da2edf8a767bfaf51cf0bfecd",
  "tree": "b0d54f56c35c00e1bcb09ec3f35985f560a544bb",
  "parents": [
    "a6bc61d61d6fe9551d72f917629bf6bccfeafce0"
  ],
  "author": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Thu Dec 21 11:20:54 2017 -0500"
  },
  "committer": {
    "name": "Nicolas Capens",
    "email": "nicolascapens@google.com",
    "time": "Thu Dec 21 18:28:09 2017 +0000"
  },
  "message": "Clamp unsigned floating-point formats.\n\nGL_R11F_G11F_B10F is a renderable format (in the EXT_color_buffer_float\nextension) with unsigned floating-point values, which we implement using\n(signed) half- or single-precision floating-point types. So we need to\nclamp values to a positive range before writing to them.\n\nChange-Id: Ic21a5b0b33905c0aeab35299fc268158f8c679f9\nReviewed-on: https://swiftshader-review.googlesource.com/15448\nReviewed-by: Alexis Hétu \u003csugoi@google.com\u003e\nReviewed-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\nTested-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6d63b47f06240eadd65a615bd7fb620ef01058f8",
      "old_mode": 33188,
      "old_path": "src/OpenGL/common/Image.cpp",
      "new_id": "0a7a3fecf22e76e54286fd1b160267aa7aa2b714",
      "new_mode": 33188,
      "new_path": "src/OpenGL/common/Image.cpp"
    },
    {
      "type": "modify",
      "old_id": "e068b6a20a9b1ac5f2204405e562f1aa47db14d6",
      "old_mode": 33188,
      "old_path": "src/OpenGL/libGLESv2/utilities.cpp",
      "new_id": "b43d32f7710b133538cd708647f9ed429f45c19a",
      "new_mode": 33188,
      "new_path": "src/OpenGL/libGLESv2/utilities.cpp"
    },
    {
      "type": "modify",
      "old_id": "7045462fae1b4d8560376e3986f5f46c4cbdf556",
      "old_mode": 33188,
      "old_path": "src/Renderer/Blitter.cpp",
      "new_id": "1a1f36bf2467057a18b32db9324912bd813a0248",
      "new_mode": 33188,
      "new_path": "src/Renderer/Blitter.cpp"
    },
    {
      "type": "modify",
      "old_id": "4a4d543609bf3b4f31ea0182a0769509219a89f1",
      "old_mode": 33188,
      "old_path": "src/Renderer/Surface.cpp",
      "new_id": "4e2e26b4349ccec9087ae96330c51ab24ad4d3f8",
      "new_mode": 33188,
      "new_path": "src/Renderer/Surface.cpp"
    },
    {
      "type": "modify",
      "old_id": "70754347a92234ca26221a3d03e9d732d63af7f3",
      "old_mode": 33188,
      "old_path": "src/Renderer/Surface.hpp",
      "new_id": "062b0d727902a5626816bbfd129bef2e1e948b02",
      "new_mode": 33188,
      "new_path": "src/Renderer/Surface.hpp"
    },
    {
      "type": "modify",
      "old_id": "5d4df975cc1c0f08a76ff80f9df8b6b5dc3f337f",
      "old_mode": 33188,
      "old_path": "src/Shader/PixelPipeline.cpp",
      "new_id": "e6237358a6a4a6244cb16adb196c5cd18809ce48",
      "new_mode": 33188,
      "new_path": "src/Shader/PixelPipeline.cpp"
    },
    {
      "type": "modify",
      "old_id": "b55bf34b521cb9a62a1efb0d0319f0b6d74150d7",
      "old_mode": 33188,
      "old_path": "src/Shader/PixelProgram.cpp",
      "new_id": "3e9082db86a231ef0a251b72076ebabc2166ed58",
      "new_mode": 33188,
      "new_path": "src/Shader/PixelProgram.cpp"
    },
    {
      "type": "modify",
      "old_id": "a5b6f566084797618ba080d7dc38afd790a6ca31",
      "old_mode": 33188,
      "old_path": "src/Shader/PixelRoutine.cpp",
      "new_id": "1c300b04a1af7b1475c450f95f3c2d318d55ddff",
      "new_mode": 33188,
      "new_path": "src/Shader/PixelRoutine.cpp"
    },
    {
      "type": "modify",
      "old_id": "850516d8943b6922e9824403c416b1d1f534d551",
      "old_mode": 33188,
      "old_path": "src/Shader/SamplerCore.cpp",
      "new_id": "b28d6e3b033ff4a87fb90fd1bbcf8cf5a41db49e",
      "new_mode": 33188,
      "new_path": "src/Shader/SamplerCore.cpp"
    }
  ]
}
