Reformat SPIR-V assembly and fix validation errors (#472)

* Reformat SPIR-V assembly using spirv-dis

Signed-off-by: Stuart Brady <stuart.brady@arm.com>

* Fix duplicate non-aggregate type decls in SPIR-V as reported by spirv-val

Signed-off-by: Stuart Brady <stuart.brady@arm.com>

* Reposition OpExtensions correctly in SPIR-V as reported by spirv-val

Signed-off-by: Stuart Brady <stuart.brady@arm.com>

* Reposition OpVariables correctly in SPIR-V as reported by spirv-val

Signed-off-by: Stuart Brady <stuart.brady@arm.com>

* Add missing OpTypeImage access qualifiers in SPIR-V as reported by spirv-val

Signed-off-by: Stuart Brady <stuart.brady@arm.com>

* Remove same-width OpSConverts in SPIR-V as reported by spirv-val

Signed-off-by: Stuart Brady <stuart.brady@arm.com>

* Replace -ILPath with --spirv-binaries-path in README

Signed-off-by: Stuart Brady <stuart.brady@arm.com>
This commit is contained in:
Stuart Brady
2019-11-19 09:05:28 +00:00
committed by Kévin Petit
parent 60101c24cf
commit 2398587980
807 changed files with 15369 additions and 13842 deletions

View File

@@ -1,13 +1,13 @@
test_conformance/spirv_new README test_conformance/spirv_new README
================================== ==================================
The text versions of the spirv files are present in `conformance-tests/test_conformance/spriv_new/spirv_txt`. The text versions of the spirv files are present in `conformance-tests/test_conformance/spriv_new/spirv_asm`.
These text files have been used to generate the binaries in `spirv_bin` using the assembler from `spirv-tools`. These text files have been used to generate the binaries in `spirv_bin` using the assembler from `spirv-tools`.
The absolute path to `spirv_bin` needs to be passed after `-ILPath` token for the test to find the SPIRV binaries. The absolute path to `spirv_bin` needs to be passed after `--spirv-binaries-path` token for the test to find the SPIRV binaries.
An example invocation looks like the following: An example invocation looks like the following:
``` ```
./test_conformance/spirv_new/test_conformance_spirv_new -ILPath /home/user/workspace/conformance-tests/test_conformance/spirv_new/spirv_bin/ [other options] ./test_conformance/spirv_new/test_conformance_spirv_new --spirv-binaries-path /home/user/workspace/conformance-tests/test_conformance/spirv_new/spirv_bin/ [other options]
``` ```

View File

@@ -0,0 +1,37 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 18
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "atomic_dec_global"
OpName %__spirv_GlobalInvocationId "__spirv_GlobalInvocationId"
OpName %val "val"
OpName %counter "counter"
OpDecorate %__spirv_GlobalInvocationId BuiltIn GlobalInvocationId
OpDecorate %__spirv_GlobalInvocationId Constant
OpDecorate %val FuncParamAttr NoCapture
OpDecorate %__spirv_GlobalInvocationId LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%uint_1 = OpConstant %uint 1
%uint_512 = OpConstant %uint 512
%__spirv_GlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%val = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%counter = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%13 = OpLabel
%14 = OpLoad %v3uint %__spirv_GlobalInvocationId Aligned 0
%15 = OpCompositeExtract %uint %14 0
%16 = OpAtomicIDecrement %uint %counter %uint_1 %uint_512
%17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %val %15
OpStore %17 %16 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,42 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 22
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "atomic_dec_global"
OpName %__spirv_GlobalInvocationId "__spirv_GlobalInvocationId"
OpName %val "val"
OpName %counter "counter"
OpDecorate %__spirv_GlobalInvocationId BuiltIn GlobalInvocationId
OpDecorate %__spirv_GlobalInvocationId Constant
OpDecorate %val FuncParamAttr NoCapture
OpDecorate %__spirv_GlobalInvocationId LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%uint_1 = OpConstant %uint 1
%uint_512 = OpConstant %uint 512
%ulong_32 = OpConstant %ulong 32
%__spirv_GlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %11
%val = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%counter = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%15 = OpLabel
%16 = OpLoad %v3ulong %__spirv_GlobalInvocationId Aligned 0
%17 = OpCompositeExtract %ulong %16 0
%18 = OpShiftLeftLogical %ulong %17 %ulong_32
%19 = OpShiftRightArithmetic %ulong %18 %ulong_32
%20 = OpAtomicIDecrement %uint %counter %uint_1 %uint_512
%21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %val %19
OpStore %21 %20 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,37 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 18
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "atomic_inc_global"
OpName %__spirv_GlobalInvocationId "__spirv_GlobalInvocationId"
OpName %val "val"
OpName %counter "counter"
OpDecorate %__spirv_GlobalInvocationId BuiltIn GlobalInvocationId
OpDecorate %__spirv_GlobalInvocationId Constant
OpDecorate %val FuncParamAttr NoCapture
OpDecorate %__spirv_GlobalInvocationId LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%uint_1 = OpConstant %uint 1
%uint_512 = OpConstant %uint 512
%__spirv_GlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%val = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%counter = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%13 = OpLabel
%14 = OpLoad %v3uint %__spirv_GlobalInvocationId Aligned 0
%15 = OpCompositeExtract %uint %14 0
%16 = OpAtomicIIncrement %uint %counter %uint_1 %uint_512
%17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %val %15
OpStore %17 %16 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,42 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 22
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "atomic_inc_global"
OpName %__spirv_GlobalInvocationId "__spirv_GlobalInvocationId"
OpName %val "val"
OpName %counter "counter"
OpDecorate %__spirv_GlobalInvocationId BuiltIn GlobalInvocationId
OpDecorate %__spirv_GlobalInvocationId Constant
OpDecorate %val FuncParamAttr NoCapture
OpDecorate %__spirv_GlobalInvocationId LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%uint_1 = OpConstant %uint 1
%uint_512 = OpConstant %uint 512
%ulong_32 = OpConstant %ulong 32
%__spirv_GlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %11
%val = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%counter = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%15 = OpLabel
%16 = OpLoad %v3ulong %__spirv_GlobalInvocationId Aligned 0
%17 = OpCompositeExtract %ulong %16 0
%18 = OpShiftLeftLogical %ulong %17 %ulong_32
%19 = OpShiftRightArithmetic %ulong %18 %ulong_32
%20 = OpAtomicIIncrement %uint %counter %uint_1 %uint_512
%21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %val %19
OpStore %21 %20 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,57 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 32
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "branch_conditional"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpDecorate %5 FuncParamAttr NoCapture
%5 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %5 %res %lhs %rhs
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%bool = OpTypeBool
%void = OpTypeVoid
%uint_0 = OpConstant %uint 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%_ptr_Function_uint = OpTypePointer Function %uint
%15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %15
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%16 = OpLabel
%17 = OpVariable %_ptr_Function_uint Function
%18 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%19 = OpCompositeExtract %uint %18 0
%20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19
%21 = OpLoad %uint %20 Aligned 4
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19
%23 = OpLoad %uint %22 Aligned 4
%24 = OpSLessThan %bool %21 %23
OpBranchConditional %24 %25 %26
%25 = OpLabel
%27 = OpISub %uint %23 %21
OpStore %17 %27
OpBranch %28
%26 = OpLabel
%29 = OpISub %uint %21 %23
OpStore %17 %29
OpBranch %28
%28 = OpLabel
%30 = OpLoad %uint %17
%31 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19
OpStore %31 %30 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,63 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 36
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "branch_conditional"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpDecorate %5 FuncParamAttr NoCapture
%5 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %5 %res %lhs %rhs
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%bool = OpTypeBool
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%ulong_32 = OpConstant %ulong 32
%uint_0 = OpConstant %uint 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%_ptr_Function_uint = OpTypePointer Function %uint
%17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %17
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%18 = OpLabel
%19 = OpVariable %_ptr_Function_uint Function
%20 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%21 = OpCompositeExtract %ulong %20 0
%22 = OpShiftLeftLogical %ulong %21 %ulong_32
%23 = OpShiftRightArithmetic %ulong %22 %ulong_32
%24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %23
%25 = OpLoad %uint %24 Aligned 4
%26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23
%27 = OpLoad %uint %26 Aligned 4
OpStore %19 %uint_0
%28 = OpSLessThan %bool %25 %27
OpBranchConditional %28 %29 %30
%29 = OpLabel
%31 = OpISub %uint %27 %25
OpStore %19 %31
OpBranch %32
%30 = OpLabel
%33 = OpISub %uint %25 %27
OpStore %19 %33
OpBranch %32
%32 = OpLabel
%34 = OpLoad %uint %19
%35 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %23
OpStore %35 %34 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,57 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 32
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "branch_conditional_weighted"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpDecorate %5 FuncParamAttr NoCapture
%5 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %5 %res %lhs %rhs
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%bool = OpTypeBool
%void = OpTypeVoid
%uint_0 = OpConstant %uint 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%_ptr_Function_uint = OpTypePointer Function %uint
%15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %15
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%16 = OpLabel
%17 = OpVariable %_ptr_Function_uint Function
%18 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%19 = OpCompositeExtract %uint %18 0
%20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19
%21 = OpLoad %uint %20 Aligned 4
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19
%23 = OpLoad %uint %22 Aligned 4
%24 = OpSLessThan %bool %21 %23
OpBranchConditional %24 %25 %26 4 6
%25 = OpLabel
%27 = OpISub %uint %23 %21
OpStore %17 %27
OpBranch %28
%26 = OpLabel
%29 = OpISub %uint %21 %23
OpStore %17 %29
OpBranch %28
%28 = OpLabel
%30 = OpLoad %uint %17
%31 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19
OpStore %31 %30 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,63 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 36
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "branch_conditional_weighted"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpDecorate %5 FuncParamAttr NoCapture
%5 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %5 %res %lhs %rhs
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%bool = OpTypeBool
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%ulong_32 = OpConstant %ulong 32
%uint_0 = OpConstant %uint 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%_ptr_Function_uint = OpTypePointer Function %uint
%17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %17
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%18 = OpLabel
%19 = OpVariable %_ptr_Function_uint Function
%20 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%21 = OpCompositeExtract %ulong %20 0
%22 = OpShiftLeftLogical %ulong %21 %ulong_32
%23 = OpShiftRightArithmetic %ulong %22 %ulong_32
%24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %23
%25 = OpLoad %uint %24 Aligned 4
%26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23
%27 = OpLoad %uint %26 Aligned 4
OpStore %19 %uint_0
%28 = OpSLessThan %bool %25 %27
OpBranchConditional %28 %29 %30 4 6
%29 = OpLabel
%31 = OpISub %uint %27 %25
OpStore %19 %31
OpBranch %32
%30 = OpLabel
%33 = OpISub %uint %25 %27
OpStore %19 %33
OpBranch %32
%32 = OpLabel
%34 = OpLoad %uint %19
%35 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %23
OpStore %35 %34 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,36 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 18
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "branch_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %9
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%10 = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%11 = OpLabel
%12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%13 = OpCompositeExtract %uint %12 0
%14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %10 %13
%16 = OpLoad %uint %14
OpBranch %17
%17 = OpLabel
OpStore %15 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,42 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 22
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "branch_simple"
OpName %in "in"
OpName %out "out"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%ulong_32 = OpConstant %ulong 32
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%12 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %12
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%out = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17
%19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %17
OpBranch %20
%20 = OpLabel
%21 = OpLoad %uint %18
OpStore %19 %21
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,37 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 20
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "composite_construct_int4"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%v4uint = OpTypeVector %uint 4
%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint
%uint_123 = OpConstant %uint 123
%uint_122 = OpConstant %uint 122
%uint_121 = OpConstant %uint 121
%uint_119 = OpConstant %uint 119
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint
%15 = OpLabel
%16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %uint %16 0
%18 = OpCompositeConstruct %v4uint %uint_123 %uint_122 %uint_121 %uint_119
%19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %17
OpStore %19 %18 Aligned 16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,42 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 24
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "composite_construct_int4"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%v4uint = OpTypeVector %uint 4
%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint
%ulong_32 = OpConstant %ulong 32
%uint_123 = OpConstant %uint 123
%uint_122 = OpConstant %uint 122
%uint_121 = OpConstant %uint 121
%uint_119 = OpConstant %uint 119
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint
%17 = OpLabel
%18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%19 = OpCompositeExtract %ulong %18 0
%20 = OpShiftLeftLogical %ulong %19 %ulong_32
%21 = OpShiftRightArithmetic %ulong %20 %ulong_32
%22 = OpCompositeConstruct %v4uint %uint_123 %uint_122 %uint_121 %uint_119
%23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %21
OpStore %23 %22
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,43 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 25
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int8
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "composite_construct_struct"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%v2uint = OpTypeVector %uint 2
%uchar = OpTypeInt 8 0
%_struct_10 = OpTypeStruct %uint %uchar
%_struct_11 = OpTypeStruct %v2uint %_struct_10
%_ptr_CrossWorkgroup__struct_11 = OpTypePointer CrossWorkgroup %_struct_11
%13 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_11
%uint_2100483600 = OpConstant %uint 2100483600
%uchar_128 = OpConstant %uchar 128
%uint_2100480000 = OpConstant %uint 2100480000
%uint_2100480000_0 = OpConstant %uint 2100480000
%18 = OpConstantComposite %v2uint %uint_2100480000 %uint_2100480000_0
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %13
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_11
%19 = OpLabel
%20 = OpCompositeConstruct %_struct_10 %uint_2100483600 %uchar_128
%21 = OpCompositeConstruct %_struct_11 %18 %20
%22 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%23 = OpCompositeExtract %uint %22 0
%24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_11 %in %23
OpStore %24 %21
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,48 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 29
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int8
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "composite_construct_struct"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%uchar = OpTypeInt 8 0
%_struct_11 = OpTypeStruct %uint %uchar
%_struct_12 = OpTypeStruct %v2uint %_struct_11
%_ptr_CrossWorkgroup__struct_12 = OpTypePointer CrossWorkgroup %_struct_12
%14 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_12
%ulong_32 = OpConstant %ulong 32
%uint_2100483600 = OpConstant %uint 2100483600
%uchar_128 = OpConstant %uchar 128
%uint_2100480000 = OpConstant %uint 2100480000
%uint_2100480000_0 = OpConstant %uint 2100480000
%20 = OpConstantComposite %v2uint %uint_2100480000 %uint_2100480000_0
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %14
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_12
%21 = OpLabel
%22 = OpCompositeConstruct %_struct_11 %uint_2100483600 %uchar_128
%23 = OpCompositeConstruct %_struct_12 %20 %22
%24 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%25 = OpCompositeExtract %ulong %24 0
%26 = OpShiftLeftLogical %ulong %25 %ulong_32
%27 = OpShiftRightArithmetic %ulong %26 %ulong_32
%28 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_12 %in %27
OpStore %28 %23
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,34 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 16
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int8
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_char_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%uchar = OpTypeInt 8 0
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar
%uchar_20 = OpConstant %uchar 20
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %14
OpStore %15 %uchar_20
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,38 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int8
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_char_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uchar = OpTypeInt 8 0
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar
%ulong_32 = OpConstant %ulong 32
%uchar_20 = OpConstant %uchar 20
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %17
OpStore %18 %uchar_20
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,34 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 16
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Float64
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_double_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%double = OpTypeFloat 64
%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_double
%double_3_1415926535897931 = OpConstant %double 3.1415926535897931
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_double
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %14
OpStore %15 %double_3_1415926535897931
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,38 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Float64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_double_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%double = OpTypeFloat 64
%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_double
%ulong_32 = OpConstant %ulong 32
%double_3_1415926535897931 = OpConstant %double 3.1415926535897931
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_double
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %17
OpStore %18 %double_3_1415926535897931
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,36 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_false_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%bool = OpTypeBool
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint
%false = OpConstantFalse %bool
%uint_1 = OpConstant %uint 1
%uint_0 = OpConstant %uint 0
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%14 = OpLabel
%15 = OpSelect %uint %false %uint_1 %uint_0
%16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %uint %16 0
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17
OpStore %18 %15
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,41 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 23
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_false_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%bool = OpTypeBool
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint
%ulong_32 = OpConstant %ulong 32
%false = OpConstantFalse %bool
%uint_1 = OpConstant %uint 1
%uint_0 = OpConstant %uint 0
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%16 = OpLabel
%17 = OpSelect %uint %false %uint_1 %uint_0
%18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%19 = OpCompositeExtract %ulong %18 0
%20 = OpShiftLeftLogical %ulong %19 %ulong_32
%21 = OpShiftRightArithmetic %ulong %20 %ulong_32
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %21
OpStore %22 %17
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,33 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 16
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_float_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%float = OpTypeFloat 32
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float
%float_3_14159274 = OpConstant %float 3.14159274
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_float
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %14
OpStore %15 %float_3_14159274
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,37 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_float_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%float = OpTypeFloat 32
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float
%ulong_32 = OpConstant %ulong 32
%float_3_14159274 = OpConstant %float 3.14159274
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_float
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %17
OpStore %18 %float_3_14159274
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,36 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 18
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Float16
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_half_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%float = OpTypeFloat 32
%half = OpTypeFloat 16
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_float
%half_0x1_ap_1 = OpConstant %half 0x1.ap+1
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup_float
%13 = OpLabel
%14 = OpFConvert %float %half_0x1_ap_1
%15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%16 = OpCompositeExtract %uint %15 0
%17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %16
OpStore %17 %14
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,40 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 21
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Float16
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_half_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%float = OpTypeFloat 32
%half = OpTypeFloat 16
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_float
%ulong_32 = OpConstant %ulong 32
%half_0x1_ap_1 = OpConstant %half 0x1.ap+1
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup_float
%14 = OpLabel
%15 = OpFConvert %float %half_0x1_ap_1
%16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %ulong %16 0
%18 = OpShiftLeftLogical %ulong %17 %ulong_32
%19 = OpShiftRightArithmetic %ulong %18 %ulong_32
%20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %19
OpStore %20 %15
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,35 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 18
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_int3_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_v3uint = OpTypePointer CrossWorkgroup %v3uint
%9 = OpTypeFunction %void %_ptr_CrossWorkgroup_v3uint
%uint_123 = OpConstant %uint 123
%uint_122 = OpConstant %uint 122
%uint_121 = OpConstant %uint 121
%13 = OpConstantComposite %v3uint %uint_123 %uint_122 %uint_121
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %9
%in = OpFunctionParameter %_ptr_CrossWorkgroup_v3uint
%14 = OpLabel
%15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%16 = OpCompositeExtract %uint %15 0
%17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v3uint %in %16
OpStore %17 %13 Aligned 16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,41 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 23
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_int3_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_CrossWorkgroup_v3uint = OpTypePointer CrossWorkgroup %v3uint
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v3uint
%ulong_32 = OpConstant %ulong 32
%uint_123 = OpConstant %uint 123
%uint_122 = OpConstant %uint 122
%uint_121 = OpConstant %uint 121
%16 = OpConstantComposite %v3uint %uint_123 %uint_122 %uint_121
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup_v3uint
%17 = OpLabel
%18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%19 = OpCompositeExtract %ulong %18 0
%20 = OpShiftLeftLogical %ulong %19 %ulong_32
%21 = OpShiftRightArithmetic %ulong %20 %ulong_32
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v3uint %in %21
OpStore %22 %16 Aligned 16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,37 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 20
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_int4_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%v4uint = OpTypeVector %uint 4
%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint
%uint_123 = OpConstant %uint 123
%uint_122 = OpConstant %uint 122
%uint_121 = OpConstant %uint 121
%uint_119 = OpConstant %uint 119
%15 = OpConstantComposite %v4uint %uint_123 %uint_122 %uint_121 %uint_119
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint
%16 = OpLabel
%17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%18 = OpCompositeExtract %uint %17 0
%19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %18
OpStore %19 %15 Aligned 16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,42 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 24
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_int4_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%v4uint = OpTypeVector %uint 4
%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint
%ulong_32 = OpConstant %ulong 32
%uint_123 = OpConstant %uint 123
%uint_122 = OpConstant %uint 122
%uint_121 = OpConstant %uint 121
%uint_119 = OpConstant %uint 119
%17 = OpConstantComposite %v4uint %uint_123 %uint_122 %uint_121 %uint_119
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint
%18 = OpLabel
%19 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%20 = OpCompositeExtract %ulong %19 0
%21 = OpShiftLeftLogical %ulong %20 %ulong_32
%22 = OpShiftRightArithmetic %ulong %21 %ulong_32
%23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %22
OpStore %23 %17
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,32 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 15
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_int_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint
%uint_123 = OpConstant %uint 123
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %9
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%11 = OpLabel
%12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%13 = OpCompositeExtract %uint %12 0
%14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13
OpStore %14 %uint_123
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,37 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_int_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint
%ulong_32 = OpConstant %ulong 32
%uint_123 = OpConstant %uint 123
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17
OpStore %18 %uint_123
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,34 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 16
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_long_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%ulong = OpTypeInt 64 0
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong
%ulong_34359738368 = OpConstant %ulong 34359738368
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %14
OpStore %15 %ulong_34359738368
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,36 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 18
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_long_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
%9 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong
%ulong_32 = OpConstant %ulong 32
%ulong_34359738368 = OpConstant %ulong 34359738368
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %9
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong
%12 = OpLabel
%13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %ulong %13 0
%15 = OpShiftLeftLogical %ulong %14 %ulong_32
%16 = OpShiftRightArithmetic %ulong %15 %ulong_32
%17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %16
OpStore %17 %ulong_34359738368
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,34 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 16
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int16
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_short_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%ushort = OpTypeInt 16 0
%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort
%ushort_32000 = OpConstant %ushort 32000
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %14
OpStore %15 %ushort_32000
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,38 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int16
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_short_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%ushort = OpTypeInt 16 0
%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort
%ulong_32 = OpConstant %ulong 32
%ushort_32000 = OpConstant %ushort 32000
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %17
OpStore %18 %ushort_32000
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,37 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int8
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_struct_int_char_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%uchar = OpTypeInt 8 0
%_struct_9 = OpTypeStruct %uint %uchar
%_ptr_CrossWorkgroup__struct_9 = OpTypePointer CrossWorkgroup %_struct_9
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_9
%uint_2100483600 = OpConstant %uint 2100483600
%uchar_128 = OpConstant %uchar 128
%14 = OpConstantComposite %_struct_9 %uint_2100483600 %uchar_128
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_9
%15 = OpLabel
%16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %uint %16 0
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_9 %in %17
OpStore %18 %14
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,42 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 23
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int8
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_struct_int_char_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%uchar = OpTypeInt 8 0
%_struct_10 = OpTypeStruct %uint %uchar
%_ptr_CrossWorkgroup__struct_10 = OpTypePointer CrossWorkgroup %_struct_10
%12 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_10
%ulong_32 = OpConstant %ulong 32
%uint_2100483600 = OpConstant %uint 2100483600
%uchar_128 = OpConstant %uchar 128
%16 = OpConstantComposite %_struct_10 %uint_2100483600 %uchar_128
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %12
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_10
%17 = OpLabel
%18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%19 = OpCompositeExtract %ulong %18 0
%20 = OpShiftLeftLogical %ulong %19 %ulong_32
%21 = OpShiftRightArithmetic %ulong %20 %ulong_32
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_10 %in %21
OpStore %22 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,36 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Kernel
OpCapability Linkage
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_struct_int_float_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%float = OpTypeFloat 32
%_struct_9 = OpTypeStruct %uint %float
%_ptr_CrossWorkgroup__struct_9 = OpTypePointer CrossWorkgroup %_struct_9
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_9
%uint_1024 = OpConstant %uint 1024
%float_3_1415 = OpConstant %float 3.1415
%14 = OpConstantComposite %_struct_9 %uint_1024 %float_3_1415
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_9
%15 = OpLabel
%16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %uint %16 0
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_9 %in %17
OpStore %18 %14
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,41 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 23
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_struct_int_float_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%float = OpTypeFloat 32
%_struct_10 = OpTypeStruct %uint %float
%_ptr_CrossWorkgroup__struct_10 = OpTypePointer CrossWorkgroup %_struct_10
%12 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_10
%ulong_32 = OpConstant %ulong 32
%uint_1024 = OpConstant %uint 1024
%float_3_1415 = OpConstant %float 3.1415
%16 = OpConstantComposite %_struct_10 %uint_1024 %float_3_1415
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %12
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_10
%17 = OpLabel
%18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%19 = OpCompositeExtract %ulong %18 0
%20 = OpShiftLeftLogical %ulong %19 %ulong_32
%21 = OpShiftRightArithmetic %ulong %20 %ulong_32
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_10 %in %21
OpStore %22 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,43 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 25
; Schema: 0
OpCapability Addresses
OpCapability Kernel
OpCapability Linkage
OpCapability Int8
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_struct_struct_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%v2uint = OpTypeVector %uint 2
%uchar = OpTypeInt 8 0
%_struct_10 = OpTypeStruct %uint %uchar
%_struct_11 = OpTypeStruct %v2uint %_struct_10
%_ptr_CrossWorkgroup__struct_11 = OpTypePointer CrossWorkgroup %_struct_11
%13 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_11
%uint_2100483600 = OpConstant %uint 2100483600
%uchar_128 = OpConstant %uchar 128
%uint_2100480000 = OpConstant %uint 2100480000
%uint_2100480000_0 = OpConstant %uint 2100480000
%18 = OpConstantComposite %_struct_10 %uint_2100483600 %uchar_128
%19 = OpConstantComposite %v2uint %uint_2100480000 %uint_2100480000_0
%20 = OpConstantComposite %_struct_11 %19 %18
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %13
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_11
%21 = OpLabel
%22 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%23 = OpCompositeExtract %uint %22 0
%24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_11 %in %23
OpStore %24 %20
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,48 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 29
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int8
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_struct_struct_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%uchar = OpTypeInt 8 0
%_struct_11 = OpTypeStruct %uint %uchar
%_struct_12 = OpTypeStruct %v2uint %_struct_11
%_ptr_CrossWorkgroup__struct_12 = OpTypePointer CrossWorkgroup %_struct_12
%14 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_12
%ulong_32 = OpConstant %ulong 32
%uint_2100483600 = OpConstant %uint 2100483600
%uchar_128 = OpConstant %uchar 128
%uint_2100480000 = OpConstant %uint 2100480000
%uint_2100480000_0 = OpConstant %uint 2100480000
%20 = OpConstantComposite %_struct_11 %uint_2100483600 %uchar_128
%21 = OpConstantComposite %v2uint %uint_2100480000 %uint_2100480000_0
%22 = OpConstantComposite %_struct_12 %21 %20
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %14
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_12
%23 = OpLabel
%24 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%25 = OpCompositeExtract %ulong %24 0
%26 = OpShiftLeftLogical %ulong %25 %ulong_32
%27 = OpShiftRightArithmetic %ulong %26 %ulong_32
%28 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_12 %in %27
OpStore %28 %22
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,36 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_true_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%bool = OpTypeBool
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint
%true = OpConstantTrue %bool
%uint_1 = OpConstant %uint 1
%uint_0 = OpConstant %uint 0
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%14 = OpLabel
%15 = OpSelect %uint %true %uint_1 %uint_0
%16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %uint %16 0
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17
OpStore %18 %15 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,41 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 23
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_true_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%bool = OpTypeBool
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint
%ulong_32 = OpConstant %ulong 32
%true = OpConstantTrue %bool
%uint_1 = OpConstant %uint 1
%uint_0 = OpConstant %uint 0
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%16 = OpLabel
%17 = OpSelect %uint %true %uint_1 %uint_0
%18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%19 = OpCompositeExtract %ulong %18 0
%20 = OpShiftLeftLogical %ulong %19 %ulong_32
%21 = OpShiftRightArithmetic %ulong %20 %ulong_32
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %21
OpStore %22 %17
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,34 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 16
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int8
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_uchar_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%uchar = OpTypeInt 8 0
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar
%uchar_19 = OpConstant %uchar 19
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %14
OpStore %15 %uchar_19
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,38 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int8
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_uchar_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uchar = OpTypeInt 8 0
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar
%ulong_32 = OpConstant %ulong 32
%uchar_19 = OpConstant %uchar 19
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %17
OpStore %18 %uchar_19
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,32 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 15
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_uint_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint
%uint_54321 = OpConstant %uint 54321
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %9
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%11 = OpLabel
%12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%13 = OpCompositeExtract %uint %12 0
%14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13
OpStore %14 %uint_54321
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,37 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_uint_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint
%ulong_32 = OpConstant %ulong 32
%uint_54321 = OpConstant %uint 54321
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17
OpStore %18 %uint_54321
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,34 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 16
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_ulong_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%ulong = OpTypeInt 64 0
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong
%ulong_9223372036854775810 = OpConstant %ulong 9223372036854775810
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %14
OpStore %15 %ulong_9223372036854775810
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,36 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 18
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_ulong_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
%9 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong
%ulong_32 = OpConstant %ulong 32
%ulong_9223372036854775810 = OpConstant %ulong 9223372036854775810
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %9
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong
%12 = OpLabel
%13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %ulong %13 0
%15 = OpShiftLeftLogical %ulong %14 %ulong_32
%16 = OpShiftRightArithmetic %ulong %15 %ulong_32
%17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %16
OpStore %17 %ulong_9223372036854775810
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,34 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 16
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int16
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "constant_ushort_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%ushort = OpTypeInt 16 0
%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort
%ushort_65000 = OpConstant %ushort 65000
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %14
OpStore %15 %ushort_65000
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,38 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int16
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "constant_ushort_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%ushort = OpTypeInt 16 0
%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort
%ulong_32 = OpConstant %ulong 32
%ushort_65000 = OpConstant %ushort 65000
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %17
OpStore %18 %ushort_65000
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,35 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 17
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int8
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_char_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%uchar = OpTypeInt 8 0
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar
%uchar_20 = OpConstant %uchar 20
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %14
%16 = OpCopyObject %uchar %uchar_20
OpStore %15 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,39 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 20
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int8
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_char_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uchar = OpTypeInt 8 0
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar
%ulong_32 = OpConstant %ulong 32
%uchar_20 = OpConstant %uchar 20
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %17
%19 = OpCopyObject %uchar %uchar_20
OpStore %18 %19
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,35 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 17
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Float64
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_double_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%double = OpTypeFloat 64
%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_double
%double_3_1415926535897931 = OpConstant %double 3.1415926535897931
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_double
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %14
%16 = OpCopyObject %double %double_3_1415926535897931
OpStore %15 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,39 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 20
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Float64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_double_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%double = OpTypeFloat 64
%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_double
%ulong_32 = OpConstant %ulong 32
%double_3_1415926535897931 = OpConstant %double 3.1415926535897931
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_double
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %17
%19 = OpCopyObject %double %double_3_1415926535897931
OpStore %18 %19
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,34 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 17
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_float_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%float = OpTypeFloat 32
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float
%float_3_14159274 = OpConstant %float 3.14159274
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_float
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %14
%16 = OpCopyObject %float %float_3_14159274
OpStore %15 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,38 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 20
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_float_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%float = OpTypeFloat 32
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float
%ulong_32 = OpConstant %ulong 32
%float_3_14159274 = OpConstant %float 3.14159274
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_float
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %17
%19 = OpCopyObject %float %float_3_14159274
OpStore %18 %19
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,37 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Float16
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_half_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%float = OpTypeFloat 32
%half = OpTypeFloat 16
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_float
%half_0x1_ap_1 = OpConstant %half 0x1.ap+1
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup_float
%13 = OpLabel
%14 = OpCopyObject %half %half_0x1_ap_1
%15 = OpFConvert %float %14
%16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %uint %16 0
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %17
OpStore %18 %15
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,41 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 22
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Float16
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_half_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%float = OpTypeFloat 32
%half = OpTypeFloat 16
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_float
%ulong_32 = OpConstant %ulong 32
%half_0x1_ap_1 = OpConstant %half 0x1.ap+1
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup_float
%14 = OpLabel
%15 = OpCopyObject %half %half_0x1_ap_1
%16 = OpFConvert %float %15
%17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%18 = OpCompositeExtract %ulong %17 0
%19 = OpShiftLeftLogical %ulong %18 %ulong_32
%20 = OpShiftRightArithmetic %ulong %19 %ulong_32
%21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %20
OpStore %21 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,36 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_int3_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_v3uint = OpTypePointer CrossWorkgroup %v3uint
%9 = OpTypeFunction %void %_ptr_CrossWorkgroup_v3uint
%uint_123 = OpConstant %uint 123
%uint_122 = OpConstant %uint 122
%uint_121 = OpConstant %uint 121
%13 = OpConstantComposite %v3uint %uint_123 %uint_122 %uint_121
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %9
%in = OpFunctionParameter %_ptr_CrossWorkgroup_v3uint
%14 = OpLabel
%15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%16 = OpCompositeExtract %uint %15 0
%17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v3uint %in %16
%18 = OpCopyObject %v3uint %13
OpStore %17 %18 Aligned 16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,42 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 24
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_int3_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_CrossWorkgroup_v3uint = OpTypePointer CrossWorkgroup %v3uint
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v3uint
%ulong_32 = OpConstant %ulong 32
%uint_123 = OpConstant %uint 123
%uint_122 = OpConstant %uint 122
%uint_121 = OpConstant %uint 121
%16 = OpConstantComposite %v3uint %uint_123 %uint_122 %uint_121
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup_v3uint
%17 = OpLabel
%18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%19 = OpCompositeExtract %ulong %18 0
%20 = OpShiftLeftLogical %ulong %19 %ulong_32
%21 = OpShiftRightArithmetic %ulong %20 %ulong_32
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v3uint %in %21
%23 = OpCopyObject %v3uint %16
OpStore %22 %23 Aligned 16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,38 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 21
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_int4_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%v4uint = OpTypeVector %uint 4
%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint
%uint_123 = OpConstant %uint 123
%uint_122 = OpConstant %uint 122
%uint_121 = OpConstant %uint 121
%uint_119 = OpConstant %uint 119
%15 = OpConstantComposite %v4uint %uint_123 %uint_122 %uint_121 %uint_119
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint
%16 = OpLabel
%17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%18 = OpCompositeExtract %uint %17 0
%19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %18
%20 = OpCopyObject %v4uint %15
OpStore %19 %20 Aligned 16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,43 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 25
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_int4_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%v4uint = OpTypeVector %uint 4
%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint
%ulong_32 = OpConstant %ulong 32
%uint_123 = OpConstant %uint 123
%uint_122 = OpConstant %uint 122
%uint_121 = OpConstant %uint 121
%uint_119 = OpConstant %uint 119
%17 = OpConstantComposite %v4uint %uint_123 %uint_122 %uint_121 %uint_119
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint
%18 = OpLabel
%19 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%20 = OpCompositeExtract %ulong %19 0
%21 = OpShiftLeftLogical %ulong %20 %ulong_32
%22 = OpShiftRightArithmetic %ulong %21 %ulong_32
%23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %22
%24 = OpCopyObject %v4uint %17
OpStore %23 %24 Aligned 16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,33 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 16
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_int_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint
%uint_123 = OpConstant %uint 123
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %9
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%11 = OpLabel
%12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%13 = OpCompositeExtract %uint %12 0
%14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13
%15 = OpCopyObject %uint %uint_123
OpStore %14 %15
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,38 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 20
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_int_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint
%ulong_32 = OpConstant %ulong 32
%uint_123 = OpConstant %uint 123
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17
%19 = OpCopyObject %uint %uint_123
OpStore %18 %19
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,35 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 17
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_long_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%ulong = OpTypeInt 64 0
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong
%ulong_34359738368 = OpConstant %ulong 34359738368
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %14
%16 = OpCopyObject %ulong %ulong_34359738368
OpStore %15 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,37 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_long_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
%9 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong
%ulong_32 = OpConstant %ulong 32
%ulong_34359738368 = OpConstant %ulong 34359738368
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %9
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong
%12 = OpLabel
%13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %ulong %13 0
%15 = OpShiftLeftLogical %ulong %14 %ulong_32
%16 = OpShiftRightArithmetic %ulong %15 %ulong_32
%17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %16
%18 = OpCopyObject %ulong %ulong_34359738368
OpStore %17 %18
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,35 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 17
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int16
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_short_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%ushort = OpTypeInt 16 0
%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort
%ushort_32000 = OpConstant %ushort 32000
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %14
%16 = OpCopyObject %ushort %ushort_32000
OpStore %15 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,39 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 20
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int16
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_short_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%ushort = OpTypeInt 16 0
%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort
%ulong_32 = OpConstant %ulong 32
%ushort_32000 = OpConstant %ushort 32000
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %17
%19 = OpCopyObject %ushort %ushort_32000
OpStore %18 %19
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,38 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 20
; Schema: 0
OpCapability Addresses
OpCapability Kernel
OpCapability Linkage
OpCapability Int8
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_struct_int_char_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%uchar = OpTypeInt 8 0
%_struct_9 = OpTypeStruct %uint %uchar
%_ptr_CrossWorkgroup__struct_9 = OpTypePointer CrossWorkgroup %_struct_9
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_9
%uint_2100483600 = OpConstant %uint 2100483600
%uchar_128 = OpConstant %uchar 128
%14 = OpConstantComposite %_struct_9 %uint_2100483600 %uchar_128
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_9
%15 = OpLabel
%16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %uint %16 0
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_9 %in %17
%19 = OpCopyObject %_struct_9 %14
OpStore %18 %19
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,43 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 24
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int8
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_struct_int_char_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%uchar = OpTypeInt 8 0
%_struct_10 = OpTypeStruct %uint %uchar
%_ptr_CrossWorkgroup__struct_10 = OpTypePointer CrossWorkgroup %_struct_10
%12 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_10
%ulong_32 = OpConstant %ulong 32
%uint_2100483600 = OpConstant %uint 2100483600
%uchar_128 = OpConstant %uchar 128
%16 = OpConstantComposite %_struct_10 %uint_2100483600 %uchar_128
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %12
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_10
%17 = OpLabel
%18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%19 = OpCompositeExtract %ulong %18 0
%20 = OpShiftLeftLogical %ulong %19 %ulong_32
%21 = OpShiftRightArithmetic %ulong %20 %ulong_32
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_10 %in %21
%23 = OpCopyObject %_struct_10 %16
OpStore %22 %23
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,37 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 20
; Schema: 0
OpCapability Addresses
OpCapability Kernel
OpCapability Linkage
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_struct_int_float_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%float = OpTypeFloat 32
%_struct_9 = OpTypeStruct %uint %float
%_ptr_CrossWorkgroup__struct_9 = OpTypePointer CrossWorkgroup %_struct_9
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_9
%uint_1024 = OpConstant %uint 1024
%float_3_1415 = OpConstant %float 3.1415
%14 = OpConstantComposite %_struct_9 %uint_1024 %float_3_1415
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_9
%15 = OpLabel
%16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %uint %16 0
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_9 %in %17
%19 = OpCopyObject %_struct_9 %14
OpStore %18 %19
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,42 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 24
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_struct_int_float_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%float = OpTypeFloat 32
%_struct_10 = OpTypeStruct %uint %float
%_ptr_CrossWorkgroup__struct_10 = OpTypePointer CrossWorkgroup %_struct_10
%12 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_10
%ulong_32 = OpConstant %ulong 32
%uint_1024 = OpConstant %uint 1024
%float_3_1415 = OpConstant %float 3.1415
%16 = OpConstantComposite %_struct_10 %uint_1024 %float_3_1415
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %12
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_10
%17 = OpLabel
%18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%19 = OpCompositeExtract %ulong %18 0
%20 = OpShiftLeftLogical %ulong %19 %ulong_32
%21 = OpShiftRightArithmetic %ulong %20 %ulong_32
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_10 %in %21
%23 = OpCopyObject %_struct_10 %16
OpStore %22 %23
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,44 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 26
; Schema: 0
OpCapability Addresses
OpCapability Kernel
OpCapability Int8
OpCapability Linkage
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_struct_struct_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%v2uint = OpTypeVector %uint 2
%uchar = OpTypeInt 8 0
%_struct_10 = OpTypeStruct %uint %uchar
%_struct_11 = OpTypeStruct %v2uint %_struct_10
%_ptr_CrossWorkgroup__struct_11 = OpTypePointer CrossWorkgroup %_struct_11
%13 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_11
%uint_2100483600 = OpConstant %uint 2100483600
%uchar_128 = OpConstant %uchar 128
%uint_2100480000 = OpConstant %uint 2100480000
%uint_2100480000_0 = OpConstant %uint 2100480000
%18 = OpConstantComposite %_struct_10 %uint_2100483600 %uchar_128
%19 = OpConstantComposite %v2uint %uint_2100480000 %uint_2100480000_0
%20 = OpConstantComposite %_struct_11 %19 %18
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %13
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_11
%21 = OpLabel
%22 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%23 = OpCompositeExtract %uint %22 0
%24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_11 %in %23
%25 = OpCopyObject %_struct_11 %20
OpStore %24 %25
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,49 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 30
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int8
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_struct_struct_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%uchar = OpTypeInt 8 0
%_struct_11 = OpTypeStruct %uint %uchar
%_struct_12 = OpTypeStruct %v2uint %_struct_11
%_ptr_CrossWorkgroup__struct_12 = OpTypePointer CrossWorkgroup %_struct_12
%14 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_12
%ulong_32 = OpConstant %ulong 32
%uint_2100483600 = OpConstant %uint 2100483600
%uchar_128 = OpConstant %uchar 128
%uint_2100480000 = OpConstant %uint 2100480000
%uint_2100480000_0 = OpConstant %uint 2100480000
%20 = OpConstantComposite %_struct_11 %uint_2100483600 %uchar_128
%21 = OpConstantComposite %v2uint %uint_2100480000 %uint_2100480000_0
%22 = OpConstantComposite %_struct_12 %21 %20
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %14
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_12
%23 = OpLabel
%24 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%25 = OpCompositeExtract %ulong %24 0
%26 = OpShiftLeftLogical %ulong %25 %ulong_32
%27 = OpShiftRightArithmetic %ulong %26 %ulong_32
%28 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_12 %in %27
%29 = OpCopyObject %_struct_12 %22
OpStore %28 %29
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,35 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 17
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int8
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_uchar_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%uchar = OpTypeInt 8 0
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar
%uchar_19 = OpConstant %uchar 19
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %14
%16 = OpCopyObject %uchar %uchar_19
OpStore %15 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,39 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 20
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int8
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_uchar_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uchar = OpTypeInt 8 0
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar
%ulong_32 = OpConstant %ulong 32
%uchar_19 = OpConstant %uchar 19
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %17
%19 = OpCopyObject %uchar %uchar_19
OpStore %18 %19
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,33 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 16
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_uint_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint
%uint_54321 = OpConstant %uint 54321
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %9
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%11 = OpLabel
%12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%13 = OpCompositeExtract %uint %12 0
%14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13
%15 = OpCopyObject %uint %uint_54321
OpStore %14 %15
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,38 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 20
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_uint_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint
%ulong_32 = OpConstant %ulong 32
%uint_54321 = OpConstant %uint 54321
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17
%19 = OpCopyObject %uint %uint_54321
OpStore %18 %19
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,35 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 17
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_ulong_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%ulong = OpTypeInt 64 0
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong
%ulong_9223372036854775810 = OpConstant %ulong 9223372036854775810
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %14
%16 = OpCopyObject %ulong %ulong_9223372036854775810
OpStore %15 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,37 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_ulong_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
%9 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong
%ulong_32 = OpConstant %ulong 32
%ulong_9223372036854775810 = OpConstant %ulong 9223372036854775810
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %9
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong
%12 = OpLabel
%13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %ulong %13 0
%15 = OpShiftLeftLogical %ulong %14 %ulong_32
%16 = OpShiftRightArithmetic %ulong %15 %ulong_32
%17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %16
%18 = OpCopyObject %ulong %ulong_9223372036854775810
OpStore %17 %18
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,35 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 17
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int16
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "copy_ushort_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%ushort = OpTypeInt 16 0
%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort
%ushort_65000 = OpConstant %ushort 65000
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort
%12 = OpLabel
%13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%14 = OpCompositeExtract %uint %13 0
%15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %14
%16 = OpCopyObject %ushort %ushort_65000
OpStore %15 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,39 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 20
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int16
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "copy_ushort_simple"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%ushort = OpTypeInt 16 0
%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort
%ulong_32 = OpConstant %ulong 32
%ushort_65000 = OpConstant %ushort 65000
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %10
%in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort
%13 = OpLabel
%14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %ulong %14 0
%16 = OpShiftLeftLogical %ulong %15 %ulong_32
%17 = OpShiftRightArithmetic %ulong %16 %ulong_32
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %17
%19 = OpCopyObject %ushort %ushort_65000
OpStore %18 %19
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,43 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 22
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "decorate_aliased"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpName %entry "entry"
OpDecorate %6 Aliased
%6 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %6 %res %lhs %rhs
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%13 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %13
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%entry = OpLabel
%14 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %uint %14 0
%16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15
%17 = OpLoad %uint %16 Aligned 4
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15
%19 = OpLoad %uint %18 Aligned 4
%20 = OpIAdd %uint %17 %19
%21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %15
OpStore %21 %20 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,48 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 26
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "decorate_aliased"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpName %entry "entry"
OpDecorate %6 Aliased
%6 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %6 %res %lhs %rhs
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%ulong_32 = OpConstant %ulong 32
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %14
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%entry = OpLabel
%16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %ulong %16 0
%18 = OpShiftLeftLogical %ulong %17 %ulong_32
%19 = OpShiftRightArithmetic %ulong %18 %ulong_32
%20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19
%21 = OpLoad %uint %20 Aligned 4
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19
%23 = OpLoad %uint %22 Aligned 4
%24 = OpIAdd %uint %21 %23
%25 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19
OpStore %25 %24 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,43 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 22
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "decorate_alignment"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpName %entry "entry"
OpDecorate %6 Alignment 4
%6 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %6 %res %lhs %rhs
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%13 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %13
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%entry = OpLabel
%14 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %uint %14 0
%16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15
%17 = OpLoad %uint %16 Aligned 4
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15
%19 = OpLoad %uint %18 Aligned 4
%20 = OpIAdd %uint %17 %19
%21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %15
OpStore %21 %20 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,48 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 26
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "decorate_alignment"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpName %entry "entry"
OpDecorate %6 Alignment 4
%6 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %6 %res %lhs %rhs
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%ulong_32 = OpConstant %ulong 32
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %14
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%entry = OpLabel
%16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %ulong %16 0
%18 = OpShiftLeftLogical %ulong %17 %ulong_32
%19 = OpShiftRightArithmetic %ulong %18 %ulong_32
%20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19
%21 = OpLoad %uint %20 Aligned 4
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19
%23 = OpLoad %uint %22 Aligned 4
%24 = OpIAdd %uint %21 %23
%25 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19
OpStore %25 %24 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,80 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 40
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability ImageBasic
OpCapability LiteralSampler
%1 = OpExtInstImport "OpenCL.std"
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %2 "decorate_coherent"
OpName %sampler "sampler"
OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId"
OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize"
OpName %dst "dst"
OpName %src "src"
OpName %entry "entry"
OpName %call "call"
OpName %call1 "call1"
OpName %call2 "call2"
OpName %mul "mul"
OpName %add "add"
OpName %vecinit "vecinit"
OpName %vecinit6 "vecinit6"
OpName %TempSampledImage "TempSampledImage"
OpName %call7_old "call7.old"
OpName %arrayidx "arrayidx"
OpDecorate %src Coherent
OpDecorate %19 Constant
%19 = OpDecorationGroup
OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId
OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize
OpDecorate %dst FuncParamAttr NoCapture
OpDecorate %sampler LinkageAttributes "sampler" Export
OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import
OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import
OpDecorate %sampler Alignment 4
OpGroupDecorate %19 %sampler %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize
%uint = OpTypeInt 32 0
%uint_16 = OpConstant %uint 16
%_ptr_UniformConstant_uint = OpTypePointer UniformConstant %uint
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%v4uint = OpTypeVector %uint 4
%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint
%28 = OpTypeImage %void 2D 0 0 0 0 Unknown ReadOnly
%29 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %28
%v2uint = OpTypeVector %uint 2
%31 = OpTypeSampler
%32 = OpTypeSampledImage %28
%float = OpTypeFloat 32
%34 = OpConstantSampler %31 None 0 Nearest
%float_0 = OpConstant %float 0
%sampler = OpVariable %_ptr_UniformConstant_uint UniformConstant %uint_16
%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%2 = OpFunction %void None %29
%dst = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint
%src = OpFunctionParameter %28
%entry = OpLabel
%36 = OpUndef %v2uint
%37 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0
%call = OpCompositeExtract %uint %37 0
%38 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0
%call1 = OpCompositeExtract %uint %38 1
%39 = OpLoad %v3uint %__spirv_BuiltInGlobalSize Aligned 0
%call2 = OpCompositeExtract %uint %39 0
%mul = OpIMul %uint %call2 %call1
%add = OpIAdd %uint %mul %call
%vecinit = OpCompositeInsert %v2uint %call1 %36 0
%vecinit6 = OpCompositeInsert %v2uint %call %vecinit 1
%TempSampledImage = OpSampledImage %32 %src %34
%call7_old = OpImageSampleExplicitLod %v4uint %TempSampledImage %vecinit6 Lod %float_0
%arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %dst %add
OpStore %arrayidx %call7_old Aligned 16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,93 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 47
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability ImageBasic
OpCapability LiteralSampler
%1 = OpExtInstImport "OpenCL.std"
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %2 "decorate_coherent"
OpName %sampler "sampler"
OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId"
OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize"
OpName %dst "dst"
OpName %src "src"
OpName %entry "entry"
OpName %call "call"
OpName %conv "conv"
OpName %call1 "call1"
OpName %conv2 "conv2"
OpName %conv3 "conv3"
OpName %call4 "call4"
OpName %mul "mul"
OpName %add "add"
OpName %vecinit "vecinit"
OpName %vecinit10 "vecinit10"
OpName %TempSampledImage "TempSampledImage"
OpName %call11_old "call11.old"
OpName %sext "sext"
OpName %idxprom "idxprom"
OpName %arrayidx "arrayidx"
OpDecorate %src Coherent
OpDecorate %24 Constant
%24 = OpDecorationGroup
OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId
OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize
OpDecorate %dst FuncParamAttr NoCapture
OpDecorate %sampler LinkageAttributes "sampler" Export
OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import
OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import
OpDecorate %sampler Alignment 4
OpGroupDecorate %24 %sampler %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize
%uint = OpTypeInt 32 0
%ulong = OpTypeInt 64 0
%uint_16 = OpConstant %uint 16
%ulong_32 = OpConstant %ulong 32
%_ptr_UniformConstant_uint = OpTypePointer UniformConstant %uint
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%v4uint = OpTypeVector %uint 4
%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint
%35 = OpTypeImage %void 2D 0 0 0 0 Unknown ReadOnly
%36 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %35
%v2uint = OpTypeVector %uint 2
%38 = OpTypeSampler
%39 = OpTypeSampledImage %35
%float = OpTypeFloat 32
%41 = OpConstantSampler %38 None 0 Nearest
%float_0 = OpConstant %float 0
%sampler = OpVariable %_ptr_UniformConstant_uint UniformConstant %uint_16
%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%2 = OpFunction %void None %36
%dst = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint
%src = OpFunctionParameter %35
%entry = OpLabel
%43 = OpUndef %v2uint
%44 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0
%call = OpCompositeExtract %ulong %44 0
%conv = OpUConvert %uint %call
%45 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0
%call1 = OpCompositeExtract %ulong %45 1
%conv2 = OpUConvert %uint %call1
%conv3 = OpSConvert %ulong %conv2
%46 = OpLoad %v3ulong %__spirv_BuiltInGlobalSize Aligned 0
%call4 = OpCompositeExtract %ulong %46 0
%mul = OpIMul %ulong %conv3 %call4
%add = OpIAdd %ulong %mul %call
%vecinit = OpCompositeInsert %v2uint %conv2 %43 0
%vecinit10 = OpCompositeInsert %v2uint %conv %vecinit 1
%TempSampledImage = OpSampledImage %39 %src %41
%call11_old = OpImageSampleExplicitLod %v4uint %TempSampledImage %vecinit10 Lod %float_0
%sext = OpShiftLeftLogical %ulong %add %ulong_32
%idxprom = OpShiftRightArithmetic %ulong %sext %ulong_32
%arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %dst %idxprom
OpStore %arrayidx %call11_old Aligned 16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,43 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 22
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "decorate_constant"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpName %entry "entry"
OpDecorate %6 Constant
%6 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %6 %lhs %rhs
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%13 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %13
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%entry = OpLabel
%14 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %uint %14 0
%16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15
%17 = OpLoad %uint %16 Aligned 4
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15
%19 = OpLoad %uint %18 Aligned 4
%20 = OpIAdd %uint %17 %19
%21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %15
OpStore %21 %20 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,48 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 26
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "decorate_constant"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpName %entry "entry"
OpDecorate %6 Constant
%6 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %6 %lhs %rhs
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%ulong_32 = OpConstant %ulong 32
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %14
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%entry = OpLabel
%16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %ulong %16 0
%18 = OpShiftLeftLogical %ulong %17 %ulong_32
%19 = OpShiftRightArithmetic %ulong %18 %ulong_32
%20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19
%21 = OpLoad %uint %20 Aligned 4
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19
%23 = OpLoad %uint %22 Aligned 4
%24 = OpIAdd %uint %21 %23
%25 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19
OpStore %25 %24 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,43 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 22
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "decorate_constant"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpName %entry "entry"
OpDecorate %6 Constant
%6 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %6 %res %lhs %rhs
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%13 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %13
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%entry = OpLabel
%14 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %uint %14 0
%16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15
%17 = OpLoad %uint %16 Aligned 4
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15
%19 = OpLoad %uint %18 Aligned 4
%20 = OpIAdd %uint %17 %19
%21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %15
OpStore %21 %20 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,48 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 26
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "decorate_constant"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpName %entry "entry"
OpDecorate %6 Constant
%6 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %6 %res %lhs %rhs
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%ulong_32 = OpConstant %ulong 32
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %14
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%entry = OpLabel
%16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %ulong %16 0
%18 = OpShiftLeftLogical %ulong %17 %ulong_32
%19 = OpShiftRightArithmetic %ulong %18 %ulong_32
%20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19
%21 = OpLoad %uint %20 Aligned 4
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19
%23 = OpLoad %uint %22 Aligned 4
%24 = OpIAdd %uint %21 %23
%25 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19
OpStore %25 %24 Aligned 4
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,38 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 19
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int8
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "decorate_cpacked"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpDecorate %_struct_4 CPacked
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%uchar = OpTypeInt 8 0
%_struct_4 = OpTypeStruct %uint %uchar
%_ptr_CrossWorkgroup__struct_4 = OpTypePointer CrossWorkgroup %_struct_4
%11 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_4
%uint_2100483600 = OpConstant %uint 2100483600
%uchar_127 = OpConstant %uchar 127
%14 = OpConstantComposite %_struct_4 %uint_2100483600 %uchar_127
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %11
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_4
%15 = OpLabel
%16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%17 = OpCompositeExtract %uint %16 0
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_4 %in %17
OpStore %18 %14
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,43 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 23
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability Int8
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "decorate_cpacked"
OpName %in "in"
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %in FuncParamAttr NoCapture
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpDecorate %_struct_4 CPacked
%ulong = OpTypeInt 64 0
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%uint = OpTypeInt 32 0
%uchar = OpTypeInt 8 0
%_struct_4 = OpTypeStruct %uint %uchar
%_ptr_CrossWorkgroup__struct_4 = OpTypePointer CrossWorkgroup %_struct_4
%12 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_4
%ulong_32 = OpConstant %ulong 32
%uint_2100483600 = OpConstant %uint 2100483600
%uchar_127 = OpConstant %uchar 127
%16 = OpConstantComposite %_struct_4 %uint_2100483600 %uchar_127
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%1 = OpFunction %void None %12
%in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_4
%17 = OpLabel
%18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0
%19 = OpCompositeExtract %ulong %18 0
%20 = OpShiftLeftLogical %ulong %19 %ulong_32
%21 = OpShiftRightArithmetic %ulong %20 %ulong_32
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_4 %in %21
OpStore %22 %16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,66 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 31
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability ImageBasic
%1 = OpExtInstImport "OpenCL.std"
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %2 "decorate_nonreadable"
OpSource OpenCL_C 100000
OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId"
OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize"
OpName %dst "dst"
OpName %src "src"
OpName %entry "entry"
OpName %call "call"
OpName %call1 "call1"
OpName %call2 "call2"
OpName %mul "mul"
OpName %add "add"
OpName %vecinit "vecinit"
OpName %vecinit3 "vecinit3"
OpName %arrayidx "arrayidx"
OpDecorate %dst NonReadable
OpDecorate %16 Constant
%16 = OpDecorationGroup
OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId
OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize
OpDecorate %src FuncParamAttr NoCapture
OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import
OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import
OpGroupDecorate %16 %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%21 = OpTypeImage %void 2D 0 0 0 0 Unknown WriteOnly
%v4uint = OpTypeVector %uint 4
%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint
%24 = OpTypeFunction %void %21 %_ptr_CrossWorkgroup_v4uint
%v2uint = OpTypeVector %uint 2
%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%2 = OpFunction %void None %24
%dst = OpFunctionParameter %21
%src = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint
%entry = OpLabel
%26 = OpUndef %v2uint
%27 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0
%call = OpCompositeExtract %uint %27 0
%28 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0
%call1 = OpCompositeExtract %uint %28 1
%29 = OpLoad %v3uint %__spirv_BuiltInGlobalSize Aligned 0
%call2 = OpCompositeExtract %uint %29 0
%mul = OpIMul %uint %call2 %call1
%add = OpIAdd %uint %mul %call
%vecinit = OpCompositeInsert %v2uint %call1 %26 0
%vecinit3 = OpCompositeInsert %v2uint %call %vecinit 1
%arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %src %add
%30 = OpLoad %v4uint %arrayidx Aligned 16
OpImageWrite %dst %vecinit3 %30
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,79 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 38
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability ImageBasic
%1 = OpExtInstImport "OpenCL.std"
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %2 "decorate_nonreadable"
OpSource OpenCL_C 100000
OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId"
OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize"
OpName %dst "dst"
OpName %src "src"
OpName %entry "entry"
OpName %call "call"
OpName %conv "conv"
OpName %call1 "call1"
OpName %conv2 "conv2"
OpName %conv3 "conv3"
OpName %call4 "call4"
OpName %mul "mul"
OpName %add "add"
OpName %vecinit "vecinit"
OpName %vecinit7 "vecinit7"
OpName %sext "sext"
OpName %idxprom "idxprom"
OpName %arrayidx "arrayidx"
OpDecorate %dst NonReadable
OpDecorate %21 Constant
%21 = OpDecorationGroup
OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId
OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize
OpDecorate %src FuncParamAttr NoCapture
OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import
OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import
OpGroupDecorate %21 %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize
%ulong = OpTypeInt 64 0
%uint = OpTypeInt 32 0
%ulong_32 = OpConstant %ulong 32
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%28 = OpTypeImage %void 2D 0 0 0 0 Unknown WriteOnly
%v4uint = OpTypeVector %uint 4
%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint
%31 = OpTypeFunction %void %28 %_ptr_CrossWorkgroup_v4uint
%v2uint = OpTypeVector %uint 2
%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%2 = OpFunction %void None %31
%dst = OpFunctionParameter %28
%src = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint
%entry = OpLabel
%33 = OpUndef %v2uint
%34 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0
%call = OpCompositeExtract %ulong %34 0
%conv = OpUConvert %uint %call
%35 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0
%call1 = OpCompositeExtract %ulong %35 1
%conv2 = OpUConvert %uint %call1
%conv3 = OpSConvert %ulong %conv2
%36 = OpLoad %v3ulong %__spirv_BuiltInGlobalSize Aligned 0
%call4 = OpCompositeExtract %ulong %36 0
%mul = OpIMul %ulong %conv3 %call4
%add = OpIAdd %ulong %mul %call
%vecinit = OpCompositeInsert %v2uint %conv2 %33 0
%vecinit7 = OpCompositeInsert %v2uint %conv %vecinit 1
%sext = OpShiftLeftLogical %ulong %add %ulong_32
%idxprom = OpShiftRightArithmetic %ulong %sext %ulong_32
%arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %src %idxprom
%37 = OpLoad %v4uint %arrayidx Aligned 16
OpImageWrite %dst %vecinit7 %37
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,80 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 40
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability ImageBasic
OpCapability LiteralSampler
%1 = OpExtInstImport "OpenCL.std"
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %2 "decorate_nonwritable"
OpName %sampler "sampler"
OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId"
OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize"
OpName %dst "dst"
OpName %src "src"
OpName %entry "entry"
OpName %call "call"
OpName %call1 "call1"
OpName %call2 "call2"
OpName %mul "mul"
OpName %add "add"
OpName %vecinit "vecinit"
OpName %vecinit6 "vecinit6"
OpName %TempSampledImage "TempSampledImage"
OpName %call7_old "call7.old"
OpName %arrayidx "arrayidx"
OpDecorate %src NonWritable
OpDecorate %19 Constant
%19 = OpDecorationGroup
OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId
OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize
OpDecorate %dst FuncParamAttr NoCapture
OpDecorate %sampler LinkageAttributes "sampler" Export
OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import
OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import
OpDecorate %sampler Alignment 4
OpGroupDecorate %19 %sampler %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize
%uint = OpTypeInt 32 0
%uint_16 = OpConstant %uint 16
%_ptr_UniformConstant_uint = OpTypePointer UniformConstant %uint
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%v4uint = OpTypeVector %uint 4
%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint
%28 = OpTypeImage %void 2D 0 0 0 0 Unknown ReadOnly
%29 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %28
%v2uint = OpTypeVector %uint 2
%31 = OpTypeSampler
%32 = OpTypeSampledImage %28
%float = OpTypeFloat 32
%34 = OpConstantSampler %31 None 0 Nearest
%float_0 = OpConstant %float 0
%sampler = OpVariable %_ptr_UniformConstant_uint UniformConstant %uint_16
%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%2 = OpFunction %void None %29
%dst = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint
%src = OpFunctionParameter %28
%entry = OpLabel
%36 = OpUndef %v2uint
%37 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0
%call = OpCompositeExtract %uint %37 0
%38 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0
%call1 = OpCompositeExtract %uint %38 1
%39 = OpLoad %v3uint %__spirv_BuiltInGlobalSize Aligned 0
%call2 = OpCompositeExtract %uint %39 0
%mul = OpIMul %uint %call2 %call1
%add = OpIAdd %uint %mul %call
%vecinit = OpCompositeInsert %v2uint %call1 %36 0
%vecinit6 = OpCompositeInsert %v2uint %call %vecinit 1
%TempSampledImage = OpSampledImage %32 %src %34
%call7_old = OpImageSampleExplicitLod %v4uint %TempSampledImage %vecinit6 Lod %float_0
%arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %dst %add
OpStore %arrayidx %call7_old Aligned 16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,93 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 47
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpCapability ImageBasic
OpCapability LiteralSampler
%1 = OpExtInstImport "OpenCL.std"
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %2 "decorate_nonwritable"
OpName %sampler "sampler"
OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId"
OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize"
OpName %dst "dst"
OpName %src "src"
OpName %entry "entry"
OpName %call "call"
OpName %conv "conv"
OpName %call1 "call1"
OpName %conv2 "conv2"
OpName %conv3 "conv3"
OpName %call4 "call4"
OpName %mul "mul"
OpName %add "add"
OpName %vecinit "vecinit"
OpName %vecinit10 "vecinit10"
OpName %TempSampledImage "TempSampledImage"
OpName %call11_old "call11.old"
OpName %sext "sext"
OpName %idxprom "idxprom"
OpName %arrayidx "arrayidx"
OpDecorate %src NonWritable
OpDecorate %24 Constant
%24 = OpDecorationGroup
OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId
OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize
OpDecorate %dst FuncParamAttr NoCapture
OpDecorate %sampler LinkageAttributes "sampler" Export
OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import
OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import
OpDecorate %sampler Alignment 4
OpGroupDecorate %24 %sampler %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize
%uint = OpTypeInt 32 0
%ulong = OpTypeInt 64 0
%uint_16 = OpConstant %uint 16
%ulong_32 = OpConstant %ulong 32
%_ptr_UniformConstant_uint = OpTypePointer UniformConstant %uint
%v3ulong = OpTypeVector %ulong 3
%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong
%void = OpTypeVoid
%v4uint = OpTypeVector %uint 4
%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint
%35 = OpTypeImage %void 2D 0 0 0 0 Unknown ReadOnly
%36 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %35
%v2uint = OpTypeVector %uint 2
%38 = OpTypeSampler
%39 = OpTypeSampledImage %35
%float = OpTypeFloat 32
%41 = OpConstantSampler %38 None 0 Nearest
%float_0 = OpConstant %float 0
%sampler = OpVariable %_ptr_UniformConstant_uint UniformConstant %uint_16
%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant
%2 = OpFunction %void None %36
%dst = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint
%src = OpFunctionParameter %35
%entry = OpLabel
%43 = OpUndef %v2uint
%44 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0
%call = OpCompositeExtract %ulong %44 0
%conv = OpUConvert %uint %call
%45 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0
%call1 = OpCompositeExtract %ulong %45 1
%conv2 = OpUConvert %uint %call1
%conv3 = OpSConvert %ulong %conv2
%46 = OpLoad %v3ulong %__spirv_BuiltInGlobalSize Aligned 0
%call4 = OpCompositeExtract %ulong %46 0
%mul = OpIMul %ulong %conv3 %call4
%add = OpIAdd %ulong %mul %call
%vecinit = OpCompositeInsert %v2uint %conv2 %43 0
%vecinit10 = OpCompositeInsert %v2uint %conv %vecinit 1
%TempSampledImage = OpSampledImage %39 %src %41
%call11_old = OpImageSampleExplicitLod %v4uint %TempSampledImage %vecinit10 Lod %float_0
%sext = OpShiftLeftLogical %ulong %add %ulong_32
%idxprom = OpShiftRightArithmetic %ulong %sext %ulong_32
%arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %dst %idxprom
OpStore %arrayidx %call11_old Aligned 16
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,43 @@
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 22
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpMemoryModel Physical32 OpenCL
OpEntryPoint Kernel %1 "decorate_restrict"
OpName %res "res"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpName %entry "entry"
OpDecorate %6 Restrict
%6 = OpDecorationGroup
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %gl_GlobalInvocationID Constant
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import
OpGroupDecorate %6 %res %lhs %rhs
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%13 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint
%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant
%1 = OpFunction %void None %13
%res = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%entry = OpLabel
%14 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0
%15 = OpCompositeExtract %uint %14 0
%16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15
%17 = OpLoad %uint %16 Aligned 4
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15
%19 = OpLoad %uint %18 Aligned 4
%20 = OpIAdd %uint %17 %19
%21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %15
OpStore %21 %20 Aligned 4
OpReturn
OpFunctionEnd

Some files were not shown because too many files have changed in this diff Show More