SPV Capabilities: StorageImageExtendedFormats, StorageImageReadWithoutFormat, and StorageImageWriteWithoutFormat.
diff --git a/Test/baseResults/spv.image.frag.out b/Test/baseResults/spv.image.frag.out
index 04e023a..ca9c588 100644
--- a/Test/baseResults/spv.image.frag.out
+++ b/Test/baseResults/spv.image.frag.out
@@ -7,7 +7,7 @@
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 372
+// Id's are bound by 378
Capability Shader
Capability SampledRect
@@ -15,10 +15,12 @@
Capability SampledCubeArray
Capability SampledBuffer
Capability ImageMSArray
+ Capability StorageImageExtendedFormats
Capability ImageQuery
+ Capability StorageImageWriteWithoutFormat
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 356
+ EntryPoint Fragment 4 "main" 362
ExecutionMode 4 OriginLowerLeft
Source GLSL 450
Name 4 "main"
@@ -42,8 +44,9 @@
Name 232 "ii1D"
Name 245 "ui2D"
Name 248 "value"
- Name 356 "fragData"
- Name 371 "ic4D"
+ Name 357 "wo2D"
+ Name 362 "fragData"
+ Name 377 "ic4D"
Decorate 15(i1D) Binding 0
Decorate 27(i2D) Binding 1
Decorate 38(i3D) Binding 2
@@ -57,6 +60,7 @@
Decorate 108(i2DMSArray) Binding 10
Decorate 232(ii1D) Binding 11
Decorate 245(ui2D) Binding 12
+ Decorate 357(wo2D) Binding 1
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -90,7 +94,7 @@
70: TypeImage 12(float) 1D array nonsampled format:Rgba32f
71: TypePointer UniformConstant 70
72(i1DArray): 71(ptr) Variable UniformConstant
- 80: TypeImage 12(float) 2D array nonsampled format:Rgba32f
+ 80: TypeImage 12(float) 2D array nonsampled format:Rg16
81: TypePointer UniformConstant 80
82(i2DArray): 81(ptr) Variable UniformConstant
87: TypeImage 12(float) Buffer nonsampled format:Rgba32f
@@ -138,18 +142,21 @@
340: 6(int) Constant 18
341: 6(int) Constant 17
349: 18(int) Constant 19
- 355: TypePointer Output 125(fvec4)
- 356(fragData): 355(ptr) Variable Output
- 362: TypeBool
- 369: TypeVector 6(int) 4
- 370: TypePointer UniformConstant 369(ivec4)
- 371(ic4D): 370(ptr) Variable UniformConstant
+ 355: TypeImage 12(float) 2D nonsampled format:Unknown
+ 356: TypePointer UniformConstant 355
+ 357(wo2D): 356(ptr) Variable UniformConstant
+ 361: TypePointer Output 125(fvec4)
+ 362(fragData): 361(ptr) Variable Output
+ 368: TypeBool
+ 375: TypeVector 6(int) 4
+ 376: TypePointer UniformConstant 375(ivec4)
+ 377(ic4D): 376(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(iv): 8(ptr) Variable Function
127(v): 126(ptr) Variable Function
229(ui): 228(ptr) Variable Function
- 357: 126(ptr) Variable Function
+ 363: 126(ptr) Variable Function
Store 9(iv) 11
16: 13 Load 15(i1D)
17: 6(int) ImageQuerySize 16
@@ -471,22 +478,26 @@
353: 18(int) Load 229(ui)
354: 18(int) IAdd 353 352
Store 229(ui) 354
- 358: 18(int) Load 229(ui)
- 359: 20(ptr) AccessChain 9(iv) 237
- 360: 6(int) Load 359
- 361: 18(int) Bitcast 360
- 363: 362(bool) INotEqual 358 361
- SelectionMerge 365 None
- BranchConditional 363 364 367
- 364: Label
- 366: 125(fvec4) Load 127(v)
- Store 357 366
- Branch 365
- 367: Label
- Store 357 129
- Branch 365
- 365: Label
- 368: 125(fvec4) Load 357
- Store 356(fragData) 368
+ 358: 355 Load 357(wo2D)
+ 359: 29(ivec2) Load 142(ic2D)
+ 360: 125(fvec4) Load 127(v)
+ ImageWrite 358 359 360
+ 364: 18(int) Load 229(ui)
+ 365: 20(ptr) AccessChain 9(iv) 237
+ 366: 6(int) Load 365
+ 367: 18(int) Bitcast 366
+ 369: 368(bool) INotEqual 364 367
+ SelectionMerge 371 None
+ BranchConditional 369 370 373
+ 370: Label
+ 372: 125(fvec4) Load 127(v)
+ Store 363 372
+ Branch 371
+ 373: Label
+ Store 363 129
+ Branch 371
+ 371: Label
+ 374: 125(fvec4) Load 363
+ Store 362(fragData) 374
Return
FunctionEnd