Updated glslang.
This commit is contained in:
Родитель
040742ba4c
Коммит
32dce22fff
|
@ -8,50 +8,66 @@ gl_FragCoord origin is upper left
|
|||
0:31 Branch: Return with expression
|
||||
0:31 Constant:
|
||||
0:31 1.000000
|
||||
0:35 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
|
||||
0:35 Function Parameters:
|
||||
0:35 'input' ( in 4-component vector of float)
|
||||
0:43 Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a})
|
||||
0:43 Function Parameters:
|
||||
0:43 'input' ( in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:36 Branch: Return with expression
|
||||
0:36 vector-scale ( temp 4-component vector of float)
|
||||
0:36 add ( temp 4-component vector of float)
|
||||
0:36 add ( temp 4-component vector of float)
|
||||
0:36 add ( temp 4-component vector of float)
|
||||
0:36 add ( temp 4-component vector of float)
|
||||
0:36 'input' ( in 4-component vector of float)
|
||||
0:36 v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||
0:36 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:36 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 v3: direct index for structure (layout( row_major std140 offset=0) uniform 4-component vector of float)
|
||||
0:36 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
|
||||
0:36 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 Function Call: foo( ( temp float)
|
||||
0:35 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:35 Function Parameters:
|
||||
0:45 move second child to first child ( temp 4-component vector of float)
|
||||
0:45 a: direct index for structure ( temp 4-component vector of float)
|
||||
0:45 'ret' ( temp structure{ temp 4-component vector of float a})
|
||||
0:45 Constant:
|
||||
0:45 0 (const int)
|
||||
0:45 add ( temp 4-component vector of float)
|
||||
0:45 v24: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||
0:45 'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24})
|
||||
0:45 Constant:
|
||||
0:45 0 (const uint)
|
||||
0:45 vector-scale ( temp 4-component vector of float)
|
||||
0:45 add ( temp 4-component vector of float)
|
||||
0:45 add ( temp 4-component vector of float)
|
||||
0:45 add ( temp 4-component vector of float)
|
||||
0:45 add ( temp 4-component vector of float)
|
||||
0:45 'input' ( in 4-component vector of float)
|
||||
0:45 v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||
0:45 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
|
||||
0:45 Constant:
|
||||
0:45 0 (const uint)
|
||||
0:45 v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:45 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
|
||||
0:45 Constant:
|
||||
0:45 0 (const uint)
|
||||
0:45 v3: direct index for structure (layout( row_major std140 offset=0) uniform 4-component vector of float)
|
||||
0:45 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3})
|
||||
0:45 Constant:
|
||||
0:45 0 (const uint)
|
||||
0:45 v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
|
||||
0:45 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4})
|
||||
0:45 Constant:
|
||||
0:45 0 (const uint)
|
||||
0:45 Function Call: foo( ( temp float)
|
||||
0:46 Branch: Return with expression
|
||||
0:46 'ret' ( temp structure{ temp 4-component vector of float a})
|
||||
0:43 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:43 Function Parameters:
|
||||
0:? Sequence
|
||||
0:35 move second child to first child ( temp 4-component vector of float)
|
||||
0:43 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp 4-component vector of float)
|
||||
0:? 'input' ( in 4-component vector of float FragCoord)
|
||||
0:35 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:35 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp 4-component vector of float)
|
||||
0:43 Sequence
|
||||
0:43 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
|
||||
0:43 a: direct index for structure ( temp 4-component vector of float)
|
||||
0:43 Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a})
|
||||
0:? 'input' ( temp 4-component vector of float)
|
||||
0:43 Constant:
|
||||
0:43 0 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
|
||||
0:? 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
|
||||
0:? 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3})
|
||||
0:? 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24})
|
||||
0:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'input' ( in 4-component vector of float FragCoord)
|
||||
|
||||
|
||||
|
@ -67,203 +83,241 @@ gl_FragCoord origin is upper left
|
|||
0:31 Branch: Return with expression
|
||||
0:31 Constant:
|
||||
0:31 1.000000
|
||||
0:35 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
|
||||
0:35 Function Parameters:
|
||||
0:35 'input' ( in 4-component vector of float)
|
||||
0:43 Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a})
|
||||
0:43 Function Parameters:
|
||||
0:43 'input' ( in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:36 Branch: Return with expression
|
||||
0:36 vector-scale ( temp 4-component vector of float)
|
||||
0:36 add ( temp 4-component vector of float)
|
||||
0:36 add ( temp 4-component vector of float)
|
||||
0:36 add ( temp 4-component vector of float)
|
||||
0:36 add ( temp 4-component vector of float)
|
||||
0:36 'input' ( in 4-component vector of float)
|
||||
0:36 v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||
0:36 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:36 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 v3: direct index for structure (layout( row_major std140 offset=0) uniform 4-component vector of float)
|
||||
0:36 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
|
||||
0:36 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 Function Call: foo( ( temp float)
|
||||
0:35 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:35 Function Parameters:
|
||||
0:45 move second child to first child ( temp 4-component vector of float)
|
||||
0:45 a: direct index for structure ( temp 4-component vector of float)
|
||||
0:45 'ret' ( temp structure{ temp 4-component vector of float a})
|
||||
0:45 Constant:
|
||||
0:45 0 (const int)
|
||||
0:45 add ( temp 4-component vector of float)
|
||||
0:45 v24: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||
0:45 'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24})
|
||||
0:45 Constant:
|
||||
0:45 0 (const uint)
|
||||
0:45 vector-scale ( temp 4-component vector of float)
|
||||
0:45 add ( temp 4-component vector of float)
|
||||
0:45 add ( temp 4-component vector of float)
|
||||
0:45 add ( temp 4-component vector of float)
|
||||
0:45 add ( temp 4-component vector of float)
|
||||
0:45 'input' ( in 4-component vector of float)
|
||||
0:45 v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||
0:45 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
|
||||
0:45 Constant:
|
||||
0:45 0 (const uint)
|
||||
0:45 v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:45 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
|
||||
0:45 Constant:
|
||||
0:45 0 (const uint)
|
||||
0:45 v3: direct index for structure (layout( row_major std140 offset=0) uniform 4-component vector of float)
|
||||
0:45 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3})
|
||||
0:45 Constant:
|
||||
0:45 0 (const uint)
|
||||
0:45 v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
|
||||
0:45 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4})
|
||||
0:45 Constant:
|
||||
0:45 0 (const uint)
|
||||
0:45 Function Call: foo( ( temp float)
|
||||
0:46 Branch: Return with expression
|
||||
0:46 'ret' ( temp structure{ temp 4-component vector of float a})
|
||||
0:43 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:43 Function Parameters:
|
||||
0:? Sequence
|
||||
0:35 move second child to first child ( temp 4-component vector of float)
|
||||
0:43 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp 4-component vector of float)
|
||||
0:? 'input' ( in 4-component vector of float FragCoord)
|
||||
0:35 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:35 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp 4-component vector of float)
|
||||
0:43 Sequence
|
||||
0:43 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
|
||||
0:43 a: direct index for structure ( temp 4-component vector of float)
|
||||
0:43 Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a})
|
||||
0:? 'input' ( temp 4-component vector of float)
|
||||
0:43 Constant:
|
||||
0:43 0 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
|
||||
0:? 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
|
||||
0:? 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3})
|
||||
0:? 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24})
|
||||
0:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'input' ( in 4-component vector of float FragCoord)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80003
|
||||
// Id's are bound by 61
|
||||
// Id's are bound by 73
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 54 57
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 65 68
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 8 "foo("
|
||||
Name 14 "@PixelShaderFunction(vf4;"
|
||||
Name 13 "input"
|
||||
Name 20 "buf1"
|
||||
MemberName 20(buf1) 0 "v1"
|
||||
Name 22 ""
|
||||
Name 29 "buf2"
|
||||
MemberName 29(buf2) 0 "v2"
|
||||
Name 31 ""
|
||||
Name 35 "cbufName"
|
||||
MemberName 35(cbufName) 0 "v3"
|
||||
MemberName 35(cbufName) 1 "i3"
|
||||
Name 37 ""
|
||||
Name 42 "tbufName"
|
||||
MemberName 42(tbufName) 0 "v4"
|
||||
MemberName 42(tbufName) 1 "i4"
|
||||
MemberName 42(tbufName) 2 "f1"
|
||||
MemberName 42(tbufName) 3 "f3"
|
||||
MemberName 42(tbufName) 4 "f4"
|
||||
MemberName 42(tbufName) 5 "f5"
|
||||
MemberName 42(tbufName) 6 "f6"
|
||||
MemberName 42(tbufName) 7 "f7"
|
||||
MemberName 42(tbufName) 8 "m1"
|
||||
MemberName 42(tbufName) 9 "m2"
|
||||
MemberName 42(tbufName) 10 "m3"
|
||||
MemberName 42(tbufName) 11 "m4"
|
||||
Name 44 ""
|
||||
Name 52 "input"
|
||||
Name 54 "input"
|
||||
Name 57 "@entryPointOutput"
|
||||
Name 58 "param"
|
||||
MemberDecorate 20(buf1) 0 Offset 0
|
||||
Decorate 20(buf1) Block
|
||||
Decorate 22 DescriptorSet 0
|
||||
MemberDecorate 29(buf2) 0 NonWritable
|
||||
MemberDecorate 29(buf2) 0 Offset 0
|
||||
Decorate 29(buf2) BufferBlock
|
||||
Decorate 31 DescriptorSet 0
|
||||
MemberDecorate 35(cbufName) 0 Offset 0
|
||||
MemberDecorate 35(cbufName) 1 Offset 20
|
||||
Decorate 35(cbufName) Block
|
||||
Decorate 37 DescriptorSet 0
|
||||
MemberDecorate 42(tbufName) 0 NonWritable
|
||||
MemberDecorate 42(tbufName) 0 Offset 16
|
||||
MemberDecorate 42(tbufName) 1 NonWritable
|
||||
MemberDecorate 42(tbufName) 1 Offset 48
|
||||
MemberDecorate 42(tbufName) 2 NonWritable
|
||||
MemberDecorate 42(tbufName) 2 Offset 60
|
||||
MemberDecorate 42(tbufName) 3 NonWritable
|
||||
MemberDecorate 42(tbufName) 3 Offset 64
|
||||
MemberDecorate 42(tbufName) 4 NonWritable
|
||||
MemberDecorate 42(tbufName) 4 Offset 68
|
||||
MemberDecorate 42(tbufName) 5 NonWritable
|
||||
MemberDecorate 42(tbufName) 5 Offset 72
|
||||
MemberDecorate 42(tbufName) 6 NonWritable
|
||||
MemberDecorate 42(tbufName) 6 Offset 76
|
||||
MemberDecorate 42(tbufName) 7 NonWritable
|
||||
MemberDecorate 42(tbufName) 7 Offset 128
|
||||
MemberDecorate 42(tbufName) 8 RowMajor
|
||||
MemberDecorate 42(tbufName) 8 NonWritable
|
||||
MemberDecorate 42(tbufName) 8 Offset 112
|
||||
MemberDecorate 42(tbufName) 8 MatrixStride 16
|
||||
MemberDecorate 42(tbufName) 9 ColMajor
|
||||
MemberDecorate 42(tbufName) 9 NonWritable
|
||||
MemberDecorate 42(tbufName) 9 Offset 176
|
||||
MemberDecorate 42(tbufName) 9 MatrixStride 16
|
||||
MemberDecorate 42(tbufName) 10 RowMajor
|
||||
MemberDecorate 42(tbufName) 10 NonWritable
|
||||
MemberDecorate 42(tbufName) 10 Offset 240
|
||||
MemberDecorate 42(tbufName) 10 MatrixStride 16
|
||||
MemberDecorate 42(tbufName) 11 RowMajor
|
||||
MemberDecorate 42(tbufName) 11 NonWritable
|
||||
MemberDecorate 42(tbufName) 11 Offset 304
|
||||
MemberDecorate 42(tbufName) 11 MatrixStride 16
|
||||
Decorate 42(tbufName) BufferBlock
|
||||
Decorate 44 DescriptorSet 0
|
||||
Decorate 44 Binding 8
|
||||
Decorate 54(input) BuiltIn FragCoord
|
||||
Decorate 57(@entryPointOutput) Location 0
|
||||
Name 12 "id"
|
||||
MemberName 12(id) 0 "a"
|
||||
Name 15 "@PixelShaderFunction(vf4;"
|
||||
Name 14 "input"
|
||||
Name 21 "ret"
|
||||
Name 24 "cbufName2"
|
||||
MemberName 24(cbufName2) 0 "v24"
|
||||
Name 26 ""
|
||||
Name 31 "buf1"
|
||||
MemberName 31(buf1) 0 "v1"
|
||||
Name 33 ""
|
||||
Name 37 "buf2"
|
||||
MemberName 37(buf2) 0 "v2"
|
||||
Name 39 ""
|
||||
Name 43 "cbufName"
|
||||
MemberName 43(cbufName) 0 "v3"
|
||||
MemberName 43(cbufName) 1 "i3"
|
||||
Name 45 ""
|
||||
Name 50 "tbufName"
|
||||
MemberName 50(tbufName) 0 "v4"
|
||||
MemberName 50(tbufName) 1 "i4"
|
||||
MemberName 50(tbufName) 2 "f1"
|
||||
MemberName 50(tbufName) 3 "f3"
|
||||
MemberName 50(tbufName) 4 "f4"
|
||||
MemberName 50(tbufName) 5 "f5"
|
||||
MemberName 50(tbufName) 6 "f6"
|
||||
MemberName 50(tbufName) 7 "f7"
|
||||
MemberName 50(tbufName) 8 "m1"
|
||||
MemberName 50(tbufName) 9 "m2"
|
||||
MemberName 50(tbufName) 10 "m3"
|
||||
MemberName 50(tbufName) 11 "m4"
|
||||
Name 52 ""
|
||||
Name 63 "input"
|
||||
Name 65 "input"
|
||||
Name 68 "@entryPointOutput.a"
|
||||
Name 69 "param"
|
||||
MemberDecorate 24(cbufName2) 0 Offset 0
|
||||
Decorate 24(cbufName2) Block
|
||||
Decorate 26 DescriptorSet 0
|
||||
MemberDecorate 31(buf1) 0 Offset 0
|
||||
Decorate 31(buf1) Block
|
||||
Decorate 33 DescriptorSet 0
|
||||
MemberDecorate 37(buf2) 0 NonWritable
|
||||
MemberDecorate 37(buf2) 0 Offset 0
|
||||
Decorate 37(buf2) BufferBlock
|
||||
Decorate 39 DescriptorSet 0
|
||||
MemberDecorate 43(cbufName) 0 Offset 0
|
||||
MemberDecorate 43(cbufName) 1 Offset 20
|
||||
Decorate 43(cbufName) Block
|
||||
Decorate 45 DescriptorSet 0
|
||||
MemberDecorate 50(tbufName) 0 NonWritable
|
||||
MemberDecorate 50(tbufName) 0 Offset 16
|
||||
MemberDecorate 50(tbufName) 1 NonWritable
|
||||
MemberDecorate 50(tbufName) 1 Offset 48
|
||||
MemberDecorate 50(tbufName) 2 NonWritable
|
||||
MemberDecorate 50(tbufName) 2 Offset 60
|
||||
MemberDecorate 50(tbufName) 3 NonWritable
|
||||
MemberDecorate 50(tbufName) 3 Offset 64
|
||||
MemberDecorate 50(tbufName) 4 NonWritable
|
||||
MemberDecorate 50(tbufName) 4 Offset 68
|
||||
MemberDecorate 50(tbufName) 5 NonWritable
|
||||
MemberDecorate 50(tbufName) 5 Offset 72
|
||||
MemberDecorate 50(tbufName) 6 NonWritable
|
||||
MemberDecorate 50(tbufName) 6 Offset 76
|
||||
MemberDecorate 50(tbufName) 7 NonWritable
|
||||
MemberDecorate 50(tbufName) 7 Offset 128
|
||||
MemberDecorate 50(tbufName) 8 RowMajor
|
||||
MemberDecorate 50(tbufName) 8 NonWritable
|
||||
MemberDecorate 50(tbufName) 8 Offset 112
|
||||
MemberDecorate 50(tbufName) 8 MatrixStride 16
|
||||
MemberDecorate 50(tbufName) 9 ColMajor
|
||||
MemberDecorate 50(tbufName) 9 NonWritable
|
||||
MemberDecorate 50(tbufName) 9 Offset 176
|
||||
MemberDecorate 50(tbufName) 9 MatrixStride 16
|
||||
MemberDecorate 50(tbufName) 10 RowMajor
|
||||
MemberDecorate 50(tbufName) 10 NonWritable
|
||||
MemberDecorate 50(tbufName) 10 Offset 240
|
||||
MemberDecorate 50(tbufName) 10 MatrixStride 16
|
||||
MemberDecorate 50(tbufName) 11 RowMajor
|
||||
MemberDecorate 50(tbufName) 11 NonWritable
|
||||
MemberDecorate 50(tbufName) 11 Offset 304
|
||||
MemberDecorate 50(tbufName) 11 MatrixStride 16
|
||||
Decorate 50(tbufName) BufferBlock
|
||||
Decorate 52 DescriptorSet 0
|
||||
Decorate 52 Binding 8
|
||||
Decorate 65(input) BuiltIn FragCoord
|
||||
Decorate 68(@entryPointOutput.a) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeFunction 6(float)
|
||||
10: TypeVector 6(float) 4
|
||||
11: TypePointer Function 10(fvec4)
|
||||
12: TypeFunction 10(fvec4) 11(ptr)
|
||||
16: 6(float) Constant 1065353216
|
||||
20(buf1): TypeStruct 10(fvec4)
|
||||
21: TypePointer Uniform 20(buf1)
|
||||
22: 21(ptr) Variable Uniform
|
||||
23: TypeInt 32 1
|
||||
24: 23(int) Constant 0
|
||||
25: TypePointer Uniform 10(fvec4)
|
||||
29(buf2): TypeStruct 10(fvec4)
|
||||
30: TypePointer Uniform 29(buf2)
|
||||
31: 30(ptr) Variable Uniform
|
||||
35(cbufName): TypeStruct 10(fvec4) 23(int)
|
||||
36: TypePointer Uniform 35(cbufName)
|
||||
37: 36(ptr) Variable Uniform
|
||||
41: TypeMatrix 10(fvec4) 3
|
||||
42(tbufName): TypeStruct 10(fvec4) 23(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 41 41 41 41
|
||||
43: TypePointer Uniform 42(tbufName)
|
||||
44: 43(ptr) Variable Uniform
|
||||
53: TypePointer Input 10(fvec4)
|
||||
54(input): 53(ptr) Variable Input
|
||||
56: TypePointer Output 10(fvec4)
|
||||
57(@entryPointOutput): 56(ptr) Variable Output
|
||||
12(id): TypeStruct 10(fvec4)
|
||||
13: TypeFunction 12(id) 11(ptr)
|
||||
17: 6(float) Constant 1065353216
|
||||
20: TypePointer Function 12(id)
|
||||
22: TypeInt 32 1
|
||||
23: 22(int) Constant 0
|
||||
24(cbufName2): TypeStruct 10(fvec4)
|
||||
25: TypePointer Uniform 24(cbufName2)
|
||||
26: 25(ptr) Variable Uniform
|
||||
27: TypePointer Uniform 10(fvec4)
|
||||
31(buf1): TypeStruct 10(fvec4)
|
||||
32: TypePointer Uniform 31(buf1)
|
||||
33: 32(ptr) Variable Uniform
|
||||
37(buf2): TypeStruct 10(fvec4)
|
||||
38: TypePointer Uniform 37(buf2)
|
||||
39: 38(ptr) Variable Uniform
|
||||
43(cbufName): TypeStruct 10(fvec4) 22(int)
|
||||
44: TypePointer Uniform 43(cbufName)
|
||||
45: 44(ptr) Variable Uniform
|
||||
49: TypeMatrix 10(fvec4) 3
|
||||
50(tbufName): TypeStruct 10(fvec4) 22(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 49 49 49 49
|
||||
51: TypePointer Uniform 50(tbufName)
|
||||
52: 51(ptr) Variable Uniform
|
||||
64: TypePointer Input 10(fvec4)
|
||||
65(input): 64(ptr) Variable Input
|
||||
67: TypePointer Output 10(fvec4)
|
||||
68(@entryPointOutput.a): 67(ptr) Variable Output
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
52(input): 11(ptr) Variable Function
|
||||
58(param): 11(ptr) Variable Function
|
||||
55: 10(fvec4) Load 54(input)
|
||||
Store 52(input) 55
|
||||
59: 10(fvec4) Load 52(input)
|
||||
Store 58(param) 59
|
||||
60: 10(fvec4) FunctionCall 14(@PixelShaderFunction(vf4;) 58(param)
|
||||
Store 57(@entryPointOutput) 60
|
||||
63(input): 11(ptr) Variable Function
|
||||
69(param): 11(ptr) Variable Function
|
||||
66: 10(fvec4) Load 65(input)
|
||||
Store 63(input) 66
|
||||
70: 10(fvec4) Load 63(input)
|
||||
Store 69(param) 70
|
||||
71: 12(id) FunctionCall 15(@PixelShaderFunction(vf4;) 69(param)
|
||||
72: 10(fvec4) CompositeExtract 71 0
|
||||
Store 68(@entryPointOutput.a) 72
|
||||
Return
|
||||
FunctionEnd
|
||||
8(foo(): 6(float) Function None 7
|
||||
9: Label
|
||||
ReturnValue 16
|
||||
ReturnValue 17
|
||||
FunctionEnd
|
||||
14(@PixelShaderFunction(vf4;): 10(fvec4) Function None 12
|
||||
13(input): 11(ptr) FunctionParameter
|
||||
15: Label
|
||||
19: 10(fvec4) Load 13(input)
|
||||
26: 25(ptr) AccessChain 22 24
|
||||
27: 10(fvec4) Load 26
|
||||
28: 10(fvec4) FAdd 19 27
|
||||
32: 25(ptr) AccessChain 31 24
|
||||
33: 10(fvec4) Load 32
|
||||
34: 10(fvec4) FAdd 28 33
|
||||
38: 25(ptr) AccessChain 37 24
|
||||
39: 10(fvec4) Load 38
|
||||
40: 10(fvec4) FAdd 34 39
|
||||
45: 25(ptr) AccessChain 44 24
|
||||
46: 10(fvec4) Load 45
|
||||
47: 10(fvec4) FAdd 40 46
|
||||
48: 6(float) FunctionCall 8(foo()
|
||||
49: 10(fvec4) VectorTimesScalar 47 48
|
||||
ReturnValue 49
|
||||
15(@PixelShaderFunction(vf4;): 12(id) Function None 13
|
||||
14(input): 11(ptr) FunctionParameter
|
||||
16: Label
|
||||
21(ret): 20(ptr) Variable Function
|
||||
28: 27(ptr) AccessChain 26 23
|
||||
29: 10(fvec4) Load 28
|
||||
30: 10(fvec4) Load 14(input)
|
||||
34: 27(ptr) AccessChain 33 23
|
||||
35: 10(fvec4) Load 34
|
||||
36: 10(fvec4) FAdd 30 35
|
||||
40: 27(ptr) AccessChain 39 23
|
||||
41: 10(fvec4) Load 40
|
||||
42: 10(fvec4) FAdd 36 41
|
||||
46: 27(ptr) AccessChain 45 23
|
||||
47: 10(fvec4) Load 46
|
||||
48: 10(fvec4) FAdd 42 47
|
||||
53: 27(ptr) AccessChain 52 23
|
||||
54: 10(fvec4) Load 53
|
||||
55: 10(fvec4) FAdd 48 54
|
||||
56: 6(float) FunctionCall 8(foo()
|
||||
57: 10(fvec4) VectorTimesScalar 55 56
|
||||
58: 10(fvec4) FAdd 29 57
|
||||
59: 11(ptr) AccessChain 21(ret) 23
|
||||
Store 59 58
|
||||
60: 12(id) Load 21(ret)
|
||||
ReturnValue 60
|
||||
FunctionEnd
|
||||
|
|
|
@ -6,23 +6,33 @@ gl_FragCoord origin is upper left
|
|||
0:16 Function Parameters:
|
||||
0:16 'input' ( in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:17 Branch: Return with expression
|
||||
0:17 add ( temp 4-component vector of float)
|
||||
0:17 add ( temp 4-component vector of float)
|
||||
0:17 add ( temp 4-component vector of float)
|
||||
0:17 'input' ( in 4-component vector of float)
|
||||
0:17 v1: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
|
||||
0:17 'anon@0' (layout( set=3 binding=5 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 v5: direct index for structure (layout( row_major std430 offset=0) buffer 4-component vector of float)
|
||||
0:17 'anon@1' (layout( row_major std430 push_constant) readonly buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 v1PostLayout: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
|
||||
0:17 'anon@2' (layout( set=4 binding=7 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child ( temp 4-component vector of float)
|
||||
0:17 'layout' ( temp 4-component vector of float)
|
||||
0:17 Constant:
|
||||
0:17 2.000000
|
||||
0:17 2.000000
|
||||
0:17 2.000000
|
||||
0:17 2.000000
|
||||
0:18 Branch: Return with expression
|
||||
0:18 add ( temp 4-component vector of float)
|
||||
0:18 add ( temp 4-component vector of float)
|
||||
0:18 add ( temp 4-component vector of float)
|
||||
0:18 'input' ( in 4-component vector of float)
|
||||
0:18 v1: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
|
||||
0:18 'anon@0' (layout( set=3 binding=5 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 v5: direct index for structure (layout( row_major std430 offset=0) buffer 4-component vector of float)
|
||||
0:18 'anon@1' (layout( row_major std430 push_constant) readonly buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 component-wise multiply ( temp 4-component vector of float)
|
||||
0:18 v1PostLayout: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
|
||||
0:18 'anon@2' (layout( set=4 binding=7 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 'layout' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( set=3 binding=5 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1})
|
||||
0:? 'anon@1' (layout( row_major std430 push_constant) readonly buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5})
|
||||
|
@ -42,23 +52,33 @@ gl_FragCoord origin is upper left
|
|||
0:16 Function Parameters:
|
||||
0:16 'input' ( in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:17 Branch: Return with expression
|
||||
0:17 add ( temp 4-component vector of float)
|
||||
0:17 add ( temp 4-component vector of float)
|
||||
0:17 add ( temp 4-component vector of float)
|
||||
0:17 'input' ( in 4-component vector of float)
|
||||
0:17 v1: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
|
||||
0:17 'anon@0' (layout( set=3 binding=5 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 v5: direct index for structure (layout( row_major std430 offset=0) buffer 4-component vector of float)
|
||||
0:17 'anon@1' (layout( row_major std430 push_constant) readonly buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 v1PostLayout: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
|
||||
0:17 'anon@2' (layout( set=4 binding=7 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child ( temp 4-component vector of float)
|
||||
0:17 'layout' ( temp 4-component vector of float)
|
||||
0:17 Constant:
|
||||
0:17 2.000000
|
||||
0:17 2.000000
|
||||
0:17 2.000000
|
||||
0:17 2.000000
|
||||
0:18 Branch: Return with expression
|
||||
0:18 add ( temp 4-component vector of float)
|
||||
0:18 add ( temp 4-component vector of float)
|
||||
0:18 add ( temp 4-component vector of float)
|
||||
0:18 'input' ( in 4-component vector of float)
|
||||
0:18 v1: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
|
||||
0:18 'anon@0' (layout( set=3 binding=5 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 v5: direct index for structure (layout( row_major std430 offset=0) buffer 4-component vector of float)
|
||||
0:18 'anon@1' (layout( row_major std430 push_constant) readonly buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 component-wise multiply ( temp 4-component vector of float)
|
||||
0:18 v1PostLayout: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
|
||||
0:18 'anon@2' (layout( set=4 binding=7 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 'layout' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( set=3 binding=5 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1})
|
||||
0:? 'anon@1' (layout( row_major std430 push_constant) readonly buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5})
|
||||
|
@ -68,7 +88,7 @@ gl_FragCoord origin is upper left
|
|||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80003
|
||||
// Id's are bound by 39
|
||||
// Id's are bound by 44
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
|
@ -79,50 +99,53 @@ gl_FragCoord origin is upper left
|
|||
Name 4 "main"
|
||||
Name 11 "PixelShaderFunction(vf4;"
|
||||
Name 10 "input"
|
||||
Name 14 "tbufName"
|
||||
MemberName 14(tbufName) 0 "v1"
|
||||
Name 16 ""
|
||||
Name 23 "tbufName2"
|
||||
MemberName 23(tbufName2) 0 "v5"
|
||||
Name 25 ""
|
||||
Name 30 "tbufName2"
|
||||
MemberName 30(tbufName2) 0 "v1PostLayout"
|
||||
Name 32 ""
|
||||
Name 38 "specConst"
|
||||
MemberDecorate 14(tbufName) 0 NonWritable
|
||||
MemberDecorate 14(tbufName) 0 Offset 16
|
||||
Decorate 14(tbufName) BufferBlock
|
||||
Decorate 16 DescriptorSet 3
|
||||
Decorate 16 Binding 5
|
||||
MemberDecorate 23(tbufName2) 0 NonWritable
|
||||
MemberDecorate 23(tbufName2) 0 Offset 0
|
||||
Decorate 23(tbufName2) BufferBlock
|
||||
MemberDecorate 30(tbufName2) 0 NonWritable
|
||||
MemberDecorate 30(tbufName2) 0 Offset 16
|
||||
Decorate 30(tbufName2) BufferBlock
|
||||
Decorate 32 DescriptorSet 4
|
||||
Decorate 32 Binding 7
|
||||
Decorate 38(specConst) SpecId 17
|
||||
Name 13 "layout"
|
||||
Name 17 "tbufName"
|
||||
MemberName 17(tbufName) 0 "v1"
|
||||
Name 19 ""
|
||||
Name 26 "tbufName2"
|
||||
MemberName 26(tbufName2) 0 "v5"
|
||||
Name 28 ""
|
||||
Name 33 "tbufName2"
|
||||
MemberName 33(tbufName2) 0 "v1PostLayout"
|
||||
Name 35 ""
|
||||
Name 43 "specConst"
|
||||
MemberDecorate 17(tbufName) 0 NonWritable
|
||||
MemberDecorate 17(tbufName) 0 Offset 16
|
||||
Decorate 17(tbufName) BufferBlock
|
||||
Decorate 19 DescriptorSet 3
|
||||
Decorate 19 Binding 5
|
||||
MemberDecorate 26(tbufName2) 0 NonWritable
|
||||
MemberDecorate 26(tbufName2) 0 Offset 0
|
||||
Decorate 26(tbufName2) BufferBlock
|
||||
MemberDecorate 33(tbufName2) 0 NonWritable
|
||||
MemberDecorate 33(tbufName2) 0 Offset 16
|
||||
Decorate 33(tbufName2) BufferBlock
|
||||
Decorate 35 DescriptorSet 4
|
||||
Decorate 35 Binding 7
|
||||
Decorate 43(specConst) SpecId 17
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Function 7(fvec4)
|
||||
9: TypeFunction 7(fvec4) 8(ptr)
|
||||
14(tbufName): TypeStruct 7(fvec4)
|
||||
15: TypePointer Uniform 14(tbufName)
|
||||
16: 15(ptr) Variable Uniform
|
||||
17: TypeInt 32 1
|
||||
18: 17(int) Constant 0
|
||||
19: TypePointer Uniform 7(fvec4)
|
||||
23(tbufName2): TypeStruct 7(fvec4)
|
||||
24: TypePointer PushConstant 23(tbufName2)
|
||||
25: 24(ptr) Variable PushConstant
|
||||
26: TypePointer PushConstant 7(fvec4)
|
||||
30(tbufName2): TypeStruct 7(fvec4)
|
||||
31: TypePointer Uniform 30(tbufName2)
|
||||
32: 31(ptr) Variable Uniform
|
||||
38(specConst): 17(int) SpecConstant 10
|
||||
14: 6(float) Constant 1073741824
|
||||
15: 7(fvec4) ConstantComposite 14 14 14 14
|
||||
17(tbufName): TypeStruct 7(fvec4)
|
||||
18: TypePointer Uniform 17(tbufName)
|
||||
19: 18(ptr) Variable Uniform
|
||||
20: TypeInt 32 1
|
||||
21: 20(int) Constant 0
|
||||
22: TypePointer Uniform 7(fvec4)
|
||||
26(tbufName2): TypeStruct 7(fvec4)
|
||||
27: TypePointer PushConstant 26(tbufName2)
|
||||
28: 27(ptr) Variable PushConstant
|
||||
29: TypePointer PushConstant 7(fvec4)
|
||||
33(tbufName2): TypeStruct 7(fvec4)
|
||||
34: TypePointer Uniform 33(tbufName2)
|
||||
35: 34(ptr) Variable Uniform
|
||||
43(specConst): 20(int) SpecConstant 10
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
|
@ -130,15 +153,19 @@ gl_FragCoord origin is upper left
|
|||
11(PixelShaderFunction(vf4;): 7(fvec4) Function None 9
|
||||
10(input): 8(ptr) FunctionParameter
|
||||
12: Label
|
||||
13: 7(fvec4) Load 10(input)
|
||||
20: 19(ptr) AccessChain 16 18
|
||||
21: 7(fvec4) Load 20
|
||||
22: 7(fvec4) FAdd 13 21
|
||||
27: 26(ptr) AccessChain 25 18
|
||||
28: 7(fvec4) Load 27
|
||||
29: 7(fvec4) FAdd 22 28
|
||||
33: 19(ptr) AccessChain 32 18
|
||||
34: 7(fvec4) Load 33
|
||||
35: 7(fvec4) FAdd 29 34
|
||||
ReturnValue 35
|
||||
13(layout): 8(ptr) Variable Function
|
||||
Store 13(layout) 15
|
||||
16: 7(fvec4) Load 10(input)
|
||||
23: 22(ptr) AccessChain 19 21
|
||||
24: 7(fvec4) Load 23
|
||||
25: 7(fvec4) FAdd 16 24
|
||||
30: 29(ptr) AccessChain 28 21
|
||||
31: 7(fvec4) Load 30
|
||||
32: 7(fvec4) FAdd 25 31
|
||||
36: 22(ptr) AccessChain 35 21
|
||||
37: 7(fvec4) Load 36
|
||||
38: 7(fvec4) Load 13(layout)
|
||||
39: 7(fvec4) FMul 37 38
|
||||
40: 7(fvec4) FAdd 32 39
|
||||
ReturnValue 40
|
||||
FunctionEnd
|
||||
|
|
|
@ -31,7 +31,17 @@ float foo() // float looks like identifier, but can't be part of tbuffer
|
|||
return 1.0;
|
||||
}
|
||||
|
||||
float4 PixelShaderFunction(float4 input : SV_POSITION) : SV_TARGET0
|
||||
{
|
||||
return (input + v1 + v2 + v3 + v4) * foo();
|
||||
struct id {
|
||||
float4 a;
|
||||
};
|
||||
|
||||
cbuffer cbufName2 {
|
||||
float4 v24;
|
||||
}
|
||||
|
||||
id PixelShaderFunction(float4 input : SV_POSITION) : SV_TARGET0 // id looks like id for cbuffer name, but can't be
|
||||
{
|
||||
id ret;
|
||||
ret.a = v24 + (input + v1 + v2 + v3 + v4) * foo();
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -14,5 +14,6 @@ tbuffer tbufName2 : layout(set=4,binding=7) {
|
|||
|
||||
float4 PixelShaderFunction(float4 input) : COLOR0
|
||||
{
|
||||
return input + v1 + v5 + v1PostLayout;
|
||||
float4 layout = 2.0;
|
||||
return input + v1 + v5 + v1PostLayout * layout;
|
||||
}
|
||||
|
|
|
@ -376,7 +376,7 @@ bool HlslGrammar::acceptDeclaration(TIntermNode*& nodeList)
|
|||
|
||||
bool forbidDeclarators = (peekTokenClass(EHTokCBuffer) || peekTokenClass(EHTokTBuffer));
|
||||
// fully_specified_type
|
||||
if (! acceptFullySpecifiedType(declaredType, nodeList, declarator.attributes))
|
||||
if (! acceptFullySpecifiedType(declaredType, nodeList, declarator.attributes, forbidDeclarators))
|
||||
return false;
|
||||
|
||||
// cbuffer and tbuffer end with the closing '}'.
|
||||
|
@ -583,7 +583,7 @@ bool HlslGrammar::acceptFullySpecifiedType(TType& type, const TAttributeMap& att
|
|||
TIntermNode* nodeList = nullptr;
|
||||
return acceptFullySpecifiedType(type, nodeList, attributes);
|
||||
}
|
||||
bool HlslGrammar::acceptFullySpecifiedType(TType& type, TIntermNode*& nodeList, const TAttributeMap& attributes)
|
||||
bool HlslGrammar::acceptFullySpecifiedType(TType& type, TIntermNode*& nodeList, const TAttributeMap& attributes, bool forbidDeclarators)
|
||||
{
|
||||
// type_qualifier
|
||||
TQualifier qualifier;
|
||||
|
@ -611,7 +611,9 @@ bool HlslGrammar::acceptFullySpecifiedType(TType& type, TIntermNode*& nodeList,
|
|||
parseContext.transferTypeAttributes(attributes, type);
|
||||
|
||||
// further, it can create an anonymous instance of the block
|
||||
if (peek() != EHTokIdentifier)
|
||||
// (cbuffer and tbuffer don't consume the next identifier, and
|
||||
// should set forbidDeclarators)
|
||||
if (forbidDeclarators || peek() != EHTokIdentifier)
|
||||
parseContext.declareBlock(loc, type);
|
||||
} else {
|
||||
// Some qualifiers are set when parsing the type. Merge those with
|
||||
|
@ -4077,6 +4079,7 @@ const char* HlslGrammar::getTypeString(EHlslTokenClass tokenClass) const
|
|||
case EHTokMin16int: return "min16int";
|
||||
case EHTokMin12int: return "min12int";
|
||||
case EHTokConstantBuffer: return "ConstantBuffer";
|
||||
case EHTokLayout: return "layout";
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@ namespace glslang {
|
|||
bool acceptSamplerDeclarationDX9(TType&);
|
||||
bool acceptSamplerState();
|
||||
bool acceptFullySpecifiedType(TType&, const TAttributeMap&);
|
||||
bool acceptFullySpecifiedType(TType&, TIntermNode*& nodeList, const TAttributeMap&);
|
||||
bool acceptFullySpecifiedType(TType&, TIntermNode*& nodeList, const TAttributeMap&, bool forbidDeclarators = false);
|
||||
bool acceptQualifier(TQualifier&);
|
||||
bool acceptLayoutQualifierList(TQualifier&);
|
||||
bool acceptType(TType&);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"site" : "github",
|
||||
"subrepo" : "KhronosGroup/SPIRV-Tools",
|
||||
"subdir" : "External/spirv-tools",
|
||||
"commit" : "0f804063154f45af308f8ce31c41f58fae3f18dc"
|
||||
"commit" : "716718a5e969f6b4e73cbc864db59a754a83aab3"
|
||||
},
|
||||
{
|
||||
"name" : "spirv-tools/external/spirv-headers",
|
||||
|
|
Загрузка…
Ссылка в новой задаче