anv: Ray-tracing pipelines and dispatch
This MR adds support for compiling ray-tracing pipelines and dispatching them via vkCmdTraceRaysKHR
or vkCmdTraceRaysIndirectKHR
. There are two major to-dos currently regarding shader compilation and dispatch:
- I don't have it plumbed through deferred operations so there's no multi-threading for large pipelines yet.
- I've not come up with a good caching strategy so they're always re-compiled every time.
Neither of these is massively difficult but I've been primarily focused on getting the core solid. Thanks to !8635 (merged), I think we're getting to be in pretty good shape.
Note: Please review the patches in !8635 (merged) on !8635 (merged). I intend to try and land that soonish once I get the last couple snags worked out.