Yeah, it compiles with LLVM git here. However, when run, it locks up X for a few seconds, displays some snow, and then locks up the kernel. I'm still working on tracking down a minimal testcase for it, but at least replacing the main while loop with this: child = texelFetch(octree, int(root)).x; still allows the bug to manifest. Setting child to a constant value does not. Setting the output of the entire shader to texelFetch(octree, int(root)).x at the top and immediately returning displays the correct image, so the texture is correct.