mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
Add a test for buffer auto-binding assignment.
This commit is contained in:
parent
3e47f5f7c8
commit
e4fe8b5c44
89
Test/baseResults/spv.buffer.autoassign.frag.out
Normal file
89
Test/baseResults/spv.buffer.autoassign.frag.out
Normal file
@ -0,0 +1,89 @@
|
||||
spv.buffer.autoassign.frag
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 45
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 41
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 8 "PS_OUTPUT"
|
||||
MemberName 8(PS_OUTPUT) 0 "Color"
|
||||
Name 10 "psout"
|
||||
Name 13 ""
|
||||
MemberName 13 0 "g_a"
|
||||
MemberName 13 1 "g_b"
|
||||
Name 15 ""
|
||||
Name 25 ""
|
||||
MemberName 25 0 "g_c"
|
||||
Name 27 ""
|
||||
Name 31 ""
|
||||
MemberName 31 0 "g_d"
|
||||
Name 33 ""
|
||||
Name 41 "Color"
|
||||
MemberDecorate 13 0 Offset 0
|
||||
MemberDecorate 13 1 Offset 4
|
||||
Decorate 13 Block
|
||||
Decorate 15 DescriptorSet 0
|
||||
Decorate 15 Binding 20
|
||||
MemberDecorate 25 0 Offset 0
|
||||
Decorate 25 Block
|
||||
Decorate 27 DescriptorSet 0
|
||||
Decorate 27 Binding 1
|
||||
MemberDecorate 31 0 Offset 0
|
||||
Decorate 31 Block
|
||||
Decorate 33 DescriptorSet 0
|
||||
Decorate 33 Binding 2
|
||||
Decorate 41(Color) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8(PS_OUTPUT): TypeStruct 7(fvec4)
|
||||
9: TypePointer Function 8(PS_OUTPUT)
|
||||
11: TypeInt 32 1
|
||||
12: 11(int) Constant 0
|
||||
13: TypeStruct 6(float) 11(int)
|
||||
14: TypePointer Uniform 13(struct)
|
||||
15: 14(ptr) Variable Uniform
|
||||
16: TypePointer Uniform 6(float)
|
||||
19: 11(int) Constant 1
|
||||
20: TypePointer Uniform 11(int)
|
||||
25: TypeStruct 6(float)
|
||||
26: TypePointer Uniform 25(struct)
|
||||
27: 26(ptr) Variable Uniform
|
||||
31: TypeStruct 6(float)
|
||||
32: TypePointer Uniform 31(struct)
|
||||
33: 32(ptr) Variable Uniform
|
||||
38: TypePointer Function 7(fvec4)
|
||||
40: TypePointer Output 7(fvec4)
|
||||
41(Color): 40(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(psout): 9(ptr) Variable Function
|
||||
17: 16(ptr) AccessChain 15 12
|
||||
18: 6(float) Load 17
|
||||
21: 20(ptr) AccessChain 15 19
|
||||
22: 11(int) Load 21
|
||||
23: 6(float) ConvertSToF 22
|
||||
24: 6(float) FAdd 18 23
|
||||
28: 16(ptr) AccessChain 27 12
|
||||
29: 6(float) Load 28
|
||||
30: 6(float) FAdd 24 29
|
||||
34: 16(ptr) AccessChain 33 12
|
||||
35: 6(float) Load 34
|
||||
36: 6(float) FAdd 30 35
|
||||
37: 7(fvec4) CompositeConstruct 36 36 36 36
|
||||
39: 38(ptr) AccessChain 10(psout) 12
|
||||
Store 39 37
|
||||
42: 38(ptr) AccessChain 10(psout) 12
|
||||
43: 7(fvec4) Load 42
|
||||
Store 41(Color) 43
|
||||
Return
|
||||
FunctionEnd
|
28
Test/spv.buffer.autoassign.frag
Normal file
28
Test/spv.buffer.autoassign.frag
Normal file
@ -0,0 +1,28 @@
|
||||
|
||||
cbuffer MyUB1 : register(b5) // explicitly assigned & offsetted
|
||||
{
|
||||
float g_a;
|
||||
int g_b;
|
||||
};
|
||||
|
||||
cbuffer MyUB2 // implicitly assigned
|
||||
{
|
||||
float g_c;
|
||||
};
|
||||
|
||||
cbuffer MyUB3 // implicitly assigned
|
||||
{
|
||||
float g_d;
|
||||
};
|
||||
|
||||
struct PS_OUTPUT
|
||||
{
|
||||
float4 Color : SV_Target0;
|
||||
};
|
||||
|
||||
PS_OUTPUT main()
|
||||
{
|
||||
PS_OUTPUT psout;
|
||||
psout.Color = g_a + g_b + g_c + g_d;
|
||||
return psout;
|
||||
}
|
@ -284,6 +284,7 @@ INSTANTIATE_TEST_CASE_P(
|
||||
{ "spv.register.autoassign.frag", "main_ep", 5, 10, 15, true, false },
|
||||
{ "spv.register.noautoassign.frag", "main_ep", 5, 10, 15, false, false },
|
||||
{ "spv.register.autoassign-2.frag", "main", 5, 10, 15, true, true },
|
||||
{ "spv.buffer.autoassign.frag", "main", 5, 10, 15, true, true },
|
||||
}),
|
||||
FileNameAsCustomTestSuffixIoMap
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user