)]}'
{
  "commit": "0de50d45bcb034864c837c27c7fc5ed2d30d80c4",
  "tree": "72004a4ce67ef3ae7e52bb16ecffc1d0ea1f5db2",
  "parents": [
    "c3d95f36258143af6cca041ede521995d8f890ea"
  ],
  "author": {
    "name": "Alexis Hetu",
    "email": "sugoi@google.com",
    "time": "Wed Sep 09 13:56:41 2015 -0400"
  },
  "committer": {
    "name": "Alexis Hétu",
    "email": "sugoi@google.com",
    "time": "Wed Sep 30 20:38:33 2015 +0000"
  },
  "message": "ETC2 decoder\n\nA new ETC2 decoder was added to SwiftShader, based on the\nOpenGL ETC2 specification. The decoder is fully standalone\nand does not rely on any outside code (there are no files\nincluded in the header and the source file only include the\nheader file, so it can easily be ported to any other project).\n\nThings to note:\n- In Surface.cpp, signed ETC2 images are decoded to full 32FP\n  images, because of the lack of support for signed 8 bit R\n  and RG internal formats. This should be fixed as soon as\n  these formats are made available.\n- sRGB conversion is not performed within the decoder, so it has\n  been added as a loop inside Surface::decodeETC2 after the ETC2\n  decoding is performed. This is to make sure that there is no\n  loss of precision, should we choose to do the conversion to a\n  higher bit precision format. The loop is fairly straightforward\n  and does the conversion in place, so the impact on performance\n  compared to doing the sRGB conversion in the decoder should be\n  minimal.\n\nChange-Id: I3a1af623353344bf35818ba9c9f4cf349b587e2f\nReviewed-on: https://swiftshader-review.googlesource.com/3960\nTested-by: Alexis Hétu \u003csugoi@google.com\u003e\nReviewed-by: Nicolas Capens \u003ccapn@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fd969809f5fecc4f1c73eb836a56cb0f7b3e25d3",
      "old_mode": 33188,
      "old_path": "src/Android.mk",
      "new_id": "aa284631490ce2347753d54de90dc0c01a727658",
      "new_mode": 33188,
      "new_path": "src/Android.mk"
    },
    {
      "type": "modify",
      "old_id": "905a884df26ca72bc1c40d44f170ecaee6140cc8",
      "old_mode": 33188,
      "old_path": "src/OpenGL/libGLES_CM/libGLES_CM.cbp",
      "new_id": "017955f109974851e705ff3a71ac8ad5934431b5",
      "new_mode": 33188,
      "new_path": "src/OpenGL/libGLES_CM/libGLES_CM.cbp"
    },
    {
      "type": "modify",
      "old_id": "cd3d3d15a77cc7996d4536c540b7d9417d6e3689",
      "old_mode": 33188,
      "old_path": "src/OpenGL/libGLESv2/libGLESv2.cbp",
      "new_id": "8f40b12e0e457cd27c93a29b3044143886f85601",
      "new_mode": 33188,
      "new_path": "src/OpenGL/libGLESv2/libGLESv2.cbp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6d98aa2283cdd870a3381f5789cbbab710dc89cd",
      "new_mode": 33188,
      "new_path": "src/Renderer/ETC_Decoder.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "11b139502586dea5895abfbfac03de4fc26db98f",
      "new_mode": 33188,
      "new_path": "src/Renderer/ETC_Decoder.hpp"
    },
    {
      "type": "modify",
      "old_id": "b84ba1cd3935876211d91114b8d0d53bd16aacf8",
      "old_mode": 33188,
      "old_path": "src/Renderer/Surface.cpp",
      "new_id": "b5f244d15f56a01cc4ab6615f70bc595e4f2a2f8",
      "new_mode": 33188,
      "new_path": "src/Renderer/Surface.cpp"
    },
    {
      "type": "modify",
      "old_id": "23a392d75f5fc62655b7cf5b0e80c62185443b88",
      "old_mode": 33188,
      "old_path": "src/Renderer/Surface.hpp",
      "new_id": "fe0817ee389730655bf9da5f46ab016e18f2bce8",
      "new_mode": 33188,
      "new_path": "src/Renderer/Surface.hpp"
    },
    {
      "type": "modify",
      "old_id": "5eca09b0b81099e7b96ceb0c56a2d9f425ee91d5",
      "old_mode": 33188,
      "old_path": "src/SwiftShader/SwiftShader.vcxproj",
      "new_id": "3ffcdab42f288d113467d3aede2ed2bec351bb20",
      "new_mode": 33188,
      "new_path": "src/SwiftShader/SwiftShader.vcxproj"
    },
    {
      "type": "modify",
      "old_id": "572441ccd1d8df7ba0fe68b952fa2f5f8fc70d5c",
      "old_mode": 33188,
      "old_path": "src/SwiftShader/SwiftShader.vcxproj.filters",
      "new_id": "27b2dd0e565f6b2b8ae5e27777a8e5e9d0c94d0c",
      "new_mode": 33188,
      "new_path": "src/SwiftShader/SwiftShader.vcxproj.filters"
    }
  ]
}
