aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJaebaek Seo <duke.acacia@gmail.com>2019-01-10 15:47:32 -0500
committerGitHub <noreply@github.com>2019-01-10 15:47:32 -0500
commit610296cc045b094509a6bd2f420ebdef1f98edf9 (patch)
treec7dd0b7a076eb8762e0be39cd2ddcb9694fa6527 /tests
parentfb74519a68fe77f30ca57919bf1f0d6329f11644 (diff)
downloadamber-610296cc045b094509a6bd2f420ebdef1f98edf9.tar.gz
Vulkan: enable validation layer (#184)
Fixes #153
Diffstat (limited to 'tests')
-rw-r--r--tests/cases/compute_in_spirv_generated_by_clspv.amber164
1 files changed, 0 insertions, 164 deletions
diff --git a/tests/cases/compute_in_spirv_generated_by_clspv.amber b/tests/cases/compute_in_spirv_generated_by_clspv.amber
deleted file mode 100644
index 82251f2..0000000
--- a/tests/cases/compute_in_spirv_generated_by_clspv.amber
+++ /dev/null
@@ -1,164 +0,0 @@
-[comment]
-Source code in OpenCL C:
-
-typedef struct { int arr[2]; } S1;
-typedef struct { S1 s1; int a; S1 s2; } S2;
-
-S2 make_s2(int n) {
- S2 s2;
- s2.s1.arr[0] = n;
- s2.s1.arr[1] = n;
- s2.a = n;
- s2.s2.arr[0] = n;
- s2.s2.arr[1] = n;
- return s2;
-}
-
-S2 choose(int n) {
- if (n > 0) return make_s2(n - 5);
- return make_s2(0);
-}
-
-kernel void foo(global S2 *data, int n) {
- *data = choose(n);
-}
-
-The following SPIR-V code was generated by CLSPV with -cl-opt-disable option.
-GIT_COMMIT = 8638849b2167fcba90dbff0ee4cfe7dbf0380d24
-
-[compute shader spirv]
-; SPIR-V
-; Version: 1.0
-; Generator: Codeplay; 0
-; Bound: 71
-; Schema: 0
- OpCapability Shader
- OpCapability VariablePointers
- OpExtension "SPV_KHR_storage_buffer_storage_class"
- OpExtension "SPV_KHR_variable_pointers"
- OpMemoryModel Logical GLSL450
- OpEntryPoint GLCompute %52 "main"
- OpSource OpenCL_C 120
- OpDecorate %24 SpecId 0
- OpDecorate %25 SpecId 1
- OpDecorate %26 SpecId 2
- OpMemberDecorate %_struct_4 0 Offset 0
- OpMemberDecorate %_struct_5 0 Offset 0
- OpMemberDecorate %_struct_5 1 Offset 8
- OpMemberDecorate %_struct_5 2 Offset 12
- OpDecorate %_runtimearr__struct_5 ArrayStride 20
- OpMemberDecorate %_struct_7 0 Offset 0
- OpDecorate %_struct_7 Block
- OpMemberDecorate %_struct_9 0 Offset 0
- OpDecorate %_struct_9 Block
- OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
- OpDecorate %29 DescriptorSet 0
- OpDecorate %29 Binding 0
- OpDecorate %30 DescriptorSet 0
- OpDecorate %30 Binding 1
- OpDecorate %_arr_uint_uint_2 ArrayStride 4
- %uint = OpTypeInt 32 0
- %uint_2 = OpConstant %uint 2
-%_arr_uint_uint_2 = OpTypeArray %uint %uint_2
- %_struct_4 = OpTypeStruct %_arr_uint_uint_2
- %_struct_5 = OpTypeStruct %_struct_4 %uint %_struct_4
-%_runtimearr__struct_5 = OpTypeRuntimeArray %_struct_5
- %_struct_7 = OpTypeStruct %_runtimearr__struct_5
-%_ptr_StorageBuffer__struct_7 = OpTypePointer StorageBuffer %_struct_7
- %_struct_9 = OpTypeStruct %uint
-%_ptr_StorageBuffer__struct_9 = OpTypePointer StorageBuffer %_struct_9
- %void = OpTypeVoid
- %12 = OpTypeFunction %void
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
- %14 = OpTypeFunction %_struct_5 %uint
- %bool = OpTypeBool
- %v3uint = OpTypeVector %uint 3
-%_ptr_Private_v3uint = OpTypePointer Private %v3uint
- %uint_0 = OpConstant %uint 0
- %uint_1 = OpConstant %uint 1
- %20 = OpUndef %_struct_5
- %false = OpConstantFalse %bool
- %true = OpConstantTrue %bool
-%uint_4294967291 = OpConstant %uint 4294967291
- %24 = OpSpecConstant %uint 1
- %25 = OpSpecConstant %uint 1
- %26 = OpSpecConstant %uint 1
-%gl_WorkGroupSize = OpSpecConstantComposite %v3uint %24 %25 %26
- %28 = OpVariable %_ptr_Private_v3uint Private %gl_WorkGroupSize
- %29 = OpVariable %_ptr_StorageBuffer__struct_7 StorageBuffer
- %30 = OpVariable %_ptr_StorageBuffer__struct_9 StorageBuffer
- %31 = OpFunction %_struct_5 Const %14
- %32 = OpFunctionParameter %uint
- %33 = OpLabel
- %34 = OpCompositeConstruct %_arr_uint_uint_2 %32 %32
- %35 = OpCompositeConstruct %_struct_4 %34
- %36 = OpCompositeConstruct %_struct_5 %35 %32 %35
- OpReturnValue %36
- OpFunctionEnd
- %37 = OpFunction %_struct_5 Const %14
- %38 = OpFunctionParameter %uint
- %39 = OpLabel
- %40 = OpSGreaterThan %bool %38 %uint_0
- %41 = OpLogicalNot %bool %40
- OpSelectionMerge %44 None
- OpBranchConditional %41 %42 %44
- %42 = OpLabel
- %43 = OpFunctionCall %_struct_5 %31 %uint_0
- OpBranch %44
- %44 = OpLabel
- %46 = OpPhi %bool %false %42 %true %39
- %45 = OpPhi %_struct_5 %43 %42 %20 %39
- OpSelectionMerge %47 None
- OpBranchConditional %46 %49 %47
- %47 = OpLabel
- %48 = OpPhi %_struct_5 %45 %44 %51 %49
- OpReturnValue %48
- %49 = OpLabel
- %50 = OpIAdd %uint %38 %uint_4294967291
- %51 = OpFunctionCall %_struct_5 %31 %50
- OpBranch %47
- OpFunctionEnd
- %52 = OpFunction %void None %12
- %53 = OpLabel
- %54 = OpAccessChain %_ptr_StorageBuffer_uint %30 %uint_0
- %55 = OpLoad %uint %54
- %56 = OpFunctionCall %_struct_5 %37 %55
- %57 = OpCompositeExtract %_struct_4 %56 0
- %58 = OpCompositeExtract %_arr_uint_uint_2 %57 0
- %59 = OpCompositeExtract %uint %58 0
- %60 = OpCompositeExtract %uint %58 1
- %61 = OpCompositeExtract %uint %56 1
- %62 = OpCompositeExtract %_struct_4 %56 2
- %63 = OpCompositeExtract %_arr_uint_uint_2 %62 0
- %64 = OpCompositeExtract %uint %63 0
- %65 = OpCompositeExtract %uint %63 1
- %66 = OpAccessChain %_ptr_StorageBuffer_uint %29 %uint_0 %uint_0 %uint_0 %uint_0 %uint_0
- OpStore %66 %59
- %67 = OpAccessChain %_ptr_StorageBuffer_uint %29 %uint_0 %uint_0 %uint_0 %uint_0 %uint_1
- OpStore %67 %60
- %68 = OpAccessChain %_ptr_StorageBuffer_uint %29 %uint_0 %uint_0 %uint_1
- OpStore %68 %61
- %69 = OpAccessChain %_ptr_StorageBuffer_uint %29 %uint_0 %uint_0 %uint_2 %uint_0 %uint_0
- OpStore %69 %64
- %70 = OpAccessChain %_ptr_StorageBuffer_uint %29 %uint_0 %uint_0 %uint_2 %uint_0 %uint_1
- OpStore %70 %65
- OpReturn
- OpFunctionEnd
-[require]
-VK_KHR_storage_buffer_storage_class
-VK_KHR_get_physical_device_properties2
-VK_KHR_variable_pointers
-
-[test]
-# ssbo [bind] subdata [type] [offset] [values ...]
-ssbo 0 subdata int 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-ssbo 1 subdata int 0 13
-
-compute 3 1 1
-
-# probe ssbo [type] [bind] [offset] == [values ...]
-probe ssbo int 0 0 == 8
-probe ssbo int 0 4 == 8
-probe ssbo int 0 8 == 8
-probe ssbo int 0 12 == 8
-probe ssbo int 0 16 == 8