HLSL: add 2DMS texture formats, and matching Load / GetDimensions support

This commit is contained in:
steve-lunarg
2016-07-26 15:19:28 -06:00
parent 8c8505c604
commit 1e19d90043
9 changed files with 2161 additions and 634 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,340 @@
hlsl.load.2dms.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:57 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:28 Function Parameters:
0:? Sequence
0:32 textureFetch (global 4-component vector of float)
0:32 'g_tTex2dmsf4' (uniform texture2DMS)
0:32 'c2' (uniform 2-component vector of int)
0:32 Constant:
0:32 3 (const int)
0:33 textureFetch (global 4-component vector of int)
0:33 'g_tTex2dmsi4' (uniform itexture2DMS)
0:33 'c2' (uniform 2-component vector of int)
0:33 Constant:
0:33 3 (const int)
0:34 textureFetch (global 4-component vector of uint)
0:34 'g_tTex2dmsu4' (uniform utexture2DMS)
0:34 'c2' (uniform 2-component vector of int)
0:34 Constant:
0:34 3 (const int)
0:37 textureFetchOffset (global 4-component vector of float)
0:37 'g_tTex2dmsf4' (uniform texture2DMS)
0:37 'c2' (uniform 2-component vector of int)
0:37 Constant:
0:37 3 (const int)
0:37 'o2' (uniform 2-component vector of int)
0:38 textureFetchOffset (global 4-component vector of int)
0:38 'g_tTex2dmsi4' (uniform itexture2DMS)
0:38 'c2' (uniform 2-component vector of int)
0:38 Constant:
0:38 3 (const int)
0:38 'o2' (uniform 2-component vector of int)
0:39 textureFetchOffset (global 4-component vector of uint)
0:39 'g_tTex2dmsu4' (uniform utexture2DMS)
0:39 'c2' (uniform 2-component vector of int)
0:39 Constant:
0:39 3 (const int)
0:39 'o2' (uniform 2-component vector of int)
0:42 textureFetch (global 4-component vector of float)
0:42 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:42 'c3' (uniform 3-component vector of int)
0:42 Constant:
0:42 3 (const int)
0:43 textureFetch (global 4-component vector of int)
0:43 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:43 'c3' (uniform 3-component vector of int)
0:43 Constant:
0:43 3 (const int)
0:44 textureFetch (global 4-component vector of uint)
0:44 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
0:44 'c3' (uniform 3-component vector of int)
0:44 Constant:
0:44 3 (const int)
0:47 textureFetchOffset (global 4-component vector of float)
0:47 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:47 'c3' (uniform 3-component vector of int)
0:47 Constant:
0:47 3 (const int)
0:47 'o2' (uniform 2-component vector of int)
0:48 textureFetchOffset (global 4-component vector of int)
0:48 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:48 'c3' (uniform 3-component vector of int)
0:48 Constant:
0:48 3 (const int)
0:48 'o2' (uniform 2-component vector of int)
0:49 textureFetchOffset (global 4-component vector of uint)
0:49 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
0:49 'c3' (uniform 3-component vector of int)
0:49 Constant:
0:49 3 (const int)
0:49 'o2' (uniform 2-component vector of int)
0:52 move second child to first child (temp float)
0:52 Depth: direct index for structure (temp float FragDepth)
0:52 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:52 Constant:
0:52 1 (const int)
0:52 Constant:
0:52 1.000000
0:54 Branch: Return with expression
0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsi4' (uniform itexture2DMS)
0:? 'g_tTex2dmsu4' (uniform utexture2DMS)
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
0:? 'c1' (uniform int)
0:? 'c2' (uniform 2-component vector of int)
0:? 'c3' (uniform 3-component vector of int)
0:? 'c4' (uniform 4-component vector of int)
0:? 'o1' (uniform int)
0:? 'o2' (uniform 2-component vector of int)
0:? 'o3' (uniform 3-component vector of int)
0:? 'o4' (uniform 4-component vector of int)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:57 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:28 Function Parameters:
0:? Sequence
0:32 textureFetch (global 4-component vector of float)
0:32 'g_tTex2dmsf4' (uniform texture2DMS)
0:32 'c2' (uniform 2-component vector of int)
0:32 Constant:
0:32 3 (const int)
0:33 textureFetch (global 4-component vector of int)
0:33 'g_tTex2dmsi4' (uniform itexture2DMS)
0:33 'c2' (uniform 2-component vector of int)
0:33 Constant:
0:33 3 (const int)
0:34 textureFetch (global 4-component vector of uint)
0:34 'g_tTex2dmsu4' (uniform utexture2DMS)
0:34 'c2' (uniform 2-component vector of int)
0:34 Constant:
0:34 3 (const int)
0:37 textureFetchOffset (global 4-component vector of float)
0:37 'g_tTex2dmsf4' (uniform texture2DMS)
0:37 'c2' (uniform 2-component vector of int)
0:37 Constant:
0:37 3 (const int)
0:37 'o2' (uniform 2-component vector of int)
0:38 textureFetchOffset (global 4-component vector of int)
0:38 'g_tTex2dmsi4' (uniform itexture2DMS)
0:38 'c2' (uniform 2-component vector of int)
0:38 Constant:
0:38 3 (const int)
0:38 'o2' (uniform 2-component vector of int)
0:39 textureFetchOffset (global 4-component vector of uint)
0:39 'g_tTex2dmsu4' (uniform utexture2DMS)
0:39 'c2' (uniform 2-component vector of int)
0:39 Constant:
0:39 3 (const int)
0:39 'o2' (uniform 2-component vector of int)
0:42 textureFetch (global 4-component vector of float)
0:42 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:42 'c3' (uniform 3-component vector of int)
0:42 Constant:
0:42 3 (const int)
0:43 textureFetch (global 4-component vector of int)
0:43 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:43 'c3' (uniform 3-component vector of int)
0:43 Constant:
0:43 3 (const int)
0:44 textureFetch (global 4-component vector of uint)
0:44 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
0:44 'c3' (uniform 3-component vector of int)
0:44 Constant:
0:44 3 (const int)
0:47 textureFetchOffset (global 4-component vector of float)
0:47 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:47 'c3' (uniform 3-component vector of int)
0:47 Constant:
0:47 3 (const int)
0:47 'o2' (uniform 2-component vector of int)
0:48 textureFetchOffset (global 4-component vector of int)
0:48 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:48 'c3' (uniform 3-component vector of int)
0:48 Constant:
0:48 3 (const int)
0:48 'o2' (uniform 2-component vector of int)
0:49 textureFetchOffset (global 4-component vector of uint)
0:49 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
0:49 'c3' (uniform 3-component vector of int)
0:49 Constant:
0:49 3 (const int)
0:49 'o2' (uniform 2-component vector of int)
0:52 move second child to first child (temp float)
0:52 Depth: direct index for structure (temp float FragDepth)
0:52 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:52 Constant:
0:52 1 (const int)
0:52 Constant:
0:52 1.000000
0:54 Branch: Return with expression
0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsi4' (uniform itexture2DMS)
0:? 'g_tTex2dmsu4' (uniform utexture2DMS)
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
0:? 'c1' (uniform int)
0:? 'c2' (uniform 2-component vector of int)
0:? 'c3' (uniform 3-component vector of int)
0:? 'c4' (uniform 4-component vector of int)
0:? 'o1' (uniform int)
0:? 'o2' (uniform 2-component vector of int)
0:? 'o3' (uniform 3-component vector of int)
0:? 'o4' (uniform 4-component vector of int)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 99
Capability Shader
Capability ImageGatherExtended
Capability ImageMSArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
Name 4 "main"
Name 9 "g_tTex2dmsf4"
Name 14 "c2"
Name 21 "g_tTex2dmsi4"
Name 29 "g_tTex2dmsu4"
Name 36 "o2"
Name 49 "g_tTex2dmsf4a"
Name 53 "c3"
Name 58 "g_tTex2dmsi4a"
Name 64 "g_tTex2dmsu4a"
Name 80 "PS_OUTPUT"
MemberName 80(PS_OUTPUT) 0 "Color"
MemberName 80(PS_OUTPUT) 1 "Depth"
Name 82 "psout"
Name 91 "g_sSamp"
Name 93 "c1"
Name 95 "c4"
Name 96 "o1"
Name 97 "o3"
Name 98 "o4"
Decorate 9(g_tTex2dmsf4) DescriptorSet 0
Decorate 21(g_tTex2dmsi4) DescriptorSet 0
Decorate 29(g_tTex2dmsu4) DescriptorSet 0
Decorate 49(g_tTex2dmsf4a) DescriptorSet 0
Decorate 58(g_tTex2dmsi4a) DescriptorSet 0
Decorate 64(g_tTex2dmsu4a) DescriptorSet 0
MemberDecorate 80(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 91(g_sSamp) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 2D multi-sampled sampled format:Unknown
8: TypePointer UniformConstant 7
9(g_tTex2dmsf4): 8(ptr) Variable UniformConstant
11: TypeInt 32 1
12: TypeVector 11(int) 2
13: TypePointer UniformConstant 12(ivec2)
14(c2): 13(ptr) Variable UniformConstant
16: 11(int) Constant 3
17: TypeVector 6(float) 4
19: TypeImage 11(int) 2D multi-sampled sampled format:Unknown
20: TypePointer UniformConstant 19
21(g_tTex2dmsi4): 20(ptr) Variable UniformConstant
24: TypeVector 11(int) 4
26: TypeInt 32 0
27: TypeImage 26(int) 2D multi-sampled sampled format:Unknown
28: TypePointer UniformConstant 27
29(g_tTex2dmsu4): 28(ptr) Variable UniformConstant
32: TypeVector 26(int) 4
36(o2): 13(ptr) Variable UniformConstant
47: TypeImage 6(float) 2D array multi-sampled sampled format:Unknown
48: TypePointer UniformConstant 47
49(g_tTex2dmsf4a): 48(ptr) Variable UniformConstant
51: TypeVector 11(int) 3
52: TypePointer UniformConstant 51(ivec3)
53(c3): 52(ptr) Variable UniformConstant
56: TypeImage 11(int) 2D array multi-sampled sampled format:Unknown
57: TypePointer UniformConstant 56
58(g_tTex2dmsi4a): 57(ptr) Variable UniformConstant
62: TypeImage 26(int) 2D array multi-sampled sampled format:Unknown
63: TypePointer UniformConstant 62
64(g_tTex2dmsu4a): 63(ptr) Variable UniformConstant
80(PS_OUTPUT): TypeStruct 17(fvec4) 6(float)
81: TypePointer Function 80(PS_OUTPUT)
83: 11(int) Constant 1
84: 6(float) Constant 1065353216
85: TypePointer Function 6(float)
89: TypeSampler
90: TypePointer UniformConstant 89
91(g_sSamp): 90(ptr) Variable UniformConstant
92: TypePointer UniformConstant 11(int)
93(c1): 92(ptr) Variable UniformConstant
94: TypePointer UniformConstant 24(ivec4)
95(c4): 94(ptr) Variable UniformConstant
96(o1): 92(ptr) Variable UniformConstant
97(o3): 52(ptr) Variable UniformConstant
98(o4): 94(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
82(psout): 81(ptr) Variable Function
10: 7 Load 9(g_tTex2dmsf4)
15: 12(ivec2) Load 14(c2)
18: 17(fvec4) ImageFetch 10 15 Sample 16
22: 19 Load 21(g_tTex2dmsi4)
23: 12(ivec2) Load 14(c2)
25: 24(ivec4) ImageFetch 22 23 Sample 16
30: 27 Load 29(g_tTex2dmsu4)
31: 12(ivec2) Load 14(c2)
33: 32(ivec4) ImageFetch 30 31 Sample 16
34: 7 Load 9(g_tTex2dmsf4)
35: 12(ivec2) Load 14(c2)
37: 12(ivec2) Load 36(o2)
38: 17(fvec4) ImageFetch 34 35 Offset Sample 37 16
39: 19 Load 21(g_tTex2dmsi4)
40: 12(ivec2) Load 14(c2)
41: 12(ivec2) Load 36(o2)
42: 24(ivec4) ImageFetch 39 40 Offset Sample 41 16
43: 27 Load 29(g_tTex2dmsu4)
44: 12(ivec2) Load 14(c2)
45: 12(ivec2) Load 36(o2)
46: 32(ivec4) ImageFetch 43 44 Offset Sample 45 16
50: 47 Load 49(g_tTex2dmsf4a)
54: 51(ivec3) Load 53(c3)
55: 17(fvec4) ImageFetch 50 54 Sample 16
59: 56 Load 58(g_tTex2dmsi4a)
60: 51(ivec3) Load 53(c3)
61: 24(ivec4) ImageFetch 59 60 Sample 16
65: 62 Load 64(g_tTex2dmsu4a)
66: 51(ivec3) Load 53(c3)
67: 32(ivec4) ImageFetch 65 66 Sample 16
68: 47 Load 49(g_tTex2dmsf4a)
69: 51(ivec3) Load 53(c3)
70: 12(ivec2) Load 36(o2)
71: 17(fvec4) ImageFetch 68 69 Offset Sample 70 16
72: 56 Load 58(g_tTex2dmsi4a)
73: 51(ivec3) Load 53(c3)
74: 12(ivec2) Load 36(o2)
75: 24(ivec4) ImageFetch 72 73 Offset Sample 74 16
76: 62 Load 64(g_tTex2dmsu4a)
77: 51(ivec3) Load 53(c3)
78: 12(ivec2) Load 36(o2)
79: 32(ivec4) ImageFetch 76 77 Offset Sample 78 16
86: 85(ptr) AccessChain 82(psout) 83
Store 86 84
87:80(PS_OUTPUT) Load 82(psout)
ReturnValue 87
FunctionEnd

View File

@@ -0,0 +1,565 @@
hlsl.load.basic.dx10.vert
Shader version: 450
0:? Sequence
0:71 Function Definition: main( (global structure{temp 4-component vector of float FragCoord Pos})
0:47 Function Parameters:
0:? Sequence
0:51 textureFetch (global 4-component vector of float)
0:51 'g_tTex1df4' (uniform texture1D)
0:51 vector swizzle (temp int)
0:51 'c2' (uniform 2-component vector of int)
0:51 Sequence
0:51 Constant:
0:51 0 (const int)
0:51 direct index (temp int)
0:51 'c2' (uniform 2-component vector of int)
0:51 Constant:
0:51 1 (const int)
0:52 textureFetch (global 4-component vector of int)
0:52 'g_tTex1di4' (uniform itexture1D)
0:52 vector swizzle (temp int)
0:52 'c2' (uniform 2-component vector of int)
0:52 Sequence
0:52 Constant:
0:52 0 (const int)
0:52 direct index (temp int)
0:52 'c2' (uniform 2-component vector of int)
0:52 Constant:
0:52 1 (const int)
0:53 textureFetch (global 4-component vector of uint)
0:53 'g_tTex1du4' (uniform utexture1D)
0:53 vector swizzle (temp int)
0:53 'c2' (uniform 2-component vector of int)
0:53 Sequence
0:53 Constant:
0:53 0 (const int)
0:53 direct index (temp int)
0:53 'c2' (uniform 2-component vector of int)
0:53 Constant:
0:53 1 (const int)
0:56 textureFetch (global 4-component vector of float)
0:56 'g_tTex2df4' (uniform texture2D)
0:56 vector swizzle (temp 2-component vector of int)
0:56 'c3' (uniform 3-component vector of int)
0:56 Sequence
0:56 Constant:
0:56 0 (const int)
0:56 Constant:
0:56 1 (const int)
0:56 direct index (temp int)
0:56 'c3' (uniform 3-component vector of int)
0:56 Constant:
0:56 2 (const int)
0:57 textureFetch (global 4-component vector of int)
0:57 'g_tTex2di4' (uniform itexture2D)
0:57 vector swizzle (temp 2-component vector of int)
0:57 'c3' (uniform 3-component vector of int)
0:57 Sequence
0:57 Constant:
0:57 0 (const int)
0:57 Constant:
0:57 1 (const int)
0:57 direct index (temp int)
0:57 'c3' (uniform 3-component vector of int)
0:57 Constant:
0:57 2 (const int)
0:58 textureFetch (global 4-component vector of uint)
0:58 'g_tTex2du4' (uniform utexture2D)
0:58 vector swizzle (temp 2-component vector of int)
0:58 'c3' (uniform 3-component vector of int)
0:58 Sequence
0:58 Constant:
0:58 0 (const int)
0:58 Constant:
0:58 1 (const int)
0:58 direct index (temp int)
0:58 'c3' (uniform 3-component vector of int)
0:58 Constant:
0:58 2 (const int)
0:61 textureFetch (global 4-component vector of float)
0:61 'g_tTex3df4' (uniform texture3D)
0:61 vector swizzle (temp 3-component vector of int)
0:61 'c4' (uniform 4-component vector of int)
0:61 Sequence
0:61 Constant:
0:61 0 (const int)
0:61 Constant:
0:61 1 (const int)
0:61 Constant:
0:61 2 (const int)
0:61 direct index (temp int)
0:61 'c4' (uniform 4-component vector of int)
0:61 Constant:
0:61 3 (const int)
0:62 textureFetch (global 4-component vector of int)
0:62 'g_tTex3di4' (uniform itexture3D)
0:62 vector swizzle (temp 3-component vector of int)
0:62 'c4' (uniform 4-component vector of int)
0:62 Sequence
0:62 Constant:
0:62 0 (const int)
0:62 Constant:
0:62 1 (const int)
0:62 Constant:
0:62 2 (const int)
0:62 direct index (temp int)
0:62 'c4' (uniform 4-component vector of int)
0:62 Constant:
0:62 3 (const int)
0:63 textureFetch (global 4-component vector of uint)
0:63 'g_tTex3du4' (uniform utexture3D)
0:63 vector swizzle (temp 3-component vector of int)
0:63 'c4' (uniform 4-component vector of int)
0:63 Sequence
0:63 Constant:
0:63 0 (const int)
0:63 Constant:
0:63 1 (const int)
0:63 Constant:
0:63 2 (const int)
0:63 direct index (temp int)
0:63 'c4' (uniform 4-component vector of int)
0:63 Constant:
0:63 3 (const int)
0:67 move second child to first child (temp 4-component vector of float)
0:67 Pos: direct index for structure (temp 4-component vector of float FragCoord)
0:67 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos})
0:67 Constant:
0:67 0 (const int)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:69 Branch: Return with expression
0:69 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4' (uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
0:? 'g_tTex1du4' (uniform utexture1D)
0:? 'g_tTex2df4' (uniform texture2D)
0:? 'g_tTex2di4' (uniform itexture2D)
0:? 'g_tTex2du4' (uniform utexture2D)
0:? 'g_tTex3df4' (uniform texture3D)
0:? 'g_tTex3di4' (uniform itexture3D)
0:? 'g_tTex3du4' (uniform utexture3D)
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'g_tTex1df4a' (uniform texture1DArray)
0:? 'g_tTex1di4a' (uniform itexture1DArray)
0:? 'g_tTex1du4a' (uniform utexture1DArray)
0:? 'g_tTex2df4a' (uniform texture2DArray)
0:? 'g_tTex2di4a' (uniform itexture2DArray)
0:? 'g_tTex2du4a' (uniform utexture2DArray)
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'c1' (uniform int)
0:? 'c2' (uniform 2-component vector of int)
0:? 'c3' (uniform 3-component vector of int)
0:? 'c4' (uniform 4-component vector of int)
0:? 'o1' (uniform int)
0:? 'o2' (uniform 2-component vector of int)
0:? 'o3' (uniform 3-component vector of int)
0:? 'o4' (uniform 4-component vector of int)
Linked vertex stage:
Shader version: 450
0:? Sequence
0:71 Function Definition: main( (global structure{temp 4-component vector of float FragCoord Pos})
0:47 Function Parameters:
0:? Sequence
0:51 textureFetch (global 4-component vector of float)
0:51 'g_tTex1df4' (uniform texture1D)
0:51 vector swizzle (temp int)
0:51 'c2' (uniform 2-component vector of int)
0:51 Sequence
0:51 Constant:
0:51 0 (const int)
0:51 direct index (temp int)
0:51 'c2' (uniform 2-component vector of int)
0:51 Constant:
0:51 1 (const int)
0:52 textureFetch (global 4-component vector of int)
0:52 'g_tTex1di4' (uniform itexture1D)
0:52 vector swizzle (temp int)
0:52 'c2' (uniform 2-component vector of int)
0:52 Sequence
0:52 Constant:
0:52 0 (const int)
0:52 direct index (temp int)
0:52 'c2' (uniform 2-component vector of int)
0:52 Constant:
0:52 1 (const int)
0:53 textureFetch (global 4-component vector of uint)
0:53 'g_tTex1du4' (uniform utexture1D)
0:53 vector swizzle (temp int)
0:53 'c2' (uniform 2-component vector of int)
0:53 Sequence
0:53 Constant:
0:53 0 (const int)
0:53 direct index (temp int)
0:53 'c2' (uniform 2-component vector of int)
0:53 Constant:
0:53 1 (const int)
0:56 textureFetch (global 4-component vector of float)
0:56 'g_tTex2df4' (uniform texture2D)
0:56 vector swizzle (temp 2-component vector of int)
0:56 'c3' (uniform 3-component vector of int)
0:56 Sequence
0:56 Constant:
0:56 0 (const int)
0:56 Constant:
0:56 1 (const int)
0:56 direct index (temp int)
0:56 'c3' (uniform 3-component vector of int)
0:56 Constant:
0:56 2 (const int)
0:57 textureFetch (global 4-component vector of int)
0:57 'g_tTex2di4' (uniform itexture2D)
0:57 vector swizzle (temp 2-component vector of int)
0:57 'c3' (uniform 3-component vector of int)
0:57 Sequence
0:57 Constant:
0:57 0 (const int)
0:57 Constant:
0:57 1 (const int)
0:57 direct index (temp int)
0:57 'c3' (uniform 3-component vector of int)
0:57 Constant:
0:57 2 (const int)
0:58 textureFetch (global 4-component vector of uint)
0:58 'g_tTex2du4' (uniform utexture2D)
0:58 vector swizzle (temp 2-component vector of int)
0:58 'c3' (uniform 3-component vector of int)
0:58 Sequence
0:58 Constant:
0:58 0 (const int)
0:58 Constant:
0:58 1 (const int)
0:58 direct index (temp int)
0:58 'c3' (uniform 3-component vector of int)
0:58 Constant:
0:58 2 (const int)
0:61 textureFetch (global 4-component vector of float)
0:61 'g_tTex3df4' (uniform texture3D)
0:61 vector swizzle (temp 3-component vector of int)
0:61 'c4' (uniform 4-component vector of int)
0:61 Sequence
0:61 Constant:
0:61 0 (const int)
0:61 Constant:
0:61 1 (const int)
0:61 Constant:
0:61 2 (const int)
0:61 direct index (temp int)
0:61 'c4' (uniform 4-component vector of int)
0:61 Constant:
0:61 3 (const int)
0:62 textureFetch (global 4-component vector of int)
0:62 'g_tTex3di4' (uniform itexture3D)
0:62 vector swizzle (temp 3-component vector of int)
0:62 'c4' (uniform 4-component vector of int)
0:62 Sequence
0:62 Constant:
0:62 0 (const int)
0:62 Constant:
0:62 1 (const int)
0:62 Constant:
0:62 2 (const int)
0:62 direct index (temp int)
0:62 'c4' (uniform 4-component vector of int)
0:62 Constant:
0:62 3 (const int)
0:63 textureFetch (global 4-component vector of uint)
0:63 'g_tTex3du4' (uniform utexture3D)
0:63 vector swizzle (temp 3-component vector of int)
0:63 'c4' (uniform 4-component vector of int)
0:63 Sequence
0:63 Constant:
0:63 0 (const int)
0:63 Constant:
0:63 1 (const int)
0:63 Constant:
0:63 2 (const int)
0:63 direct index (temp int)
0:63 'c4' (uniform 4-component vector of int)
0:63 Constant:
0:63 3 (const int)
0:67 move second child to first child (temp 4-component vector of float)
0:67 Pos: direct index for structure (temp 4-component vector of float FragCoord)
0:67 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos})
0:67 Constant:
0:67 0 (const int)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:69 Branch: Return with expression
0:69 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4' (uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
0:? 'g_tTex1du4' (uniform utexture1D)
0:? 'g_tTex2df4' (uniform texture2D)
0:? 'g_tTex2di4' (uniform itexture2D)
0:? 'g_tTex2du4' (uniform utexture2D)
0:? 'g_tTex3df4' (uniform texture3D)
0:? 'g_tTex3di4' (uniform itexture3D)
0:? 'g_tTex3du4' (uniform utexture3D)
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'g_tTex1df4a' (uniform texture1DArray)
0:? 'g_tTex1di4a' (uniform itexture1DArray)
0:? 'g_tTex1du4a' (uniform utexture1DArray)
0:? 'g_tTex2df4a' (uniform texture2DArray)
0:? 'g_tTex2di4a' (uniform itexture2DArray)
0:? 'g_tTex2du4a' (uniform utexture2DArray)
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'c1' (uniform int)
0:? 'c2' (uniform 2-component vector of int)
0:? 'c3' (uniform 3-component vector of int)
0:? 'c4' (uniform 4-component vector of int)
0:? 'o1' (uniform int)
0:? 'o2' (uniform 2-component vector of int)
0:? 'o3' (uniform 3-component vector of int)
0:? 'o4' (uniform 4-component vector of int)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 160
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Source HLSL 450
Name 4 "main"
Name 9 "g_tTex1df4"
Name 14 "c2"
Name 27 "g_tTex1di4"
Name 37 "g_tTex1du4"
Name 47 "g_tTex2df4"
Name 51 "c3"
Name 60 "g_tTex2di4"
Name 69 "g_tTex2du4"
Name 78 "g_tTex3df4"
Name 81 "c4"
Name 90 "g_tTex3di4"
Name 99 "g_tTex3du4"
Name 106 "VS_OUTPUT"
MemberName 106(VS_OUTPUT) 0 "Pos"
Name 108 "vsout"
Name 118 "g_sSamp"
Name 121 "g_tTexcdf4"
Name 124 "g_tTexcdi4"
Name 127 "g_tTexcdu4"
Name 130 "g_tTex1df4a"
Name 133 "g_tTex1di4a"
Name 136 "g_tTex1du4a"
Name 139 "g_tTex2df4a"
Name 142 "g_tTex2di4a"
Name 145 "g_tTex2du4a"
Name 148 "g_tTexcdf4a"
Name 151 "g_tTexcdi4a"
Name 154 "g_tTexcdu4a"
Name 155 "c1"
Name 156 "o1"
Name 157 "o2"
Name 158 "o3"
Name 159 "o4"
Decorate 9(g_tTex1df4) DescriptorSet 0
Decorate 27(g_tTex1di4) DescriptorSet 0
Decorate 37(g_tTex1du4) DescriptorSet 0
Decorate 47(g_tTex2df4) DescriptorSet 0
Decorate 60(g_tTex2di4) DescriptorSet 0
Decorate 69(g_tTex2du4) DescriptorSet 0
Decorate 78(g_tTex3df4) DescriptorSet 0
Decorate 90(g_tTex3di4) DescriptorSet 0
Decorate 99(g_tTex3du4) DescriptorSet 0
MemberDecorate 106(VS_OUTPUT) 0 BuiltIn FragCoord
Decorate 118(g_sSamp) DescriptorSet 0
Decorate 121(g_tTexcdf4) DescriptorSet 0
Decorate 124(g_tTexcdi4) DescriptorSet 0
Decorate 127(g_tTexcdu4) DescriptorSet 0
Decorate 130(g_tTex1df4a) DescriptorSet 0
Decorate 133(g_tTex1di4a) DescriptorSet 0
Decorate 136(g_tTex1du4a) DescriptorSet 0
Decorate 139(g_tTex2df4a) DescriptorSet 0
Decorate 142(g_tTex2di4a) DescriptorSet 0
Decorate 145(g_tTex2du4a) DescriptorSet 0
Decorate 148(g_tTexcdf4a) DescriptorSet 0
Decorate 151(g_tTexcdi4a) DescriptorSet 0
Decorate 154(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 1D sampled format:Unknown
8: TypePointer UniformConstant 7
9(g_tTex1df4): 8(ptr) Variable UniformConstant
11: TypeInt 32 1
12: TypeVector 11(int) 2
13: TypePointer UniformConstant 12(ivec2)
14(c2): 13(ptr) Variable UniformConstant
15: TypeInt 32 0
16: 15(int) Constant 0
17: TypePointer UniformConstant 11(int)
20: 15(int) Constant 1
23: TypeVector 6(float) 4
25: TypeImage 11(int) 1D sampled format:Unknown
26: TypePointer UniformConstant 25
27(g_tTex1di4): 26(ptr) Variable UniformConstant
33: TypeVector 11(int) 4
35: TypeImage 15(int) 1D sampled format:Unknown
36: TypePointer UniformConstant 35
37(g_tTex1du4): 36(ptr) Variable UniformConstant
43: TypeVector 15(int) 4
45: TypeImage 6(float) 2D sampled format:Unknown
46: TypePointer UniformConstant 45
47(g_tTex2df4): 46(ptr) Variable UniformConstant
49: TypeVector 11(int) 3
50: TypePointer UniformConstant 49(ivec3)
51(c3): 50(ptr) Variable UniformConstant
54: 15(int) Constant 2
58: TypeImage 11(int) 2D sampled format:Unknown
59: TypePointer UniformConstant 58
60(g_tTex2di4): 59(ptr) Variable UniformConstant
67: TypeImage 15(int) 2D sampled format:Unknown
68: TypePointer UniformConstant 67
69(g_tTex2du4): 68(ptr) Variable UniformConstant
76: TypeImage 6(float) 3D sampled format:Unknown
77: TypePointer UniformConstant 76
78(g_tTex3df4): 77(ptr) Variable UniformConstant
80: TypePointer UniformConstant 33(ivec4)
81(c4): 80(ptr) Variable UniformConstant
84: 15(int) Constant 3
88: TypeImage 11(int) 3D sampled format:Unknown
89: TypePointer UniformConstant 88
90(g_tTex3di4): 89(ptr) Variable UniformConstant
97: TypeImage 15(int) 3D sampled format:Unknown
98: TypePointer UniformConstant 97
99(g_tTex3du4): 98(ptr) Variable UniformConstant
106(VS_OUTPUT): TypeStruct 23(fvec4)
107: TypePointer Function 106(VS_OUTPUT)
109: 11(int) Constant 0
110: 6(float) Constant 0
111: 23(fvec4) ConstantComposite 110 110 110 110
112: TypePointer Function 23(fvec4)
116: TypeSampler
117: TypePointer UniformConstant 116
118(g_sSamp): 117(ptr) Variable UniformConstant
119: TypeImage 6(float) Cube sampled format:Unknown
120: TypePointer UniformConstant 119
121(g_tTexcdf4): 120(ptr) Variable UniformConstant
122: TypeImage 11(int) Cube sampled format:Unknown
123: TypePointer UniformConstant 122
124(g_tTexcdi4): 123(ptr) Variable UniformConstant
125: TypeImage 15(int) Cube sampled format:Unknown
126: TypePointer UniformConstant 125
127(g_tTexcdu4): 126(ptr) Variable UniformConstant
128: TypeImage 6(float) 1D array sampled format:Unknown
129: TypePointer UniformConstant 128
130(g_tTex1df4a): 129(ptr) Variable UniformConstant
131: TypeImage 11(int) 1D array sampled format:Unknown
132: TypePointer UniformConstant 131
133(g_tTex1di4a): 132(ptr) Variable UniformConstant
134: TypeImage 15(int) 1D array sampled format:Unknown
135: TypePointer UniformConstant 134
136(g_tTex1du4a): 135(ptr) Variable UniformConstant
137: TypeImage 6(float) 2D array sampled format:Unknown
138: TypePointer UniformConstant 137
139(g_tTex2df4a): 138(ptr) Variable UniformConstant
140: TypeImage 11(int) 2D array sampled format:Unknown
141: TypePointer UniformConstant 140
142(g_tTex2di4a): 141(ptr) Variable UniformConstant
143: TypeImage 15(int) 2D array sampled format:Unknown
144: TypePointer UniformConstant 143
145(g_tTex2du4a): 144(ptr) Variable UniformConstant
146: TypeImage 6(float) Cube array sampled format:Unknown
147: TypePointer UniformConstant 146
148(g_tTexcdf4a): 147(ptr) Variable UniformConstant
149: TypeImage 11(int) Cube array sampled format:Unknown
150: TypePointer UniformConstant 149
151(g_tTexcdi4a): 150(ptr) Variable UniformConstant
152: TypeImage 15(int) Cube array sampled format:Unknown
153: TypePointer UniformConstant 152
154(g_tTexcdu4a): 153(ptr) Variable UniformConstant
155(c1): 17(ptr) Variable UniformConstant
156(o1): 17(ptr) Variable UniformConstant
157(o2): 13(ptr) Variable UniformConstant
158(o3): 50(ptr) Variable UniformConstant
159(o4): 80(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
108(vsout): 107(ptr) Variable Function
10: 7 Load 9(g_tTex1df4)
18: 17(ptr) AccessChain 14(c2) 16
19: 11(int) Load 18
21: 17(ptr) AccessChain 14(c2) 20
22: 11(int) Load 21
24: 23(fvec4) ImageFetch 10 19 Lod 22
28: 25 Load 27(g_tTex1di4)
29: 17(ptr) AccessChain 14(c2) 16
30: 11(int) Load 29
31: 17(ptr) AccessChain 14(c2) 20
32: 11(int) Load 31
34: 33(ivec4) ImageFetch 28 30 Lod 32
38: 35 Load 37(g_tTex1du4)
39: 17(ptr) AccessChain 14(c2) 16
40: 11(int) Load 39
41: 17(ptr) AccessChain 14(c2) 20
42: 11(int) Load 41
44: 43(ivec4) ImageFetch 38 40 Lod 42
48: 45 Load 47(g_tTex2df4)
52: 49(ivec3) Load 51(c3)
53: 12(ivec2) VectorShuffle 52 52 0 1
55: 17(ptr) AccessChain 51(c3) 54
56: 11(int) Load 55
57: 23(fvec4) ImageFetch 48 53 Lod 56
61: 58 Load 60(g_tTex2di4)
62: 49(ivec3) Load 51(c3)
63: 12(ivec2) VectorShuffle 62 62 0 1
64: 17(ptr) AccessChain 51(c3) 54
65: 11(int) Load 64
66: 33(ivec4) ImageFetch 61 63 Lod 65
70: 67 Load 69(g_tTex2du4)
71: 49(ivec3) Load 51(c3)
72: 12(ivec2) VectorShuffle 71 71 0 1
73: 17(ptr) AccessChain 51(c3) 54
74: 11(int) Load 73
75: 43(ivec4) ImageFetch 70 72 Lod 74
79: 76 Load 78(g_tTex3df4)
82: 33(ivec4) Load 81(c4)
83: 49(ivec3) VectorShuffle 82 82 0 1 2
85: 17(ptr) AccessChain 81(c4) 84
86: 11(int) Load 85
87: 23(fvec4) ImageFetch 79 83 Lod 86
91: 88 Load 90(g_tTex3di4)
92: 33(ivec4) Load 81(c4)
93: 49(ivec3) VectorShuffle 92 92 0 1 2
94: 17(ptr) AccessChain 81(c4) 84
95: 11(int) Load 94
96: 33(ivec4) ImageFetch 91 93 Lod 95
100: 97 Load 99(g_tTex3du4)
101: 33(ivec4) Load 81(c4)
102: 49(ivec3) VectorShuffle 101 101 0 1 2
103: 17(ptr) AccessChain 81(c4) 84
104: 11(int) Load 103
105: 43(ivec4) ImageFetch 100 102 Lod 104
113: 112(ptr) AccessChain 108(vsout) 109
Store 113 111
114:106(VS_OUTPUT) Load 108(vsout)
ReturnValue 114
FunctionEnd

View File

@@ -28,6 +28,14 @@ TextureCubeArray <float4> g_tTexcdf4a;
TextureCubeArray <int4> g_tTexcdi4a;
TextureCubeArray <uint4> g_tTexcdu4a;
Texture2DMS <float4> g_tTex2dmsf4;
Texture2DMS <int4> g_tTex2dmsi4;
Texture2DMS <uint4> g_tTex2dmsu4;
Texture2DMSArray <float4> g_tTex2dmsf4a;
Texture2DMSArray <int4> g_tTex2dmsi4a;
Texture2DMSArray <uint4> g_tTex2dmsu4a;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
@@ -137,6 +145,23 @@ PS_OUTPUT main()
g_tTexcdu4a . GetDimensions(WidthU, HeightU, ElementsU);
g_tTexcdu4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU);
// 2DMS, float tx, uint params
g_tTex2dmsf4 . GetDimensions(WidthU, HeightU, NumberOfSamplesU);
// 2DMS, int tx, uint params
g_tTex2dmsi4 . GetDimensions(WidthU, HeightU, NumberOfSamplesU);
// 2DMS, uint tx, uint params
g_tTex2dmsu4 . GetDimensions(WidthU, HeightU, NumberOfSamplesU);
// 2DMSArray, float tx, uint params
g_tTex2dmsf4a . GetDimensions(WidthU, HeightU, ElementsU, NumberOfSamplesU);
// 2DMSArray, int tx, uint params
g_tTex2dmsi4a . GetDimensions(WidthU, HeightU, ElementsU, NumberOfSamplesU);
// 2DMSArray, uint tx, uint params
g_tTex2dmsu4a . GetDimensions(WidthU, HeightU, ElementsU, NumberOfSamplesU);
// TODO: ***************************************************
// Change this to 1 to enable float overloads when the HLSL
@@ -228,6 +253,24 @@ PS_OUTPUT main()
// Cubearray, uint, float params
g_tTexcdu4a . GetDimensions(WidthF, HeightF, ElementsF);
g_tTexcdu4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF);
// 2DMS, float tx, uint params
g_tTex2dmsf4 . GetDimensions(WidthF, HeightF, NumberOfSamplesF);
// 2DMS, int tx, uint params
g_tTex2dmsi4 . GetDimensions(WidthF, HeightF, NumberOfSamplesF);
// 2DMS, uint tx, uint params
g_tTex2dmsu4 . GetDimensions(WidthF, HeightF, NumberOfSamplesF);
// 2DMSArray, float tx, uint params
g_tTex2dmsf4a . GetDimensions(WidthF, HeightF, ElementsF, NumberOfSamplesF);
// 2DMSArray, int tx, uint params
g_tTex2dmsi4a . GetDimensions(WidthF, HeightF, ElementsF, NumberOfSamplesF);
// 2DMSArray, uint tx, uint params
g_tTex2dmsu4a . GetDimensions(WidthF, HeightF, ElementsF, NumberOfSamplesF);
#endif // OVERLOAD_FIX
psout.Color = 1.0;

