Error instead of crash on unsupported intrinsic. (#2165)

This commit is contained in:
Tristan Labelle 2019-05-03 11:03:03 -07:00 коммит произвёл GitHub
Родитель f7ffe92528
Коммит 93634879d7
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 12 добавлений и 2 удалений

Просмотреть файл

@ -4615,7 +4615,8 @@ namespace {
Value *EmptyLower(CallInst *CI, IntrinsicOp IOP, DXIL::OpCode opcode,
HLOperationLowerHelper &helper, HLObjectOperationLowerHelper *pObjHelper, bool &Translated) {
DXASSERT(0, "unsupported intrinsic");
Translated = false;
CI->getContext().emitError(CI, "Unsupported intrinsic");
return nullptr;
}
@ -4626,7 +4627,8 @@ Value *UnsupportedVulkanIntrinsic(CallInst *CI, IntrinsicOp IOP,
HLOperationLowerHelper &helper,
HLObjectOperationLowerHelper *pObjHelper,
bool &Translated) {
DXASSERT(0, "unsupported Vulkan intrinsic");
Translated = false;
CI->getContext().emitError(CI, "Unsupported Vulkan intrinsic");
return nullptr;
}
#endif // ENABLE_SPIRV_CODEGEN

Просмотреть файл

@ -0,0 +1,8 @@
// RUN: %dxc -E main -T ps_6_0 %s | FileCheck %s
// Regression test for a crash when lowering unsupported intrinsics
// CHECK: error: Unsupported intrinsic
sampler TextureSampler;
float4 main(float2 uv : UV) : SV_Target { return tex2D(TextureSampler, uv); }