)]}'
{
  "commit": "981ccfbbfd737e2bdf0cedec0089975f91fd4e0a",
  "tree": "1625a7d2cc71a5f8e86f0dc575069e030c8ac0e3",
  "parents": [
    "aa396b9610f339cf280159144fbea47506f060e7"
  ],
  "author": {
    "name": "Jack Palevich",
    "email": "jackpal@google.com",
    "time": "Tue Dec 08 15:43:51 2009 +0800"
  },
  "committer": {
    "name": "Jack Palevich",
    "email": "jackpal@google.com",
    "time": "Wed Dec 09 16:34:46 2009 +0800"
  },
  "message": "Implement Matrix Palette extension.\n\nAdds support for formerly-unimplemented methods:\n\nglCurrentPaletteMatrixOES\nglLoadPaletteFromModelViewMatrixOES\nglMatrixIndexPointerOES\nglWeightPointerOES\n\nThe bulk of the changes are related to implementing the two PointerOES\nmethods, which are implemented pretty much the same way as the existing\nPointer methods were implemented.\n\nThis change also changes the way glPointSizePointerOES is implemented,\nmaking it act like all the other Pointer methods. (Previously it was\nnot handling non-direct-buffer arguments correctly.)\n\nFixes bug 2308625 \"Support matrix palette skinning\nin JSR239 and related APIs\"\n\nAlso updated GLLogWraper to fix two bugs in GLLogWrapper that were\ndiscovered while testing matrix palette skinning support:\n\na) Handle trying to print the contents of null-but-enabled buffers.\n(It\u0027s not legal to draw with null-but-enabled buffers, and\nin fact some OpenGL drivers will crash if you try to render in this\nstate, but there\u0027s no reason the GLLogWrapper should crash while trying\nto debug this situation.\n\nb) Don\u0027t read off the end of a vertex buffer with non-zero position when\nprinting the entire contents of the vertex buffer. Now we only print from\nthe current position to the end of the buffer.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "44213ed1cc5a909b13fa96000f4df9c537733c99",
      "old_mode": 33188,
      "old_path": "core/jni/android_opengl_GLES11.cpp",
      "new_id": "0f71b9f59c1583ee4c01e2827fe0b06e62bc4a6e",
      "new_mode": 33188,
      "new_path": "core/jni/android_opengl_GLES11.cpp"
    },
    {
      "type": "modify",
      "old_id": "6f3495c5062ceaba6089699daf0203736675bf99",
      "old_mode": 33188,
      "old_path": "core/jni/android_opengl_GLES11Ext.cpp",
      "new_id": "942a0d93e9f092434bba2f6485b6cd9adfba4f77",
      "new_mode": 33188,
      "new_path": "core/jni/android_opengl_GLES11Ext.cpp"
    },
    {
      "type": "modify",
      "old_id": "3e0aea5a9b0f0750c56e539b5643b32a8e00519d",
      "old_mode": 33188,
      "old_path": "core/jni/com_google_android_gles_jni_GLImpl.cpp",
      "new_id": "93e4d2b815bb87fd2ce6b1314f58d2eccb92d76d",
      "new_mode": 33188,
      "new_path": "core/jni/com_google_android_gles_jni_GLImpl.cpp"
    },
    {
      "type": "modify",
      "old_id": "3399af7834c77d9b8bb5a62b1726c19b01a43263",
      "old_mode": 33188,
      "old_path": "opengl/java/android/opengl/GLES11.java",
      "new_id": "1ca179b573be7f010d6c5974f1817a7b3ca07533",
      "new_mode": 33188,
      "new_path": "opengl/java/android/opengl/GLES11.java"
    },
    {
      "type": "modify",
      "old_id": "4384e9e25af96a0ff26db6edb922a68f7d0bc3b7",
      "old_mode": 33188,
      "old_path": "opengl/java/android/opengl/GLES11Ext.java",
      "new_id": "25d54674ca03158df4c9fb83c0fbe1a1aa1b31f4",
      "new_mode": 33188,
      "new_path": "opengl/java/android/opengl/GLES11Ext.java"
    },
    {
      "type": "modify",
      "old_id": "01e82dea581c08d0273708317ebaa6f70727353e",
      "old_mode": 33188,
      "old_path": "opengl/java/android/opengl/GLES20.java",
      "new_id": "b8aac0eb0a152c024946d0263e7f16c44b1be432",
      "new_mode": 33188,
      "new_path": "opengl/java/android/opengl/GLES20.java"
    },
    {
      "type": "modify",
      "old_id": "f332448ea21522df7407ce48608f3bdc6cd76d75",
      "old_mode": 33188,
      "old_path": "opengl/java/android/opengl/GLLogWrapper.java",
      "new_id": "7dd1cfb3ec5267d5d13897b5a5319ba19a3f3224",
      "new_mode": 33188,
      "new_path": "opengl/java/android/opengl/GLLogWrapper.java"
    },
    {
      "type": "modify",
      "old_id": "36b6ea0775715303b0f0fe1d630b84c1ac1b0652",
      "old_mode": 33188,
      "old_path": "opengl/java/com/google/android/gles_jni/GLImpl.java",
      "new_id": "01a9c913626f288305f6a53cb17fdaab9a2f50cc",
      "new_mode": 33188,
      "new_path": "opengl/java/com/google/android/gles_jni/GLImpl.java"
    },
    {
      "type": "modify",
      "old_id": "0c9352ec75440f2918a4d85cd12c9ac84352d529",
      "old_mode": 33188,
      "old_path": "opengl/libs/GLES_CM/gl.cpp",
      "new_id": "e7757a8fea22d7af7b402654e8c679e83451b8ab",
      "new_mode": 33188,
      "new_path": "opengl/libs/GLES_CM/gl.cpp"
    },
    {
      "type": "modify",
      "old_id": "1468ab9792f82c56807a8f078a9560c1d51c37e6",
      "old_mode": 33188,
      "old_path": "opengl/tools/glgen/specs/gles11/checks.spec",
      "new_id": "f917128486fa73b183620a8495fd835b2aa63274",
      "new_mode": 33188,
      "new_path": "opengl/tools/glgen/specs/gles11/checks.spec"
    },
    {
      "type": "modify",
      "old_id": "063cdc74a44c8a8747f2c2fc8376e15b3eee8d73",
      "old_mode": 33188,
      "old_path": "opengl/tools/glgen/specs/jsr239/glspec-checks",
      "new_id": "c28e403002e9213a768a2d6b40f3f87252afe0ab",
      "new_mode": 33188,
      "new_path": "opengl/tools/glgen/specs/jsr239/glspec-checks"
    },
    {
      "type": "modify",
      "old_id": "4c1814a7e299f2f95f309c1e6bb666a82aa607c4",
      "old_mode": 33188,
      "old_path": "opengl/tools/glgen/src/JniCodeEmitter.java",
      "new_id": "e79170a28a8b1c1872e01a91a995c15e6d86df04",
      "new_mode": 33188,
      "new_path": "opengl/tools/glgen/src/JniCodeEmitter.java"
    },
    {
      "type": "modify",
      "old_id": "428ccee66626a1e82f6565c853bc41cd5d0dee84",
      "old_mode": 33188,
      "old_path": "opengl/tools/glgen/stubs/gles11/GLES11ExtHeader.java-if",
      "new_id": "c5e34cd1b9aa1edecd60dc1519e9786b7c2a135f",
      "new_mode": 33188,
      "new_path": "opengl/tools/glgen/stubs/gles11/GLES11ExtHeader.java-if"
    },
    {
      "type": "modify",
      "old_id": "294d1ce82e72b83f63fa2aaf61becdb001415613",
      "old_mode": 33188,
      "old_path": "opengl/tools/glgen/stubs/gles11/GLES11ExtcHeader.cpp",
      "new_id": "2548b32a24c99ca4fa3e2e5b6aeb624e83707cb1",
      "new_mode": 33188,
      "new_path": "opengl/tools/glgen/stubs/gles11/GLES11ExtcHeader.cpp"
    },
    {
      "type": "modify",
      "old_id": "26f466fae2e1ec5bef674dd41e75b95d127d3fde",
      "old_mode": 33188,
      "old_path": "opengl/tools/glgen/stubs/gles11/GLES11Header.java-if",
      "new_id": "81572d26af579b3507649b8d8aae099e39b4469c",
      "new_mode": 33188,
      "new_path": "opengl/tools/glgen/stubs/gles11/GLES11Header.java-if"
    },
    {
      "type": "modify",
      "old_id": "294d1ce82e72b83f63fa2aaf61becdb001415613",
      "old_mode": 33188,
      "old_path": "opengl/tools/glgen/stubs/gles11/GLES11cHeader.cpp",
      "new_id": "4c297f78695056a4199bb00531b353c90d6a87ca",
      "new_mode": 33188,
      "new_path": "opengl/tools/glgen/stubs/gles11/GLES11cHeader.cpp"
    },
    {
      "type": "modify",
      "old_id": "7504509fe73c7b2a7f971d6404932050fb5b58b8",
      "old_mode": 33188,
      "old_path": "opengl/tools/glgen/stubs/gles11/GLES20Header.java-if",
      "new_id": "b615e0a5f1f35dad021878c86ac4e563f009e603",
      "new_mode": 33188,
      "new_path": "opengl/tools/glgen/stubs/gles11/GLES20Header.java-if"
    },
    {
      "type": "modify",
      "old_id": "4494643bf33803d42f96e4af28e879da8ca61673",
      "old_mode": 33188,
      "old_path": "opengl/tools/glgen/stubs/jsr239/GLCHeader.cpp",
      "new_id": "b3d1c6cb1512b4be78f2d2437635a88c77aca48b",
      "new_mode": 33188,
      "new_path": "opengl/tools/glgen/stubs/jsr239/GLCHeader.cpp"
    },
    {
      "type": "modify",
      "old_id": "fe60c5d50af4baa351a388d04255bd5ec0cdf98d",
      "old_mode": 33188,
      "old_path": "opengl/tools/glgen/stubs/jsr239/GLImplHeader.java-impl",
      "new_id": "76fea3f6a648a89b105660a71e75ad6ece34bfe6",
      "new_mode": 33188,
      "new_path": "opengl/tools/glgen/stubs/jsr239/GLImplHeader.java-impl"
    }
  ]
}
