Support for SPV_QCOM_image_processing2 (#3539)
This commit is contained in:
parent
be0d1cb452
commit
10ee92feb0
18 changed files with 822 additions and 8 deletions
124
Test/baseResults/spv.tpipBlockMatchGatherSAD.frag.out
Normal file
124
Test/baseResults/spv.tpipBlockMatchGatherSAD.frag.out
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
spv.tpipBlockMatchGatherSAD.frag
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 72
|
||||
|
||||
Capability Shader
|
||||
Capability Bad
|
||||
Extension "SPV_QCOM_image_processing2"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 13 41
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_QCOM_image_processing2"
|
||||
Name 4 "main"
|
||||
Name 9 "tgt_coords"
|
||||
Name 13 "v_texcoord"
|
||||
Name 26 "ref_coords"
|
||||
Name 37 "blockSize"
|
||||
Name 41 "fragColor"
|
||||
Name 44 "tex2D_src1"
|
||||
Name 48 "samp"
|
||||
Name 53 "tex2D_src2"
|
||||
Name 61 "target_samp"
|
||||
Name 64 "ref_samp"
|
||||
Name 71 "tex2DArray_weights"
|
||||
Decorate 13(v_texcoord) Location 0
|
||||
Decorate 41(fragColor) Location 0
|
||||
Decorate 44(tex2D_src1) DescriptorSet 0
|
||||
Decorate 44(tex2D_src1) Binding 1
|
||||
Decorate 48(samp) DescriptorSet 0
|
||||
Decorate 48(samp) Binding 3
|
||||
Decorate 53(tex2D_src2) DescriptorSet 0
|
||||
Decorate 53(tex2D_src2) Binding 2
|
||||
Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM
|
||||
Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM
|
||||
Decorate 61(target_samp) DescriptorSet 0
|
||||
Decorate 61(target_samp) Binding 4
|
||||
Decorate 64(ref_samp) DescriptorSet 0
|
||||
Decorate 64(ref_samp) Binding 5
|
||||
Decorate 61(target_samp) DecorationBlockMatchTextureQCOM
|
||||
Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM
|
||||
Decorate 71(tex2DArray_weights) DescriptorSet 0
|
||||
Decorate 71(tex2DArray_weights) Binding 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 2
|
||||
8: TypePointer Function 7(ivec2)
|
||||
10: TypeFloat 32
|
||||
11: TypeVector 10(float) 4
|
||||
12: TypePointer Input 11(fvec4)
|
||||
13(v_texcoord): 12(ptr) Variable Input
|
||||
14: 6(int) Constant 0
|
||||
15: TypePointer Input 10(float)
|
||||
19: TypePointer Function 6(int)
|
||||
21: 6(int) Constant 1
|
||||
27: 6(int) Constant 2
|
||||
32: 6(int) Constant 3
|
||||
38: 6(int) Constant 4
|
||||
39: 7(ivec2) ConstantComposite 38 38
|
||||
40: TypePointer Output 11(fvec4)
|
||||
41(fragColor): 40(ptr) Variable Output
|
||||
42: TypeImage 10(float) 2D sampled format:Unknown
|
||||
43: TypePointer UniformConstant 42
|
||||
44(tex2D_src1): 43(ptr) Variable UniformConstant
|
||||
46: TypeSampler
|
||||
47: TypePointer UniformConstant 46
|
||||
48(samp): 47(ptr) Variable UniformConstant
|
||||
50: TypeSampledImage 42
|
||||
53(tex2D_src2): 43(ptr) Variable UniformConstant
|
||||
60: TypePointer UniformConstant 50
|
||||
61(target_samp): 60(ptr) Variable UniformConstant
|
||||
64(ref_samp): 60(ptr) Variable UniformConstant
|
||||
69: TypeImage 10(float) 2D array sampled format:Unknown
|
||||
70: TypePointer UniformConstant 69
|
||||
71(tex2DArray_weights): 70(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(tgt_coords): 8(ptr) Variable Function
|
||||
26(ref_coords): 8(ptr) Variable Function
|
||||
37(blockSize): 8(ptr) Variable Function
|
||||
16: 15(ptr) AccessChain 13(v_texcoord) 14
|
||||
17: 10(float) Load 16
|
||||
18: 6(int) ConvertFToU 17
|
||||
20: 19(ptr) AccessChain 9(tgt_coords) 14
|
||||
Store 20 18
|
||||
22: 15(ptr) AccessChain 13(v_texcoord) 21
|
||||
23: 10(float) Load 22
|
||||
24: 6(int) ConvertFToU 23
|
||||
25: 19(ptr) AccessChain 9(tgt_coords) 14
|
||||
Store 25 24
|
||||
28: 15(ptr) AccessChain 13(v_texcoord) 27
|
||||
29: 10(float) Load 28
|
||||
30: 6(int) ConvertFToU 29
|
||||
31: 19(ptr) AccessChain 26(ref_coords) 14
|
||||
Store 31 30
|
||||
33: 15(ptr) AccessChain 13(v_texcoord) 32
|
||||
34: 10(float) Load 33
|
||||
35: 6(int) ConvertFToU 34
|
||||
36: 19(ptr) AccessChain 26(ref_coords) 21
|
||||
Store 36 35
|
||||
Store 37(blockSize) 39
|
||||
45: 42 Load 44(tex2D_src1)
|
||||
49: 46 Load 48(samp)
|
||||
51: 50 SampledImage 45 49
|
||||
52: 7(ivec2) Load 9(tgt_coords)
|
||||
54: 42 Load 53(tex2D_src2)
|
||||
55: 46 Load 48(samp)
|
||||
56: 50 SampledImage 54 55
|
||||
57: 7(ivec2) Load 26(ref_coords)
|
||||
58: 7(ivec2) Load 37(blockSize)
|
||||
59: 11(fvec4) ImageBlockMatchGatherSADQCOM 51 52 56 57 58
|
||||
Store 41(fragColor) 59
|
||||
62: 50 Load 61(target_samp)
|
||||
63: 7(ivec2) Load 9(tgt_coords)
|
||||
65: 50 Load 64(ref_samp)
|
||||
66: 7(ivec2) Load 26(ref_coords)
|
||||
67: 7(ivec2) Load 37(blockSize)
|
||||
68: 11(fvec4) ImageBlockMatchGatherSADQCOM 62 63 65 66 67
|
||||
Store 41(fragColor) 68
|
||||
Return
|
||||
FunctionEnd
|
||||
124
Test/baseResults/spv.tpipBlockMatchGatherSSD.frag.out
Normal file
124
Test/baseResults/spv.tpipBlockMatchGatherSSD.frag.out
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
spv.tpipBlockMatchGatherSSD.frag
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 72
|
||||
|
||||
Capability Shader
|
||||
Capability Bad
|
||||
Extension "SPV_QCOM_image_processing2"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 13 41
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_QCOM_image_processing2"
|
||||
Name 4 "main"
|
||||
Name 9 "tgt_coords"
|
||||
Name 13 "v_texcoord"
|
||||
Name 26 "ref_coords"
|
||||
Name 37 "blockSize"
|
||||
Name 41 "fragColor"
|
||||
Name 44 "tex2D_src1"
|
||||
Name 48 "samp"
|
||||
Name 53 "tex2D_src2"
|
||||
Name 61 "target_samp"
|
||||
Name 64 "ref_samp"
|
||||
Name 71 "tex2DArray_weights"
|
||||
Decorate 13(v_texcoord) Location 0
|
||||
Decorate 41(fragColor) Location 0
|
||||
Decorate 44(tex2D_src1) DescriptorSet 0
|
||||
Decorate 44(tex2D_src1) Binding 1
|
||||
Decorate 48(samp) DescriptorSet 0
|
||||
Decorate 48(samp) Binding 3
|
||||
Decorate 53(tex2D_src2) DescriptorSet 0
|
||||
Decorate 53(tex2D_src2) Binding 2
|
||||
Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM
|
||||
Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM
|
||||
Decorate 61(target_samp) DescriptorSet 0
|
||||
Decorate 61(target_samp) Binding 4
|
||||
Decorate 64(ref_samp) DescriptorSet 0
|
||||
Decorate 64(ref_samp) Binding 5
|
||||
Decorate 61(target_samp) DecorationBlockMatchTextureQCOM
|
||||
Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM
|
||||
Decorate 71(tex2DArray_weights) DescriptorSet 0
|
||||
Decorate 71(tex2DArray_weights) Binding 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 2
|
||||
8: TypePointer Function 7(ivec2)
|
||||
10: TypeFloat 32
|
||||
11: TypeVector 10(float) 4
|
||||
12: TypePointer Input 11(fvec4)
|
||||
13(v_texcoord): 12(ptr) Variable Input
|
||||
14: 6(int) Constant 0
|
||||
15: TypePointer Input 10(float)
|
||||
19: TypePointer Function 6(int)
|
||||
21: 6(int) Constant 1
|
||||
27: 6(int) Constant 2
|
||||
32: 6(int) Constant 3
|
||||
38: 6(int) Constant 4
|
||||
39: 7(ivec2) ConstantComposite 38 38
|
||||
40: TypePointer Output 11(fvec4)
|
||||
41(fragColor): 40(ptr) Variable Output
|
||||
42: TypeImage 10(float) 2D sampled format:Unknown
|
||||
43: TypePointer UniformConstant 42
|
||||
44(tex2D_src1): 43(ptr) Variable UniformConstant
|
||||
46: TypeSampler
|
||||
47: TypePointer UniformConstant 46
|
||||
48(samp): 47(ptr) Variable UniformConstant
|
||||
50: TypeSampledImage 42
|
||||
53(tex2D_src2): 43(ptr) Variable UniformConstant
|
||||
60: TypePointer UniformConstant 50
|
||||
61(target_samp): 60(ptr) Variable UniformConstant
|
||||
64(ref_samp): 60(ptr) Variable UniformConstant
|
||||
69: TypeImage 10(float) 2D array sampled format:Unknown
|
||||
70: TypePointer UniformConstant 69
|
||||
71(tex2DArray_weights): 70(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(tgt_coords): 8(ptr) Variable Function
|
||||
26(ref_coords): 8(ptr) Variable Function
|
||||
37(blockSize): 8(ptr) Variable Function
|
||||
16: 15(ptr) AccessChain 13(v_texcoord) 14
|
||||
17: 10(float) Load 16
|
||||
18: 6(int) ConvertFToU 17
|
||||
20: 19(ptr) AccessChain 9(tgt_coords) 14
|
||||
Store 20 18
|
||||
22: 15(ptr) AccessChain 13(v_texcoord) 21
|
||||
23: 10(float) Load 22
|
||||
24: 6(int) ConvertFToU 23
|
||||
25: 19(ptr) AccessChain 9(tgt_coords) 14
|
||||
Store 25 24
|
||||
28: 15(ptr) AccessChain 13(v_texcoord) 27
|
||||
29: 10(float) Load 28
|
||||
30: 6(int) ConvertFToU 29
|
||||
31: 19(ptr) AccessChain 26(ref_coords) 14
|
||||
Store 31 30
|
||||
33: 15(ptr) AccessChain 13(v_texcoord) 32
|
||||
34: 10(float) Load 33
|
||||
35: 6(int) ConvertFToU 34
|
||||
36: 19(ptr) AccessChain 26(ref_coords) 21
|
||||
Store 36 35
|
||||
Store 37(blockSize) 39
|
||||
45: 42 Load 44(tex2D_src1)
|
||||
49: 46 Load 48(samp)
|
||||
51: 50 SampledImage 45 49
|
||||
52: 7(ivec2) Load 9(tgt_coords)
|
||||
54: 42 Load 53(tex2D_src2)
|
||||
55: 46 Load 48(samp)
|
||||
56: 50 SampledImage 54 55
|
||||
57: 7(ivec2) Load 26(ref_coords)
|
||||
58: 7(ivec2) Load 37(blockSize)
|
||||
59: 11(fvec4) ImageBlockMatchGatherSSDQCOM 51 52 56 57 58
|
||||
Store 41(fragColor) 59
|
||||
62: 50 Load 61(target_samp)
|
||||
63: 7(ivec2) Load 9(tgt_coords)
|
||||
65: 50 Load 64(ref_samp)
|
||||
66: 7(ivec2) Load 26(ref_coords)
|
||||
67: 7(ivec2) Load 37(blockSize)
|
||||
68: 11(fvec4) ImageBlockMatchGatherSSDQCOM 62 63 65 66 67
|
||||
Store 41(fragColor) 68
|
||||
Return
|
||||
FunctionEnd
|
||||
131
Test/baseResults/spv.tpipBlockMatchWindowSAD.frag.out
Normal file
131
Test/baseResults/spv.tpipBlockMatchWindowSAD.frag.out
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
spv.tpipBlockMatchWindowSAD.frag
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 72
|
||||
|
||||
Capability Shader
|
||||
Capability TextureBlockMatchQCOM
|
||||
Capability Bad
|
||||
Extension "SPV_QCOM_image_processing"
|
||||
Extension "SPV_QCOM_image_processing2"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 13 41
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_QCOM_image_processing"
|
||||
SourceExtension "GL_QCOM_image_processing2"
|
||||
Name 4 "main"
|
||||
Name 9 "tgt_coords"
|
||||
Name 13 "v_texcoord"
|
||||
Name 26 "ref_coords"
|
||||
Name 37 "blockSize"
|
||||
Name 41 "fragColor"
|
||||
Name 44 "tex2D_src1"
|
||||
Name 48 "samp"
|
||||
Name 53 "tex2D_src2"
|
||||
Name 61 "target_samp"
|
||||
Name 64 "ref_samp"
|
||||
Name 71 "tex2DArray_weights"
|
||||
Decorate 13(v_texcoord) Location 0
|
||||
Decorate 41(fragColor) Location 0
|
||||
Decorate 44(tex2D_src1) DescriptorSet 0
|
||||
Decorate 44(tex2D_src1) Binding 1
|
||||
Decorate 48(samp) DescriptorSet 0
|
||||
Decorate 48(samp) Binding 3
|
||||
Decorate 53(tex2D_src2) DescriptorSet 0
|
||||
Decorate 53(tex2D_src2) Binding 2
|
||||
Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM
|
||||
Decorate 48(samp) DecorationBlockMatchSamplerQCOM
|
||||
Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM
|
||||
Decorate 48(samp) DecorationBlockMatchSamplerQCOM
|
||||
Decorate 61(target_samp) DescriptorSet 0
|
||||
Decorate 61(target_samp) Binding 4
|
||||
Decorate 64(ref_samp) DescriptorSet 0
|
||||
Decorate 64(ref_samp) Binding 5
|
||||
Decorate 61(target_samp) DecorationBlockMatchTextureQCOM
|
||||
Decorate 61(target_samp) DecorationBlockMatchSamplerQCOM
|
||||
Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM
|
||||
Decorate 64(ref_samp) DecorationBlockMatchSamplerQCOM
|
||||
Decorate 71(tex2DArray_weights) DescriptorSet 0
|
||||
Decorate 71(tex2DArray_weights) Binding 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 2
|
||||
8: TypePointer Function 7(ivec2)
|
||||
10: TypeFloat 32
|
||||
11: TypeVector 10(float) 4
|
||||
12: TypePointer Input 11(fvec4)
|
||||
13(v_texcoord): 12(ptr) Variable Input
|
||||
14: 6(int) Constant 0
|
||||
15: TypePointer Input 10(float)
|
||||
19: TypePointer Function 6(int)
|
||||
21: 6(int) Constant 1
|
||||
27: 6(int) Constant 2
|
||||
32: 6(int) Constant 3
|
||||
38: 6(int) Constant 4
|
||||
39: 7(ivec2) ConstantComposite 38 38
|
||||
40: TypePointer Output 11(fvec4)
|
||||
41(fragColor): 40(ptr) Variable Output
|
||||
42: TypeImage 10(float) 2D sampled format:Unknown
|
||||
43: TypePointer UniformConstant 42
|
||||
44(tex2D_src1): 43(ptr) Variable UniformConstant
|
||||
46: TypeSampler
|
||||
47: TypePointer UniformConstant 46
|
||||
48(samp): 47(ptr) Variable UniformConstant
|
||||
50: TypeSampledImage 42
|
||||
53(tex2D_src2): 43(ptr) Variable UniformConstant
|
||||
60: TypePointer UniformConstant 50
|
||||
61(target_samp): 60(ptr) Variable UniformConstant
|
||||
64(ref_samp): 60(ptr) Variable UniformConstant
|
||||
69: TypeImage 10(float) 2D array sampled format:Unknown
|
||||
70: TypePointer UniformConstant 69
|
||||
71(tex2DArray_weights): 70(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(tgt_coords): 8(ptr) Variable Function
|
||||
26(ref_coords): 8(ptr) Variable Function
|
||||
37(blockSize): 8(ptr) Variable Function
|
||||
16: 15(ptr) AccessChain 13(v_texcoord) 14
|
||||
17: 10(float) Load 16
|
||||
18: 6(int) ConvertFToU 17
|
||||
20: 19(ptr) AccessChain 9(tgt_coords) 14
|
||||
Store 20 18
|
||||
22: 15(ptr) AccessChain 13(v_texcoord) 21
|
||||
23: 10(float) Load 22
|
||||
24: 6(int) ConvertFToU 23
|
||||
25: 19(ptr) AccessChain 9(tgt_coords) 14
|
||||
Store 25 24
|
||||
28: 15(ptr) AccessChain 13(v_texcoord) 27
|
||||
29: 10(float) Load 28
|
||||
30: 6(int) ConvertFToU 29
|
||||
31: 19(ptr) AccessChain 26(ref_coords) 14
|
||||
Store 31 30
|
||||
33: 15(ptr) AccessChain 13(v_texcoord) 32
|
||||
34: 10(float) Load 33
|
||||
35: 6(int) ConvertFToU 34
|
||||
36: 19(ptr) AccessChain 26(ref_coords) 21
|
||||
Store 36 35
|
||||
Store 37(blockSize) 39
|
||||
45: 42 Load 44(tex2D_src1)
|
||||
49: 46 Load 48(samp)
|
||||
51: 50 SampledImage 45 49
|
||||
52: 7(ivec2) Load 9(tgt_coords)
|
||||
54: 42 Load 53(tex2D_src2)
|
||||
55: 46 Load 48(samp)
|
||||
56: 50 SampledImage 54 55
|
||||
57: 7(ivec2) Load 26(ref_coords)
|
||||
58: 7(ivec2) Load 37(blockSize)
|
||||
59: 11(fvec4) ImageBlockMatchWindowSADQCOM 51 52 56 57 58
|
||||
Store 41(fragColor) 59
|
||||
62: 50 Load 61(target_samp)
|
||||
63: 7(ivec2) Load 9(tgt_coords)
|
||||
65: 50 Load 64(ref_samp)
|
||||
66: 7(ivec2) Load 26(ref_coords)
|
||||
67: 7(ivec2) Load 37(blockSize)
|
||||
68: 11(fvec4) ImageBlockMatchWindowSADQCOM 62 63 65 66 67
|
||||
Store 41(fragColor) 68
|
||||
Return
|
||||
FunctionEnd
|
||||
131
Test/baseResults/spv.tpipBlockMatchWindowSSD.frag.out
Normal file
131
Test/baseResults/spv.tpipBlockMatchWindowSSD.frag.out
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
spv.tpipBlockMatchWindowSSD.frag
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 72
|
||||
|
||||
Capability Shader
|
||||
Capability TextureBlockMatchQCOM
|
||||
Capability Bad
|
||||
Extension "SPV_QCOM_image_processing"
|
||||
Extension "SPV_QCOM_image_processing2"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 13 41
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_QCOM_image_processing"
|
||||
SourceExtension "GL_QCOM_image_processing2"
|
||||
Name 4 "main"
|
||||
Name 9 "tgt_coords"
|
||||
Name 13 "v_texcoord"
|
||||
Name 26 "ref_coords"
|
||||
Name 37 "blockSize"
|
||||
Name 41 "fragColor"
|
||||
Name 44 "tex2D_src1"
|
||||
Name 48 "samp"
|
||||
Name 53 "tex2D_src2"
|
||||
Name 61 "target_samp"
|
||||
Name 64 "ref_samp"
|
||||
Name 71 "tex2DArray_weights"
|
||||
Decorate 13(v_texcoord) Location 0
|
||||
Decorate 41(fragColor) Location 0
|
||||
Decorate 44(tex2D_src1) DescriptorSet 0
|
||||
Decorate 44(tex2D_src1) Binding 1
|
||||
Decorate 48(samp) DescriptorSet 0
|
||||
Decorate 48(samp) Binding 3
|
||||
Decorate 53(tex2D_src2) DescriptorSet 0
|
||||
Decorate 53(tex2D_src2) Binding 2
|
||||
Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM
|
||||
Decorate 48(samp) DecorationBlockMatchSamplerQCOM
|
||||
Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM
|
||||
Decorate 48(samp) DecorationBlockMatchSamplerQCOM
|
||||
Decorate 61(target_samp) DescriptorSet 0
|
||||
Decorate 61(target_samp) Binding 4
|
||||
Decorate 64(ref_samp) DescriptorSet 0
|
||||
Decorate 64(ref_samp) Binding 5
|
||||
Decorate 61(target_samp) DecorationBlockMatchTextureQCOM
|
||||
Decorate 61(target_samp) DecorationBlockMatchSamplerQCOM
|
||||
Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM
|
||||
Decorate 64(ref_samp) DecorationBlockMatchSamplerQCOM
|
||||
Decorate 71(tex2DArray_weights) DescriptorSet 0
|
||||
Decorate 71(tex2DArray_weights) Binding 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 2
|
||||
8: TypePointer Function 7(ivec2)
|
||||
10: TypeFloat 32
|
||||
11: TypeVector 10(float) 4
|
||||
12: TypePointer Input 11(fvec4)
|
||||
13(v_texcoord): 12(ptr) Variable Input
|
||||
14: 6(int) Constant 0
|
||||
15: TypePointer Input 10(float)
|
||||
19: TypePointer Function 6(int)
|
||||
21: 6(int) Constant 1
|
||||
27: 6(int) Constant 2
|
||||
32: 6(int) Constant 3
|
||||
38: 6(int) Constant 4
|
||||
39: 7(ivec2) ConstantComposite 38 38
|
||||
40: TypePointer Output 11(fvec4)
|
||||
41(fragColor): 40(ptr) Variable Output
|
||||
42: TypeImage 10(float) 2D sampled format:Unknown
|
||||
43: TypePointer UniformConstant 42
|
||||
44(tex2D_src1): 43(ptr) Variable UniformConstant
|
||||
46: TypeSampler
|
||||
47: TypePointer UniformConstant 46
|
||||
48(samp): 47(ptr) Variable UniformConstant
|
||||
50: TypeSampledImage 42
|
||||
53(tex2D_src2): 43(ptr) Variable UniformConstant
|
||||
60: TypePointer UniformConstant 50
|
||||
61(target_samp): 60(ptr) Variable UniformConstant
|
||||
64(ref_samp): 60(ptr) Variable UniformConstant
|
||||
69: TypeImage 10(float) 2D array sampled format:Unknown
|
||||
70: TypePointer UniformConstant 69
|
||||
71(tex2DArray_weights): 70(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(tgt_coords): 8(ptr) Variable Function
|
||||
26(ref_coords): 8(ptr) Variable Function
|
||||
37(blockSize): 8(ptr) Variable Function
|
||||
16: 15(ptr) AccessChain 13(v_texcoord) 14
|
||||
17: 10(float) Load 16
|
||||
18: 6(int) ConvertFToU 17
|
||||
20: 19(ptr) AccessChain 9(tgt_coords) 14
|
||||
Store 20 18
|
||||
22: 15(ptr) AccessChain 13(v_texcoord) 21
|
||||
23: 10(float) Load 22
|
||||
24: 6(int) ConvertFToU 23
|
||||
25: 19(ptr) AccessChain 9(tgt_coords) 14
|
||||
Store 25 24
|
||||
28: 15(ptr) AccessChain 13(v_texcoord) 27
|
||||
29: 10(float) Load 28
|
||||
30: 6(int) ConvertFToU 29
|
||||
31: 19(ptr) AccessChain 26(ref_coords) 14
|
||||
Store 31 30
|
||||
33: 15(ptr) AccessChain 13(v_texcoord) 32
|
||||
34: 10(float) Load 33
|
||||
35: 6(int) ConvertFToU 34
|
||||
36: 19(ptr) AccessChain 26(ref_coords) 21
|
||||
Store 36 35
|
||||
Store 37(blockSize) 39
|
||||
45: 42 Load 44(tex2D_src1)
|
||||
49: 46 Load 48(samp)
|
||||
51: 50 SampledImage 45 49
|
||||
52: 7(ivec2) Load 9(tgt_coords)
|
||||
54: 42 Load 53(tex2D_src2)
|
||||
55: 46 Load 48(samp)
|
||||
56: 50 SampledImage 54 55
|
||||
57: 7(ivec2) Load 26(ref_coords)
|
||||
58: 7(ivec2) Load 37(blockSize)
|
||||
59: 11(fvec4) ImageBlockMatchWindowSSDQCOM 51 52 56 57 58
|
||||
Store 41(fragColor) 59
|
||||
62: 50 Load 61(target_samp)
|
||||
63: 7(ivec2) Load 9(tgt_coords)
|
||||
65: 50 Load 64(ref_samp)
|
||||
66: 7(ivec2) Load 26(ref_coords)
|
||||
67: 7(ivec2) Load 37(blockSize)
|
||||
68: 11(fvec4) ImageBlockMatchWindowSSDQCOM 62 63 65 66 67
|
||||
Store 41(fragColor) 68
|
||||
Return
|
||||
FunctionEnd
|
||||
38
Test/spv.tpipBlockMatchGatherSAD.frag
Normal file
38
Test/spv.tpipBlockMatchGatherSAD.frag
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
#version 450
|
||||
#extension GL_QCOM_image_processing2 : require
|
||||
|
||||
precision highp float;
|
||||
|
||||
// fragment shader inputs and outputs
|
||||
layout (location = 0) in vec4 v_texcoord;
|
||||
|
||||
layout (location = 0) out vec4 fragColor;
|
||||
|
||||
// fragment shader resources
|
||||
layout(set = 0, binding = 0) uniform texture2DArray tex2DArray_weights;
|
||||
layout(set = 0, binding = 1) uniform texture2D tex2D_src1;
|
||||
layout(set = 0, binding = 2) uniform texture2D tex2D_src2;
|
||||
layout(set = 0, binding = 3) uniform sampler samp;
|
||||
layout(set = 0, binding = 4) uniform sampler2D target_samp;
|
||||
layout(set = 0, binding = 5) uniform sampler2D ref_samp;
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
uvec2 tgt_coords; tgt_coords.x = uint(v_texcoord.x); tgt_coords.x = uint(v_texcoord.y);
|
||||
uvec2 ref_coords; ref_coords.x = uint(v_texcoord.z); ref_coords.y = uint(v_texcoord.w);
|
||||
uvec2 blockSize = uvec2(4, 4);
|
||||
fragColor = textureBlockMatchGatherSADQCOM(
|
||||
sampler2D(tex2D_src1, samp), // target texture
|
||||
tgt_coords, // target coords
|
||||
sampler2D(tex2D_src2, samp), // reference texture
|
||||
ref_coords, // reference coords
|
||||
blockSize); // block size
|
||||
fragColor = textureBlockMatchGatherSADQCOM(
|
||||
target_samp, // target texture
|
||||
tgt_coords, // target coords
|
||||
ref_samp, // reference texture
|
||||
ref_coords, // reference coords
|
||||
blockSize); // block size
|
||||
}
|
||||
|
||||
38
Test/spv.tpipBlockMatchGatherSSD.frag
Normal file
38
Test/spv.tpipBlockMatchGatherSSD.frag
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
#version 450
|
||||
#extension GL_QCOM_image_processing2 : require
|
||||
|
||||
precision highp float;
|
||||
|
||||
// fragment shader inputs and outputs
|
||||
layout (location = 0) in vec4 v_texcoord;
|
||||
|
||||
layout (location = 0) out vec4 fragColor;
|
||||
|
||||
// fragment shader resources
|
||||
layout(set = 0, binding = 0) uniform texture2DArray tex2DArray_weights;
|
||||
layout(set = 0, binding = 1) uniform texture2D tex2D_src1;
|
||||
layout(set = 0, binding = 2) uniform texture2D tex2D_src2;
|
||||
layout(set = 0, binding = 3) uniform sampler samp;
|
||||
layout(set = 0, binding = 4) uniform sampler2D target_samp;
|
||||
layout(set = 0, binding = 5) uniform sampler2D ref_samp;
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
uvec2 tgt_coords; tgt_coords.x = uint(v_texcoord.x); tgt_coords.x = uint(v_texcoord.y);
|
||||
uvec2 ref_coords; ref_coords.x = uint(v_texcoord.z); ref_coords.y = uint(v_texcoord.w);
|
||||
uvec2 blockSize = uvec2(4, 4);
|
||||
fragColor = textureBlockMatchGatherSSDQCOM(
|
||||
sampler2D(tex2D_src1, samp), // target texture
|
||||
tgt_coords, // target coords
|
||||
sampler2D(tex2D_src2, samp), // reference texture
|
||||
ref_coords, // reference coords
|
||||
blockSize); // block size
|
||||
fragColor = textureBlockMatchGatherSSDQCOM(
|
||||
target_samp, // target texture
|
||||
tgt_coords, // target coords
|
||||
ref_samp, // reference texture
|
||||
ref_coords, // reference coords
|
||||
blockSize); // block size
|
||||
}
|
||||
|
||||
39
Test/spv.tpipBlockMatchWindowSAD.frag
Normal file
39
Test/spv.tpipBlockMatchWindowSAD.frag
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
#version 450
|
||||
#extension GL_QCOM_image_processing : require
|
||||
#extension GL_QCOM_image_processing2 : require
|
||||
|
||||
precision highp float;
|
||||
|
||||
// fragment shader inputs and outputs
|
||||
layout (location = 0) in vec4 v_texcoord;
|
||||
|
||||
layout (location = 0) out vec4 fragColor;
|
||||
|
||||
// fragment shader resources
|
||||
layout(set = 0, binding = 0) uniform texture2DArray tex2DArray_weights;
|
||||
layout(set = 0, binding = 1) uniform texture2D tex2D_src1;
|
||||
layout(set = 0, binding = 2) uniform texture2D tex2D_src2;
|
||||
layout(set = 0, binding = 3) uniform sampler samp;
|
||||
layout(set = 0, binding = 4) uniform sampler2D target_samp;
|
||||
layout(set = 0, binding = 5) uniform sampler2D ref_samp;
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
uvec2 tgt_coords; tgt_coords.x = uint(v_texcoord.x); tgt_coords.x = uint(v_texcoord.y);
|
||||
uvec2 ref_coords; ref_coords.x = uint(v_texcoord.z); ref_coords.y = uint(v_texcoord.w);
|
||||
uvec2 blockSize = uvec2(4, 4);
|
||||
fragColor = textureBlockMatchWindowSADQCOM(
|
||||
sampler2D(tex2D_src1, samp), // target texture
|
||||
tgt_coords, // target coords
|
||||
sampler2D(tex2D_src2, samp), // reference texture
|
||||
ref_coords, // reference coords
|
||||
blockSize); // block size
|
||||
fragColor = textureBlockMatchWindowSADQCOM(
|
||||
target_samp, // target texture
|
||||
tgt_coords, // target coords
|
||||
ref_samp, // reference texture
|
||||
ref_coords, // reference coords
|
||||
blockSize); // block size
|
||||
}
|
||||
|
||||
40
Test/spv.tpipBlockMatchWindowSSD.frag
Normal file
40
Test/spv.tpipBlockMatchWindowSSD.frag
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
#version 450
|
||||
#extension GL_QCOM_image_processing : require
|
||||
#extension GL_QCOM_image_processing2 : require
|
||||
|
||||
precision highp float;
|
||||
|
||||
// fragment shader inputs and outputs
|
||||
layout (location = 0) in vec4 v_texcoord;
|
||||
|
||||
layout (location = 0) out vec4 fragColor;
|
||||
|
||||
// fragment shader resources
|
||||
layout(set = 0, binding = 0) uniform texture2DArray tex2DArray_weights;
|
||||
layout(set = 0, binding = 1) uniform texture2D tex2D_src1;
|
||||
layout(set = 0, binding = 2) uniform texture2D tex2D_src2;
|
||||
layout(set = 0, binding = 3) uniform sampler samp;
|
||||
layout(set = 0, binding = 4) uniform sampler2D target_samp;
|
||||
layout(set = 0, binding = 5) uniform sampler2D ref_samp;
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
uvec2 tgt_coords; tgt_coords.x = uint(v_texcoord.x); tgt_coords.x = uint(v_texcoord.y);
|
||||
uvec2 ref_coords; ref_coords.x = uint(v_texcoord.z); ref_coords.y = uint(v_texcoord.w);
|
||||
uvec2 blockSize = uvec2(4, 4);
|
||||
fragColor = textureBlockMatchWindowSSDQCOM(
|
||||
sampler2D(tex2D_src1, samp), // target texture
|
||||
tgt_coords, // target coords
|
||||
sampler2D(tex2D_src2, samp), // reference texture
|
||||
ref_coords, // reference coords
|
||||
blockSize); // block size
|
||||
fragColor = textureBlockMatchWindowSSDQCOM(
|
||||
target_samp, // target texture
|
||||
tgt_coords, // target coords
|
||||
ref_samp, // reference texture
|
||||
ref_coords, // reference coords
|
||||
blockSize); // block size
|
||||
}
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue