@gob The struggle is that with ray tracing for example, the performance cliff between having your shader table inlined and GPUs mimicking function calls can be very large. It can be the difference between playable and unplayable, mainly because you lose inline opts and you get a ton of instructions to shuffle args and return values around. We pay for this with PSO explosion, but these things can make a 50% difference in performance in many cases, and its hard to just do what the CPU does