View File

@@ -0,0 +1,56 @@
SamplerState g_sSamp : register(s0);
Texture2DMS <float4> g_tTex2dmsf4;
Texture2DMS <int4> g_tTex2dmsi4;
Texture2DMS <uint4> g_tTex2dmsu4;
Texture2DMSArray <float4> g_tTex2dmsf4a;
Texture2DMSArray <int4> g_tTex2dmsi4a;
Texture2DMSArray <uint4> g_tTex2dmsu4a;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
uniform int c1;
uniform int2 c2;
uniform int3 c3;
uniform int4 c4;
uniform int o1;
uniform int2 o2;
uniform int3 o3;
uniform int4 o4;
PS_OUTPUT main()
{
PS_OUTPUT psout;
// 2DMS, no offset
g_tTex2dmsf4.Load(c2, 3);
g_tTex2dmsi4.Load(c2, 3);
g_tTex2dmsu4.Load(c2, 3);
// 2DMS, offset
g_tTex2dmsf4.Load(c2, 3, o2);
g_tTex2dmsi4.Load(c2, 3, o2);
g_tTex2dmsu4.Load(c2, 3, o2);
// 2DMSArray, no offset
g_tTex2dmsf4a.Load(c3, 3);
g_tTex2dmsi4a.Load(c3, 3);
g_tTex2dmsu4a.Load(c3, 3);
// 2DMSArray, offset
g_tTex2dmsf4a.Load(c3, 3, o2);
g_tTex2dmsi4a.Load(c3, 3, o2);
g_tTex2dmsu4a.Load(c3, 3, o2);
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}

