[spirv] Fix target env error message. (#3346)
This commit is contained in:
Родитель
9dca645a99
Коммит
bcf56f2670
|
@ -97,7 +97,7 @@ bool FeatureManager::requestTargetEnv(spv_target_env requestedEnv,
|
||||||
SourceLocation srcLoc) {
|
SourceLocation srcLoc) {
|
||||||
if (targetEnv < requestedEnv) {
|
if (targetEnv < requestedEnv) {
|
||||||
emitError("%0 is required for %1 but not permitted to use", srcLoc)
|
emitError("%0 is required for %1 but not permitted to use", srcLoc)
|
||||||
<< (requestedEnv == SPV_ENV_VULKAN_1_2 ? "Vulkan 1.2" : "Vulkan 1.1")
|
<< (requestedEnv > SPV_ENV_VULKAN_1_1 ? "Vulkan 1.2" : "Vulkan 1.1")
|
||||||
<< target;
|
<< target;
|
||||||
emitNote("please specify your target environment via command line option "
|
emitNote("please specify your target environment via command line option "
|
||||||
"-fspv-target-env=",
|
"-fspv-target-env=",
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
// Run: %dxc -T lib_6_3
|
||||||
|
|
||||||
|
// CHECK: error: Vulkan 1.2 is required for Raytracing but not permitted to use
|
||||||
|
|
||||||
|
struct Payload {
|
||||||
|
float4 color;
|
||||||
|
};
|
||||||
|
struct CallData {
|
||||||
|
float4 data;
|
||||||
|
};
|
||||||
|
struct Attribute {
|
||||||
|
float2 bary;
|
||||||
|
};
|
||||||
|
|
||||||
|
RaytracingAccelerationStructure rs;
|
||||||
|
[shader("closesthit")]
|
||||||
|
void main(inout Payload MyPayload, in Attribute MyAttr) {
|
||||||
|
Payload myPayload = { float4(0.0f,0.0f,0.0f,0.0f) };
|
||||||
|
CallData myCallData = { float4(0.0f,0.0f,0.0f,0.0f) };
|
||||||
|
RayDesc rayDesc;
|
||||||
|
rayDesc.Origin = float3(0.0f, 0.0f, 0.0f);
|
||||||
|
rayDesc.Direction = float3(0.0f, 0.0f, -1.0f);
|
||||||
|
rayDesc.TMin = 0.0f;
|
||||||
|
rayDesc.TMax = 1000.0f;
|
||||||
|
TraceRay(rs, 0x0, 0xff, 0, 1, 0, rayDesc, myPayload);
|
||||||
|
CallShader(0, myCallData);
|
||||||
|
}
|
|
@ -2269,6 +2269,10 @@ TEST_F(FileTest, RayTracingTerminate) {
|
||||||
runFileTest("raytracing.khr.terminate.hlsl");
|
runFileTest("raytracing.khr.terminate.hlsl");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(FileTest, RayTracingTargetEnvErro) {
|
||||||
|
runFileTest("raytracing.target-env-error.hlsl", Expect::Failure);
|
||||||
|
}
|
||||||
|
|
||||||
// For decoration uniqueness
|
// For decoration uniqueness
|
||||||
TEST_F(FileTest, DecorationUnique) { runFileTest("decoration.unique.hlsl"); }
|
TEST_F(FileTest, DecorationUnique) { runFileTest("decoration.unique.hlsl"); }
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче