HLSL: Add shape conversions for scalar -> vector assigments.
Also, this allows turning on the error check for a failed assigment when parsing. This makes 39 HLSL tests have a working assignment that was previously silently dropped, due to lack of this functionality.
This commit is contained in:
parent
a26a5170a3
commit
fea226ba43
46 changed files with 2571 additions and 1413 deletions
|
|
@ -23,6 +23,16 @@ gl_FragCoord origin is upper left
|
|||
0:30 textureFetch (global 4-component vector of uint)
|
||||
0:30 'g_tTexbu4' (uniform usamplerBuffer)
|
||||
0:30 'c1' (uniform int)
|
||||
0:34 move second child to first child (temp 4-component vector of float)
|
||||
0:34 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
0:34 Constant:
|
||||
0:34 0 (const int)
|
||||
0:34 Constant:
|
||||
0:34 1.000000
|
||||
0:34 1.000000
|
||||
0:34 1.000000
|
||||
0:34 1.000000
|
||||
0:35 move second child to first child (temp float)
|
||||
0:35 Depth: direct index for structure (temp float FragDepth)
|
||||
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
|
|
@ -74,6 +84,16 @@ gl_FragCoord origin is upper left
|
|||
0:30 textureFetch (global 4-component vector of uint)
|
||||
0:30 'g_tTexbu4' (uniform usamplerBuffer)
|
||||
0:30 'c1' (uniform int)
|
||||
0:34 move second child to first child (temp 4-component vector of float)
|
||||
0:34 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
0:34 Constant:
|
||||
0:34 0 (const int)
|
||||
0:34 Constant:
|
||||
0:34 1.000000
|
||||
0:34 1.000000
|
||||
0:34 1.000000
|
||||
0:34 1.000000
|
||||
0:35 move second child to first child (temp float)
|
||||
0:35 Depth: direct index for structure (temp float FragDepth)
|
||||
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
|
|
@ -99,7 +119,7 @@ gl_FragCoord origin is upper left
|
|||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 66
|
||||
// Id's are bound by 69
|
||||
|
||||
Capability Shader
|
||||
Capability SampledBuffer
|
||||
|
|
@ -120,19 +140,19 @@ gl_FragCoord origin is upper left
|
|||
MemberName 44(PS_OUTPUT) 0 "Color"
|
||||
MemberName 44(PS_OUTPUT) 1 "Depth"
|
||||
Name 46 "psout"
|
||||
Name 53 "g_tTexbf4_test"
|
||||
Name 56 "c2"
|
||||
Name 59 "c3"
|
||||
Name 61 "c4"
|
||||
Name 62 "o1"
|
||||
Name 63 "o2"
|
||||
Name 64 "o3"
|
||||
Name 65 "o4"
|
||||
Name 56 "g_tTexbf4_test"
|
||||
Name 59 "c2"
|
||||
Name 62 "c3"
|
||||
Name 64 "c4"
|
||||
Name 65 "o1"
|
||||
Name 66 "o2"
|
||||
Name 67 "o3"
|
||||
Name 68 "o4"
|
||||
Decorate 13(g_tTexbf4) DescriptorSet 0
|
||||
Decorate 27(g_tTexbi4) DescriptorSet 0
|
||||
Decorate 39(g_tTexbu4) DescriptorSet 0
|
||||
MemberDecorate 44(PS_OUTPUT) 1 BuiltIn FragDepth
|
||||
Decorate 53(g_tTexbf4_test) DescriptorSet 0
|
||||
Decorate 56(g_tTexbf4_test) DescriptorSet 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
|
|
@ -160,22 +180,24 @@ gl_FragCoord origin is upper left
|
|||
39(g_tTexbu4): 38(ptr) Variable UniformConstant
|
||||
44(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
|
||||
45: TypePointer Function 44(PS_OUTPUT)
|
||||
47: 15(int) Constant 1
|
||||
47: 15(int) Constant 0
|
||||
48: 6(float) Constant 1065353216
|
||||
49: TypePointer Function 6(float)
|
||||
53(g_tTexbf4_test): 12(ptr) Variable UniformConstant
|
||||
54: TypeVector 15(int) 2
|
||||
55: TypePointer UniformConstant 54(ivec2)
|
||||
56(c2): 55(ptr) Variable UniformConstant
|
||||
57: TypeVector 15(int) 3
|
||||
58: TypePointer UniformConstant 57(ivec3)
|
||||
59(c3): 58(ptr) Variable UniformConstant
|
||||
60: TypePointer UniformConstant 21(ivec4)
|
||||
61(c4): 60(ptr) Variable UniformConstant
|
||||
62(o1): 16(ptr) Variable UniformConstant
|
||||
63(o2): 55(ptr) Variable UniformConstant
|
||||
64(o3): 58(ptr) Variable UniformConstant
|
||||
65(o4): 60(ptr) Variable UniformConstant
|
||||
49: 7(fvec4) ConstantComposite 48 48 48 48
|
||||
51: 15(int) Constant 1
|
||||
52: TypePointer Function 6(float)
|
||||
56(g_tTexbf4_test): 12(ptr) Variable UniformConstant
|
||||
57: TypeVector 15(int) 2
|
||||
58: TypePointer UniformConstant 57(ivec2)
|
||||
59(c2): 58(ptr) Variable UniformConstant
|
||||
60: TypeVector 15(int) 3
|
||||
61: TypePointer UniformConstant 60(ivec3)
|
||||
62(c3): 61(ptr) Variable UniformConstant
|
||||
63: TypePointer UniformConstant 21(ivec4)
|
||||
64(c4): 63(ptr) Variable UniformConstant
|
||||
65(o1): 16(ptr) Variable UniformConstant
|
||||
66(o2): 58(ptr) Variable UniformConstant
|
||||
67(o3): 61(ptr) Variable UniformConstant
|
||||
68(o4): 63(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(r00): 8(ptr) Variable Function
|
||||
|
|
@ -197,8 +219,10 @@ gl_FragCoord origin is upper left
|
|||
42: 36 Image 40
|
||||
43: 33(ivec4) ImageFetch 42 41
|
||||
Store 35(r02) 43
|
||||
50: 49(ptr) AccessChain 46(psout) 47
|
||||
Store 50 48
|
||||
51:44(PS_OUTPUT) Load 46(psout)
|
||||
ReturnValue 51
|
||||
50: 8(ptr) AccessChain 46(psout) 47
|
||||
Store 50 49
|
||||
53: 52(ptr) AccessChain 46(psout) 51
|
||||
Store 53 48
|
||||
54:44(PS_OUTPUT) Load 46(psout)
|
||||
ReturnValue 54
|
||||
FunctionEnd
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue