)]}'
{
  "commit": "dfd17141743a06867020aec5d37a6e7580578d08",
  "tree": "43f17a54af8c34b9bc1134bc10bd40e5769b51bb",
  "parents": [
    "0c7f97626fcf9530fcb6e757b1496c9cd767126d"
  ],
  "author": {
    "name": "James Price",
    "email": "jrprice@google.com",
    "time": "Wed Feb 10 15:34:37 2021 +0000"
  },
  "committer": {
    "name": "Commit Bot service account",
    "email": "commit-bot@chromium.org",
    "time": "Wed Feb 10 15:34:37 2021 +0000"
  },
  "message": "[wgsl-writer] Emit globals in declared order\n\nInstead of emitting all global variables and then functions, emit\nglobal declarations in the order they were added to the AST.\n\nThis fixes issues where the reording might generate an invalid WGSL\nprogram from a valid input (e.g. when declaring a global variable with\nthe same name as a variable inside a function that precedes it).\n\nThis also unifies the implementation of Generate() and\nGenerateEntryPoint(), to avoid implementing the same logic twice.\n\nChange-Id: I60a4e5ed4a054562cdcc3d028f8d577434a6d713\nReviewed-on: https://dawn-review.googlesource.com/c/tint/+/41303\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\nCommit-Queue: dan sinclair \u003cdsinclair@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "876e851ba5cb23311fb7c4373a315fb4aaf97e78",
      "old_mode": 33188,
      "old_path": "src/CMakeLists.txt",
      "new_id": "74585131a2a735fb7301be2ce48136c7099bf398",
      "new_mode": 33188,
      "new_path": "src/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "14ce0627b1ba365589759770f2fbba447cf805e2",
      "old_mode": 33188,
      "old_path": "src/transform/bound_array_accessors_test.cc",
      "new_id": "783bb98645eb8421dcea088948a3b1d8595c0ae8",
      "new_mode": 33188,
      "new_path": "src/transform/bound_array_accessors_test.cc"
    },
    {
      "type": "modify",
      "old_id": "0ef6417b8cd10f6721b0a0206a52654803824913",
      "old_mode": 33188,
      "old_path": "src/transform/first_index_offset_test.cc",
      "new_id": "977a7166a76c43ee0e947a73f046a8d598e5af03",
      "new_mode": 33188,
      "new_path": "src/transform/first_index_offset_test.cc"
    },
    {
      "type": "modify",
      "old_id": "edc8abcf827be10dd60e46ebd0a195528d5a4b55",
      "old_mode": 33188,
      "old_path": "src/transform/vertex_pulling_test.cc",
      "new_id": "c81a00e93139993f7ded9aeaf4b83ca35551edc4",
      "new_mode": 33188,
      "new_path": "src/transform/vertex_pulling_test.cc"
    },
    {
      "type": "modify",
      "old_id": "5fc91cc994291a30fe16e862c3abcd8deb08fcd4",
      "old_mode": 33188,
      "old_path": "src/writer/wgsl/generator.cc",
      "new_id": "90ef18e3705c6024cd3f7a5cb83cd193ffc4ce88",
      "new_mode": 33188,
      "new_path": "src/writer/wgsl/generator.cc"
    },
    {
      "type": "modify",
      "old_id": "4e08026cbc8010c87684a514d809dd5d0ec7a2f8",
      "old_mode": 33188,
      "old_path": "src/writer/wgsl/generator_impl.cc",
      "new_id": "828af6ad982dc056d20525c3e78f6b66f422fbb6",
      "new_mode": 33188,
      "new_path": "src/writer/wgsl/generator_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "34ad398261c1557155a1c046b73d49097f595d6a",
      "old_mode": 33188,
      "old_path": "src/writer/wgsl/generator_impl.h",
      "new_id": "9befd510d9f9ffe267dbcc19f6d412b8da9bf64e",
      "new_mode": 33188,
      "new_path": "src/writer/wgsl/generator_impl.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "057629d3614a4b312ef0deeb8ae86c88b87cf061",
      "new_mode": 33188,
      "new_path": "src/writer/wgsl/generator_impl_entry_point_test.cc"
    },
    {
      "type": "modify",
      "old_id": "4fd3f02e5eec4374de9b5407a8a574d754b0301a",
      "old_mode": 33188,
      "old_path": "src/writer/wgsl/generator_impl_function_test.cc",
      "new_id": "9414cde645f1440407bfbbe2f8633f8706e73a88",
      "new_mode": 33188,
      "new_path": "src/writer/wgsl/generator_impl_function_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "464ee70a947108df5022244485d18288f1db7b31",
      "new_mode": 33188,
      "new_path": "src/writer/wgsl/generator_impl_global_decl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "5619268b93c22d8e7daec019184dbdb50dcbbb31",
      "old_mode": 33188,
      "old_path": "src/writer/wgsl/generator_impl_test.cc",
      "new_id": "3d684c9606488c0e654a16aabf82db28eb73c0a3",
      "new_mode": 33188,
      "new_path": "src/writer/wgsl/generator_impl_test.cc"
    }
  ]
}
