@aeva @TomF @glyph
yep, that sounds very similar to what we do in GPUSPH. In our case it's a particle system, and we need an auxiliary grid for binning/neighbors search. The particles are first generated on CPU in world coordinates in double precision, and then positions are split into cell index + single-precision cell fraction (still on CPU), and this is the information that is uploaded and used on the GPU.
Of course in our case the entire particle system is resident on the GPU, so we have the cell index information as a per-particle property on GPU (it's needed to compute the distance to neighboring particles which are in adjacent cells), but if you're only processing one tile at a time in the shader it makes sense to move that to a uniform —if it's needed at all on GPU?