spv.nontemporalbuffer.frag // Module Version 10300 // Generated by (magic number): 8000b // Id's are bound by 48 Capability Shader Capability VulkanMemoryModelKHR Extension "SPV_KHR_vulkan_memory_model" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical VulkanKHR EntryPoint Fragment 4 "main" 47 ExecutionMode 4 OriginUpperLeft Source GLSL 460 SourceExtension "GL_EXT_nontemporal_keyword" Name 4 "main" Name 7 "NONTEMPORAL_BUFFER" MemberName 7(NONTEMPORAL_BUFFER) 0 "b_i" MemberName 7(NONTEMPORAL_BUFFER) 1 "b_o" Name 9 "" Name 16 "BUFFER_NONTEMPORAL" MemberName 16(BUFFER_NONTEMPORAL) 0 "bntemp_i" MemberName 16(BUFFER_NONTEMPORAL) 1 "bntemp_o" Name 18 "" Name 22 "NONTEMPORAL_ATOMIC" MemberName 22(NONTEMPORAL_ATOMIC) 0 "bn_atom" Name 24 "" Name 30 "ATOMIC_NONTEMPORAL" MemberName 30(ATOMIC_NONTEMPORAL) 0 "b_natom" MemberName 30(ATOMIC_NONTEMPORAL) 1 "b_atom" Name 32 "" Name 38 "NONTEMPORAL_UNIFORMS" MemberName 38(NONTEMPORAL_UNIFORMS) 0 "u_uv" Name 40 "" Name 44 "u_image" Name 47 "out_color" Decorate 7(NONTEMPORAL_BUFFER) Block MemberDecorate 7(NONTEMPORAL_BUFFER) 0 Offset 0 MemberDecorate 7(NONTEMPORAL_BUFFER) 1 Offset 4 Decorate 9 Binding 0 Decorate 9 DescriptorSet 0 Decorate 16(BUFFER_NONTEMPORAL) Block MemberDecorate 16(BUFFER_NONTEMPORAL) 0 Offset 0 MemberDecorate 16(BUFFER_NONTEMPORAL) 1 Offset 4 Decorate 18 Binding 1 Decorate 18 DescriptorSet 0 Decorate 22(NONTEMPORAL_ATOMIC) Block MemberDecorate 22(NONTEMPORAL_ATOMIC) 0 Offset 0 Decorate 24 Binding 3 Decorate 24 DescriptorSet 0 Decorate 30(ATOMIC_NONTEMPORAL) Block MemberDecorate 30(ATOMIC_NONTEMPORAL) 0 Offset 0 MemberDecorate 30(ATOMIC_NONTEMPORAL) 1 Offset 4 Decorate 32 Binding 4 Decorate 32 DescriptorSet 0 Decorate 38(NONTEMPORAL_UNIFORMS) Block MemberDecorate 38(NONTEMPORAL_UNIFORMS) 0 Offset 0 Decorate 40 Binding 2 Decorate 40 DescriptorSet 0 Decorate 44(u_image) NonWritable Decorate 44(u_image) Binding 5 Decorate 44(u_image) DescriptorSet 0 Decorate 47(out_color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7(NONTEMPORAL_BUFFER): TypeStruct 6(int) 6(int) 8: TypePointer StorageBuffer 7(NONTEMPORAL_BUFFER) 9: 8(ptr) Variable StorageBuffer 10: 6(int) Constant 1 11: 6(int) Constant 0 12: TypePointer StorageBuffer 6(int) 16(BUFFER_NONTEMPORAL): TypeStruct 6(int) 6(int) 17: TypePointer StorageBuffer 16(BUFFER_NONTEMPORAL) 18: 17(ptr) Variable StorageBuffer 22(NONTEMPORAL_ATOMIC): TypeStruct 6(int) 23: TypePointer StorageBuffer 22(NONTEMPORAL_ATOMIC) 24: 23(ptr) Variable StorageBuffer 26: TypeInt 32 0 27: 26(int) Constant 5 28: 26(int) Constant 0 30(ATOMIC_NONTEMPORAL): TypeStruct 6(int) 6(int) 31: TypePointer StorageBuffer 30(ATOMIC_NONTEMPORAL) 32: 31(ptr) Variable StorageBuffer 37: TypeVector 6(int) 2 38(NONTEMPORAL_UNIFORMS): TypeStruct 37(ivec2) 39: TypePointer Uniform 38(NONTEMPORAL_UNIFORMS) 40: 39(ptr) Variable Uniform 41: TypeFloat 32 42: TypeImage 41(float) 2D nonsampled format:Rgba8 43: TypePointer UniformConstant 42 44(u_image): 43(ptr) Variable UniformConstant 45: TypeVector 41(float) 4 46: TypePointer Output 45(fvec4) 47(out_color): 46(ptr) Variable Output 4(main): 2 Function None 3 5: Label 13: 12(ptr) AccessChain 9 11 14: 6(int) Load 13 Nontemporal 15: 12(ptr) AccessChain 9 10 Store 15 14 Nontemporal 19: 12(ptr) AccessChain 18 10 20: 6(int) Load 19 Nontemporal 21: 12(ptr) AccessChain 18 11 Store 21 20 Nontemporal 25: 12(ptr) AccessChain 24 11 29: 6(int) AtomicIAdd 25 27 28 10 33: 12(ptr) AccessChain 32 11 34: 6(int) AtomicIAdd 33 27 28 10 35: 12(ptr) AccessChain 32 10 36: 6(int) AtomicIAdd 35 27 28 10 Return FunctionEnd