protonscr

DXBC: Correctly fail pipeline compilation if binding is missing

vkd3dclosed
HansKristian-Work/vkd3d-proton#618 · opened 2021-04-14 by HansKristian-Work · updated 2021-04-15 · 2 comments · github
HHansKristian-Work 2021-04-14 github

If we miss a binding in the root signature, DXBC backend will not fail compilation and we end up hitting driver with broken SPIR-V.

Ddoitsujin maintainer 2021-04-14 github

What are we supposed to do instead?

Only useful thing I can think of is treating these as unbound resources and returning 0 for reads / discarding stores, but that's going to be a huge amount of work given the mess that vkd3d-shader currently is. And it's technically not even our bug.

HHansKristian-Work maintainer 2021-04-15 github

Native drivers fail compilation if root signature is broken. The fix in vkd3d-shader is pretty trivial, it just needs to check for error condition before returning.

Nothing extracted yet.