Refactored our CommandBuffer interface to support compute. Final result:
A compute pass contains N dispatches, just like a render pass contains N draws (split into areas = viewports).
Renderpass object is static (due to Vulkan 1.0). Compute has dynamic write resource list.