You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From the comments, it seems this is missing functionality:
// If swizzle exists, it is out-of-order or not full, we must load the target vector,
// extract and insert elements to perform writeMask and/or swizzle. This does not
// go with getting a direct l-value pointer.
assert(accessChain.swizzle.size() == 0);
assert(accessChain.component == NoResult);
johnkslang
changed the title
-V assertion failure: spv::Id spv::Builder::accessChainGetLValue(): Assertion `accessChain.swizzle.size() == 0' failed.
Swizzled l-values as output arguments not implemented.
Feb 18, 2020
What was missing was the case of built-in function-output parameters to a swizzled argument l-value. SPIR-V cannot represent these and so needs additional instructions.
bug_report.zip
Issue found using GraphicsFuzz.
Tool versions:
To reproduce:
glslangValidator -V shader.frag -o shader.frag.spv
The following shader files are included in the attached archive, some of which are also shown inline below:
0_glsl/shader.frag:
The text was updated successfully, but these errors were encountered: