KhronosGroup / SPIRV-Cross

SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.
Apache License 2.0
2k stars 555 forks source link

Block "_86" not declared as an output from the previous stage #1741

Open JakubChomicz opened 2 years ago

JakubChomicz commented 2 years ago

App: Shader linking Failed (res/shaders/defaultLightPass.glsl): Link info

error: Block "_86" not declared as an output from the previous stage

image Someone maybe know why I'm having this issue ? I know that it is all fault this line of code: image But for me it seems ok.

HansKristian-Work commented 2 years ago

What is _86 here? A likely issue is that you declare some block at the same binding in vertex and fragment, but in one of the stages you end up with the default ID generated name "_86", which won't necessarily match the ID generated name in fragment. One way to workaround this I suppose is to assign your own names to various blocks to enforce matching. The default ID generated names like _86 only generally appear if there are no names in the SPIR-V, or there is a naming conflict.