)]}'
{
  "commit": "15f39445da55d75c72c6d5539e68fe00b5879fd0",
  "tree": "06090bb6e91b1885f6be5adbac4a93dcb3953a73",
  "parents": [
    "d4483095765ecd7914fbc90dc254a1f98565a915"
  ],
  "author": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Wed Aug 04 00:03:40 2021 -0400"
  },
  "committer": {
    "name": "Nicolas Capens",
    "email": "nicolascapens@google.com",
    "time": "Wed Aug 04 16:19:00 2021 +0000"
  },
  "message": "Optimize OpImageFetch for single-level mipmaps\n\nThe initial implementation of single-level mipmap LOD optimization left\nout Fetch operations due to causing test failures. The root cause is\nthat minLod \u003d\u003d maxLod is being used to indicate during sampling routine\ngeneration that the image has only a single mipmap level, but this is\nalso true when we have no sampler object, which leaves these fields\nboth initialized at 0.\n\nThis change changes their initial value to [-1000, 1000]. While any\narbitrary non-equal values could be used, this is inspired by OpenGL\u0027s\ndefaults for GL_TEXTURE_MIN_LOD and GL_TEXTURE_MAX_LOD.\n\nWe then set them both to 0 for Fetch operations if the image view has a\nsingle level.\n\nBug: b/151263485\nChange-Id: I2ab565f5126cc8f8137f051704a6350853396e50\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/56112\nTested-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\nKokoro-Result: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Sean Risser \u003csrisser@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "712977def4105cb2bf4e84ed0fda0a8e11b8f805",
      "old_mode": 33188,
      "old_path": "src/Device/Sampler.hpp",
      "new_id": "e42fb30654933b434366cf8632d0b23936777110",
      "new_mode": 33188,
      "new_path": "src/Device/Sampler.hpp"
    },
    {
      "type": "modify",
      "old_id": "2239ca988ed190a5f21d851f7fe6dc391780a798",
      "old_mode": 33188,
      "old_path": "src/Pipeline/SamplerCore.cpp",
      "new_id": "655ec3fbd7dc9275f93455bf39e5217f6b6a1617",
      "new_mode": 33188,
      "new_path": "src/Pipeline/SamplerCore.cpp"
    },
    {
      "type": "modify",
      "old_id": "beca443e32bdf2459274618af2eea2849a9145b3",
      "old_mode": 33188,
      "old_path": "src/Pipeline/SpirvShaderSampling.cpp",
      "new_id": "fd6dc707dad12459a32e94707030ab9250991846",
      "new_mode": 33188,
      "new_path": "src/Pipeline/SpirvShaderSampling.cpp"
    }
  ]
}
