yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

Samuel BourasseauFix crash on unnamed function parameters under relaxed rules (#3962)3289b1d6

main
4.1 KiB94 linesraw
1vk.relaxed.syntaxerror.vert
2Shader version: 460
30:? Sequence
40:5  Function Definition: main( ( global void)
50:5    Function Parameters: 
60:6    Sequence
70:6      move second child to first child ( temp highp 4-component vector of float)
80:6        'io' (layout( location=0) smooth out highp 4-component vector of float)
90:6        Constant:
100:6          0.000000
110:6          0.000000
120:6          0.000000
130:6          0.000000
140:?   Linker Objects
150:?     'io' (layout( location=0) smooth out highp 4-component vector of float)
160:?     'gl_VertexIndex' ( in int VertexIndex)
170:?     'gl_InstanceIndex' ( in int InstanceIndex)
18
19vk.relaxed.syntaxerror.frag
20ERROR: 0:20: '' :  syntax error, unexpected SAMPLER, expecting RIGHT_PAREN
21ERROR: 1 compilation errors.  No code generated.
22
23
24Shader version: 460
25gl_FragCoord origin is upper left
26ERROR: node is still EOpNull!
270:16  Function Definition: main( ( global void)
280:16    Function Parameters: 
290:17    Sequence
300:17      move second child to first child ( temp highp 4-component vector of float)
310:17        'o' ( out highp 4-component vector of float)
320:17        add ( temp highp 4-component vector of float)
330:17          'io' (layout( location=0) smooth in highp 4-component vector of float)
340:17          Function Call: foo(struct-OpaqueInStruct-s211;s21; ( global highp 4-component vector of float)
350:17            uniformStruct: direct index for structure ( uniform structure{ global highp int /*smp*/})
360:17              'anon@0' (layout( column_major std140) uniform block{ uniform structure{ global highp int /*smp*/} uniformStruct})
370:17              Constant:
380:17                0 (const uint)
390:17            'uniformStruct.smp' ( uniform highp sampler2D)
400:?   Linker Objects
410:?     'io' (layout( location=0) smooth in highp 4-component vector of float)
420:?     'o' ( out highp 4-component vector of float)
430:?     'uniformStruct.smp' ( uniform highp sampler2D)
440:?     'anon@0' (layout( column_major std140) uniform block{ uniform structure{ global highp int /*smp*/} uniformStruct})
45
46
47Linked vertex stage:
48
49
50Linked fragment stage:
51
52ERROR: Linking fragment stage: No function definition (body) found: 
53    foo(struct-OpaqueInStruct-s211;s21;
54
55Shader version: 460
560:? Sequence
570:5  Function Definition: main( ( global void)
580:5    Function Parameters: 
590:6    Sequence
600:6      move second child to first child ( temp highp 4-component vector of float)
610:6        'io' (layout( location=0) smooth out highp 4-component vector of float)
620:6        Constant:
630:6          0.000000
640:6          0.000000
650:6          0.000000
660:6          0.000000
670:?   Linker Objects
680:?     'io' (layout( location=0) smooth out highp 4-component vector of float)
690:?     'gl_VertexIndex' ( in int VertexIndex)
700:?     'gl_InstanceIndex' ( in int InstanceIndex)
71Shader version: 460
72gl_FragCoord origin is upper left
73ERROR: node is still EOpNull!
740:16  Function Definition: main( ( global void)
750:16    Function Parameters: 
760:17    Sequence
770:17      move second child to first child ( temp highp 4-component vector of float)
780:17        'o' ( out highp 4-component vector of float)
790:17        add ( temp highp 4-component vector of float)
800:17          'io' (layout( location=0) smooth in highp 4-component vector of float)
810:17          Function Call: foo(struct-OpaqueInStruct-s211;s21; ( global highp 4-component vector of float)
820:17            uniformStruct: direct index for structure ( uniform structure{ global highp int /*smp*/})
830:17              'anon@0' (layout( column_major std140) uniform block{ uniform structure{ global highp int /*smp*/} uniformStruct})
840:17              Constant:
850:17                0 (const uint)
860:17            'uniformStruct.smp' ( uniform highp sampler2D)
870:?   Linker Objects
880:?     'io' (layout( location=0) smooth in highp 4-component vector of float)
890:?     'o' ( out highp 4-component vector of float)
900:?     'uniformStruct.smp' ( uniform highp sampler2D)
910:?     'anon@0' (layout( column_major std140) uniform block{ uniform structure{ global highp int /*smp*/} uniformStruct})
92
93Validation failed
94SPIR-V is not generated for failed compile or link