View File

@@ -0,0 +1,70 @@
SamplerState g_sSamp : register(s0);
uniform Texture1D <float4> g_tTex1df4 : register(t0);
Texture1D <int4> g_tTex1di4;
Texture1D <uint4> g_tTex1du4;
Texture2D <float4> g_tTex2df4;
Texture2D <int4> g_tTex2di4;
Texture2D <uint4> g_tTex2du4;
Texture3D <float4> g_tTex3df4;
Texture3D <int4> g_tTex3di4;
Texture3D <uint4> g_tTex3du4;
TextureCube <float4> g_tTexcdf4;
TextureCube <int4> g_tTexcdi4;
TextureCube <uint4> g_tTexcdu4;
Texture1DArray <float4> g_tTex1df4a;
Texture1DArray <int4> g_tTex1di4a;
Texture1DArray <uint4> g_tTex1du4a;
Texture2DArray <float4> g_tTex2df4a;
Texture2DArray <int4> g_tTex2di4a;
Texture2DArray <uint4> g_tTex2du4a;
TextureCubeArray <float4> g_tTexcdf4a;
TextureCubeArray <int4> g_tTexcdi4a;
TextureCubeArray <uint4> g_tTexcdu4a;
struct VS_OUTPUT
{
float4 Pos : SV_Position;
};
uniform int c1;
uniform int2 c2;
uniform int3 c3;
uniform int4 c4;
uniform int o1;
uniform int2 o2;
uniform int3 o3;
uniform int4 o4;
VS_OUTPUT main()
{
VS_OUTPUT vsout;
// 1D
g_tTex1df4.Load(c2);
g_tTex1di4.Load(c2);
g_tTex1du4.Load(c2);
// 2D
g_tTex2df4.Load(c3);
g_tTex2di4.Load(c3);
g_tTex2du4.Load(c3);
// 3D
g_tTex3df4.Load(c4);
g_tTex3di4.Load(c4);
g_tTex3du4.Load(c4);
// Offset has no Cube or CubeArray forms
vsout.Pos = float4(0,0,0,0);
return vsout;
}