-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Labels
driver-bugBugs that are likely or confirmed GPU driver bugsBugs that are likely or confirmed GPU driver bugs
Description
godbolt
https://godbolt.org/z/f119TW1YP
The error is:
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
This is very likely to be a bug we need to file in https://github.com/KhronosGroup/SPIRV-Cross. This is a place holder for now until we file an actionable ticket for them. It seems very similar to KhronosGroup/SPIRV-Cross#2538 but don't want to reopen it prematurely.
/Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp/source.hlsl:14:46: warning: implicit conversion changes signedness: 'const long' to 'unsigned long' [-Wsign-conversion]
14 | uint64_t4 ThreadInInt = {InInt[TID.x].xyz, InInt[TID.x].w};
| ~ ^~~~~~~~~~~~~~
/Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp/source.hlsl:14:28: warning: implicit conversion changes signedness: 'const long' to 'unsigned long' [-Wsign-conversion]
14 | uint64_t4 ThreadInInt = {InInt[TID.x].xyz, InInt[TID.x].w};
| ~^~~~~~~~~~~~~~~~
/Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp/source.hlsl:14:28: warning: implicit conversion changes signedness: 'const long' to 'unsigned long' [-Wsign-conversion]
14 | uint64_t4 ThreadInInt = {InInt[TID.x].xyz, InInt[TID.x].w};
| ~^~~~~~~~~~~~~~~~
/Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp/source.hlsl:14:28: warning: implicit conversion changes signedness: 'const long' to 'unsigned long' [-Wsign-conversion]
14 | uint64_t4 ThreadInInt = {InInt[TID.x].xyz, InInt[TID.x].w};
| ~^~~~~~~~~~~~~~~~
/Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp/source.hlsl:15:25: warning: implicit conversion changes signedness: 'uint64_t4' (aka 'vector<uint64_t, 4>') to 'vector<long, 4>' (vector of 4 'long' values) [-Wsign-conversion]
15 | OutInt[OutIdx + 1] = WaveReadLaneAt(ThreadInInt, TID.x);;
| ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp/source.hlsl:20:47: warning: implicit conversion changes signedness: 'const unsigned long' to 'long' [-Wsign-conversion]
20 | int64_t4 ThreadInUInt = {InUInt[TID.x].xyz, InUInt[TID.x].w};
| ~ ^~~~~~~~~~~~~~~
/Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp/source.hlsl:20:28: warning: implicit conversion changes signedness: 'const unsigned long' to 'long' [-Wsign-conversion]
20 | int64_t4 ThreadInUInt = {InUInt[TID.x].xyz, InUInt[TID.x].w};
| ~^~~~~~~~~~~~~~~~~
/Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp/source.hlsl:20:28: warning: implicit conversion changes signedness: 'const unsigned long' to 'long' [-Wsign-conversion]
20 | int64_t4 ThreadInUInt = {InUInt[TID.x].xyz, InUInt[TID.x].w};
| ~^~~~~~~~~~~~~~~~~
/Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp/source.hlsl:20:28: warning: implicit conversion changes signedness: 'const unsigned long' to 'long' [-Wsign-conversion]
20 | int64_t4 ThreadInUInt = {InUInt[TID.x].xyz, InUInt[TID.x].w};
| ~^~~~~~~~~~~~~~~~~
/Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp/source.hlsl:21:26: warning: implicit conversion changes signedness: 'int64_t4' (aka 'vector<int64_t, 4>') to 'vector<unsigned long, 4>' (vector of 4 'unsigned long' values) [-Wsign-conversion]
21 | OutUInt[OutIdx + 1] = WaveReadLaneAt(ThreadInUInt, TID.x);;
| ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10 warnings generated.
/Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/bin/offloader -debug-layer -adapter-substring="MoltenVK" /Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp/pipeline.yaml /Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp.o # RUN: at line 110
+ /Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/bin/offloader -debug-layer -adapter-substring=MoltenVK /Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp/pipeline.yaml /Users/farzon/Projects/builds/llvm_relwithdebinfo_offload/tools/OffloadTest/test/clang-vk/WaveOps/Output/WaveReadLaneAt.Int.64.test.tmp.o
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:91:30: warning: unused variable '_str' [-Wunused-variable]
spvUnsafeArray<uchar, 6> _str = spvUnsafeArray<uchar, 6>({ uchar(73), uchar(110), uchar(73), uchar(110), uchar(116), uchar(0) });
^
program_source:92:30: warning: unused variable '_str_2' [-Wunused-variable]
spvUnsafeArray<uchar, 7> _str_2 = spvUnsafeArray<uchar, 7>({ uchar(79), uchar(117), uchar(116), uchar(73), uchar(110), uchar(116), uchar(0) });
^
program_source:93:30: warning: unused variable '_str_4' [-Wunused-variable]
spvUnsafeArray<uchar, 7> _str_4 = spvUnsafeArray<uchar, 7>({ uchar(73), uchar(110), uchar(85), uchar(73), uchar(110), uchar(116), uchar(0) });
^
program_source:94:30: warning: unused variable '_str_6' [-Wunused-variable]
spvUnsafeArray<uchar, 8> _str_6 = spvUnsafeArray<uchar, 8>({ uchar(79), uchar(117), uchar(116), uchar(85), uchar(73), uchar(110), uchar(116), uchar(0) });
^
program_source:50:12: error: no matching function for call to 'simd_shuffle'
return simd_shuffle(value, lane);
^~~~~~~~~~~~
program_source:96:44: note: in instantiation of function template specialization 'spvSubgroupShuffle<unsigned long __attribute__((ext_vector_type(4)))>' requested here
(*spvDescriptorSet0.OutInt)._m0[_59] = spvSubgroupShuffle((*spvDescriptorSet0.InInt)._m0[gl_LocalInvocationID.x], gl_LocalInvocationID.x);
^
/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023.850/include/metal/metal_simdgroup:207:14: note: candidate template ignored: requirement '__is_valid_simdgroup_type<unsigned long __attribute__((ext_vector_type(4))), void>::value' was not satisfied [with T = unsigned long __attribute__((ext_vector_type(4)))]
METAL_FUNC T simd_shuffle(T data METAL_MAYBE_UNDEF, ushort simd_lane_id)
^
program_source:50:12: error: no matching function for call to 'simd_shuffle'
return simd_shuffle(value, lane);
^~~~~~~~~~~~
program_source:100:18: note: in instantiation of function template specialization 'spvSubgroupShuffle<unsigned long __attribute__((ext_vector_type(2)))>' requested here
ulong2 _72 = spvSubgroupShuffle(_70.xy, gl_LocalInvocationID.x);
^
/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023.850/include/metal/metal_simdgroup:207:14: note: candidate template ignored: requirement '__is_valid_simdgroup_type<unsigned long __attribute__((ext_vector_type(2))), void>::value' was not satisfied [with T = unsigned long __attribute__((ext_vector_type(2)))]
METAL_FUNC T simd_shuffle(T data METAL_MAYBE_UNDEF, ushort simd_lane_id)
^
.
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Compute shader function could not be compiled into pipeline. See previous logged error.
gpu-exec: error: Failed to create pipeline.
Metadata
Metadata
Assignees
Labels
driver-bugBugs that are likely or confirmed GPU driver bugsBugs that are likely or confirmed GPU driver bugs