llvm/lavapipe: writing a standalone texture engine
In order to really get EXT_descriptor_indexing working and to complete all the dynamic indexing work for VK/GL, I think it makes sense to write a texture engine of some sort. Roland suggested this to me back a long time ago, and I worked around it a lot, but I think we are starting to reach the point where it's going to be needed to move forward.
The problem I have is, I've no real idea what it should look like or how best to build it?
Options I see:
- big engine written in LLVM and JIT created. Take the current code and remove all the non-JIT decisions and move them into JIT. This probably needs some sort of per-format generated function table. I think having it take some sort of "descriptor" entry and all the decisions being made from that is what we'd want.
- Some sort of C + intrinsics engine, my main worry here would be portability moving forward.
Anyone got some ideas, or even observations on what this might look like would be good.
@brianp @jrfonseca @sroland @zmike @jekstrand