shaders: add pl_shader_info to replace pl_dispatch_info.shader
The pl_dispatch_info
had a number of serious shortcomings. One of
these was the fact that it referenced pl_shader_res
, which was not
only preventing me from deprecating/replacing this API internally, but
more importantly, was clumsy and required users to make manual
deepcopies of this struct.
Replace it by a new pl_shader_info
, which is also refcounted, to allow
users to pass it around more easily.
As an aside, this commit fixes a bug where the steps
array would
sometimes contain NULL entries as a consequence of the way the shader
description was generated.