)]}'
{
  "commit": "b5c281e1e06af3be804309877de1dac6145686b9",
  "tree": "355a5b5d0d3661b3c0e58078b7727687c87f1a1b",
  "parents": [
    "baa860c297ec315690e4837b5354cd4fd1fc9fc0"
  ],
  "author": {
    "name": "henrik.smiding",
    "email": "henrik.smiding@intel.com",
    "time": "Tue Jun 17 11:32:47 2014 -0700"
  },
  "committer": {
    "name": "Commit bot",
    "email": "commit-bot@chromium.org",
    "time": "Tue Jun 17 11:32:47 2014 -0700"
  },
  "message": "Add SSE4 optimization of S32A_Opaque_Blitrow\n\nAdds optimization of Skia S32A_Opaque_Blitrow blitter using SSE4.2 SIMD\ninstruction set. Special case for when alpha is zero or opaque.\n\nPerformance increase of 10%-400% compared to the existing SSE2\noptimization (measured on Silvermont architecture).\nNoticeable in ~25 different skia bench subtests, especially in\nbitmap_8888_*, repeatTile_*, and morph_*.\n\nbitmap_8888_A - 100% faster\nbitmap_8888_A_source_transparent - 250% faster\nbitmap_8888_A_source_opaque - 25% faster\nbitmap_8888_A_scale_bicubic - 75% faster\n\nSigned-off-by: Henrik Smiding \u003chenrik.smiding@intel.com\u003e\n\nCommitted: https://skia.googlesource.com/skia/+/e2527b147679b0c43019fae7d59cc3777d2d097e\n\nR\u003dreed@google.com, mtklein@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com\n\nAuthor: henrik.smiding@intel.com\n\nReview URL: https://codereview.chromium.org/289473009\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "69e3946c349b44c8aeac64f81fe925d3de6818cc",
      "old_mode": 33188,
      "old_path": "gyp/opts.gyp",
      "new_id": "85c8c503fabbac5e766976c470528e19734bfd5a",
      "new_mode": 33188,
      "new_path": "gyp/opts.gyp"
    },
    {
      "type": "modify",
      "old_id": "5f3f14155c21875b94bb0b22859f82aebb09a64c",
      "old_mode": 33188,
      "old_path": "gyp/skia_lib.gyp",
      "new_id": "04d4bfc2076606a28bb8d22f710f8c4128514ac3",
      "new_mode": 33188,
      "new_path": "gyp/skia_lib.gyp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5ff3cdd354addd98b8e14b7a5708607352a74131",
      "new_mode": 33188,
      "new_path": "src/opts/SkBlitRow_opts_SSE4.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c6104a37d95d708712ebcd31f9efac00ab078fd8",
      "new_mode": 33188,
      "new_path": "src/opts/SkBlitRow_opts_SSE4_asm.S"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "29cde7b4b003d4900787619d48b5be1f870ee61e",
      "new_mode": 33188,
      "new_path": "src/opts/SkBlitRow_opts_SSE4_x64_asm.S"
    },
    {
      "type": "modify",
      "old_id": "6af47729cd06a59bd973c0e8621c7dcddc5d6268",
      "old_mode": 33188,
      "old_path": "src/opts/opts_check_x86.cpp",
      "new_id": "b94969890d1f540e982d696452fc772286d3c84f",
      "new_mode": 33188,
      "new_path": "src/opts/opts_check_x86.cpp"
    }
  ]
}
