SPV: Plumb through XFB buffer and stride information.

Also, only emit this XFB information where the SPIR-V spec says
it should be emitted: essentially, on objects.

This and the previous commit together fix #1185.
This commit is contained in:
John Kessenich
2017-12-15 06:21:46 -07:00
parent be3842f6ae
commit edaf556778
7 changed files with 88 additions and 20 deletions

20
Test/spv.xfb.vert Normal file
View File

@@ -0,0 +1,20 @@
#version 450
layout(xfb_buffer = 3) out;
layout(xfb_stride = 48) out;
layout(xfb_offset = 12, location = 0) out float out1;
layout(xfb_buffer = 2) out;
layout(location=1) out outXfb {
layout(xfb_buffer = 2, xfb_stride = 32, xfb_offset = 8) float out2;
};
layout(xfb_buffer = 1, location=3) out outXfb2 {
layout(xfb_stride = 64, xfb_offset = 60) float out3;
};
layout(location = 4, xfb_buffer = 0, xfb_offset = 4) out float out4;
void main()
{
}