From 13ee05f2b47806d146dc4cbbe5b57bea555cec3f Mon Sep 17 00:00:00 2001 From: Enrico Galli Date: Wed, 3 Nov 2021 11:36:01 -0700 Subject: [PATCH] ci/windows: Add validation tests for spriv_to_dxil Reviewed-by: Jesse Natalie Part-of: --- .gitlab-ci.yml | 22 +- .gitlab-ci/windows/mesa_build.ps1 | 4 + .gitlab-ci/windows/mesa_deps.ps1 | 7 + .gitlab-ci/windows/spirv2dxil_check.ps1 | 53 + .gitlab-ci/windows/spirv2dxil_reference.txt | 1504 +++++++++++++++++++ .gitlab-ci/windows/spirv2dxil_run.ps1 | 16 + 6 files changed, 1605 insertions(+), 1 deletion(-) create mode 100644 .gitlab-ci/windows/spirv2dxil_check.ps1 create mode 100644 .gitlab-ci/windows/spirv2dxil_reference.txt create mode 100644 .gitlab-ci/windows/spirv2dxil_run.ps1 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 92a2e486481..dfcd679d1e8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -550,7 +550,7 @@ debian/arm_test: variables: MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}" MESA_IMAGE_PATH: "windows/x64_build" - MESA_IMAGE_TAG: "2021-06-24-zink-msvc" + MESA_IMAGE_TAG: "2021-11-04-spirv-shaders" MESA_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/$MESA_IMAGE_PATH:${MESA_IMAGE_TAG}" windows_build_vs2019: @@ -1054,6 +1054,26 @@ test-d3d12-windows: paths: - summary/ +test-spirv2dxil-windows: + extends: + - .build-windows + - .use-windows_build_vs2019 + - .windows-test-rules + stage: layered-backends + dependencies: + - windows-vs2019 + needs: + - windows-vs2019 + variables: + GIT_STRATEGY: none # testing doesn't build anything from source + script: + - . _install/spirv2dxil_run.ps1 + artifacts: + when: on_failure + name: "mesa_${CI_JOB_NAME}" + paths: + - spirv2dxil_results.txt + debian-clover: extends: .meson-build variables: diff --git a/.gitlab-ci/windows/mesa_build.ps1 b/.gitlab-ci/windows/mesa_build.ps1 index 42794c6ec9b..082a26a7615 100644 --- a/.gitlab-ci/windows/mesa_build.ps1 +++ b/.gitlab-ci/windows/mesa_build.ps1 @@ -22,3 +22,7 @@ if (!$buildstatus) { Copy-Item ".\.gitlab-ci\windows\piglit_run.ps1" -Destination $installdir Copy-Item ".\.gitlab-ci\windows\quick_gl.txt" -Destination $installdir + +Copy-Item ".\.gitlab-ci\windows\spirv2dxil_check.ps1" -Destination $installdir +Copy-Item ".\.gitlab-ci\windows\spirv2dxil_run.ps1" -Destination $installdir +Copy-Item ".\.gitlab-ci\windows\spirv2dxil_reference.txt" -Destination $installdir diff --git a/.gitlab-ci/windows/mesa_deps.ps1 b/.gitlab-ci/windows/mesa_deps.ps1 index 1e5e78d2136..b7ce89e176c 100644 --- a/.gitlab-ci/windows/mesa_deps.ps1 +++ b/.gitlab-ci/windows/mesa_deps.ps1 @@ -201,5 +201,12 @@ if (!$buildstatus -Or !$installstatus) { Copy-Item -Path C:\freeglut\bin\x64\freeglut.dll -Destination C:\Piglit\lib\piglit\bin\freeglut.dll +Get-Date +Write-Host "Cloning spirv-samples" +git clone --no-progress --single-branch --no-checkout https://github.com/dneto0/spirv-samples.git C:\spirv-samples\ +Push-Location -Path C:\spirv-samples\ +git checkout 7ac0ad5a7fe0ec884faba1dc2916028d0268eeef +Pop-Location + Get-Date Write-Host "Complete" diff --git a/.gitlab-ci/windows/spirv2dxil_check.ps1 b/.gitlab-ci/windows/spirv2dxil_check.ps1 new file mode 100644 index 00000000000..0ef61d82d42 --- /dev/null +++ b/.gitlab-ci/windows/spirv2dxil_check.ps1 @@ -0,0 +1,53 @@ +# Ensure that dxil.dll in on the %PATH% +$dxil_dll = cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 -no_logo && where dxil.dll" 2>&1 +if ($dxil_dll -notmatch "dxil.dll$") { + Write-Output "Couldn't get path to dxil.dll" + exit 1 +} +$env:Path = "$(Split-Path $dxil_dll);$env:Path" + +$exec_mode_to_stage = @{ Fragment = "fragment"; Vertex = "vertex"; GLCompute = "compute" } + +$spvasm_files = (Get-ChildItem C:\spirv-samples\spvasm\*.spvasm) | Sort-Object Name +foreach ($spvasm in $spvasm_files) { + $test_name = "Test:$($spvasm.Name):" + $spvfile = ($spvasm -replace '\.spvasm$', '.spv') + $content = Get-Content $spvasm + $spv_version = "1.0" + if ($content | Where-Object { $_ -match 'Version:\s(\d+\.\d+)' }) { + $spv_version = $Matches[1] + } + + $as_output = C:\spirv-tools\bin\spirv-as.exe --target-env spv$spv_version --preserve-numeric-ids -o $spvfile $spvasm 2>&1 | % { if ($_ -is [System.Management.Automation.ErrorRecord]) { $_.Exception.Message } else { $_ } } | Out-String + if ($LASTEXITCODE -ne 0) { + Write-Output "$test_name Skip: Unable to assemble shader" + Write-Output "$as_output`n" + continue + } + + $entry_points = $content | Select-String -Pattern '^OpEntryPoint\s(\w+)[^"]+"(\w+)"' | Select-Object -ExpandProperty Matches -First 1 + if ($entry_points.Count -eq 0) { + Write-Output "$test_name Skip" + Write-Output "No OpEntryPoint not found`n" + continue + } + + foreach ($match in $entry_points) { + $exec_mode, $entry_point = $match.Groups[1].Value, $match.Groups[2].Value + $subtest = "$test_name$entry_point|${exec_mode}:" + $stage = $exec_mode_to_stage[$exec_mode] + if ($stage -eq '') { + Write-Output "$subtest Fail: Unknown shader type ($exec_mode)" + continue + } + + $s2d_output = .\_install\bin\spirv2dxil.exe -v -e "$entry_point" -s "$stage" -o NUL $spvfile 2>&1 | ForEach-Object { if ($_ -is [System.Management.Automation.ErrorRecord]) { $_.Exception.Message } else { $_ } } | Out-String + if ($LASTEXITCODE -eq 0) { + Write-Output "$subtest Pass" + } + else { + Write-Output "$subtest Fail" + Write-Output "$s2d_output`n" + } + } +} diff --git a/.gitlab-ci/windows/spirv2dxil_reference.txt b/.gitlab-ci/windows/spirv2dxil_reference.txt new file mode 100644 index 00000000000..e224911cc70 --- /dev/null +++ b/.gitlab-ci/windows/spirv2dxil_reference.txt @@ -0,0 +1,1504 @@ +Test:ConvertResultSignedness_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ConvertResultSignedness_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ConvertResultSignedness_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm:main|Fragment: Pass +Test:ConvertResultSignedness_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm:main|Fragment: Pass +Test:ConvertResultSignedness_SpvParserHandleTest_SampledImageAccessTest_Variable_4.spvasm:main|Fragment: Pass +Test:ConvertResultSignedness_SpvParserHandleTest_SampledImageAccessTest_Variable_5.spvasm:main|Fragment: Pass +Test:ConvertResultSignedness_SpvParserHandleTest_SampledImageAccessTest_Variable_6.spvasm:main|Fragment: Pass +Test:ConvertUintCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm:main|Fragment: Pass +Test:ConvertUintCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm:main|Fragment: Pass +Test:ConvertUintCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm:main|Fragment: Pass +Test:ConvertUintCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm:main|Fragment: Pass +Test:ConvertUintCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm:main|Fragment: Pass +Test:ConvertUintCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm:main|Fragment: Pass +Test:ConvertUintCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_3.spvasm:main|Fragment: Pass +Test:ConvertUintCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_4.spvasm:main|Fragment: Pass +Test:ConvertUintCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_5.spvasm:main|Fragment: Pass +Test:Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm:main|Fragment: Pass +Test:Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm:main|Fragment: Pass +Test:Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm:main|Fragment: Pass +Test:Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_3.spvasm:main|Fragment: Pass +Test:Good_2D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm:main|Fragment: Pass +Test:Good_2D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm:main|Fragment: Pass +Test:Good_2D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm:main|Fragment: Pass +Test:Good_2DArray_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm:main|Fragment: Pass +Test:Good_2DArray_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm:main|Fragment: Pass +Test:Good_3D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm:main|Fragment: Pass +Test:Good_3D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm:main|Fragment: Pass +Test:Good_Cube_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm:main|Fragment: Pass +Test:Good_Cube_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm:main|Fragment: Pass +Test:Good_CubeArray_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm:main|Fragment: Pass +Test:ImageFetch_Depth_SpvParserHandleTest_ImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageFetch_Multisampled_ConvertSampleOperand_SpvParserHandleTest_ImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageFetch_Multisampled_SpvParserHandleTest_ImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageFetch_OptionalParams_SpvParserHandleTest_ImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageFetch_OptionalParams_SpvParserHandleTest_ImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageFetch_OptionalParams_SpvParserHandleTest_ImageAccessTest_Variable_2.spvasm:main|Fragment: Pass +Test:ImageFetch_OptionalParams_SpvParserHandleTest_ImageAccessTest_Variable_3.spvasm:main|Fragment: Pass +Test:ImageQueryLevels_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageQueryLevels_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageQueryLevels_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm:main|Fragment: Pass +Test:ImageQueryLevels_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm:main|Fragment: Pass +Test:ImageQueryLevels_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_4.spvasm:main|Fragment: Pass +Test:ImageQueryLevels_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_5.spvasm:main|Fragment: Pass +Test:ImageQueryLevels_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_6.spvasm:main|Fragment: Pass +Test:ImageQueryLevels_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_7.spvasm:main|Fragment: Pass +Test:ImageQueryLevels_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_8.spvasm:main|Fragment: Pass +Test:ImageQueryLevels_UnsignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageQuerySamples_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageQuerySamples_UnsignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageQuerySize_Arrayed_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageQuerySize_NonArrayed_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageQuerySize_NonArrayed_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm:main|Fragment: Pass +Test:ImageQuerySize_NonArrayed_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm:main|Fragment: Pass +Test:ImageQuerySizeLod_Arrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageQuerySizeLod_Arrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageQuerySizeLod_Arrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm:main|Fragment: Pass +Test:ImageQuerySizeLod_Arrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm:main|Fragment: Pass +Test:ImageQuerySizeLod_NonArrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageQuerySizeLod_NonArrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm:main|Fragment: Pass +Test:ImageQuerySizeLod_NonArrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm:main|Fragment: Pass +Test:ImageQuerySizeLod_NonArrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_4.spvasm:main|Fragment: Pass +Test:ImageQuerySizeLod_NonArrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_5.spvasm:main|Fragment: Pass +Test:ImageRead_OptionalParams_SpvParserHandleTest_ImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:Images_SpvParserHandleTest_DeclUnderspecifiedHandle_Variable_0.spvasm:main|Fragment: Pass +Test:Images_SpvParserHandleTest_DeclUnderspecifiedHandle_Variable_1.spvasm:main|Fragment: Pass +Test:Images_SpvParserHandleTest_DeclUnderspecifiedHandle_Variable_2.spvasm:main|Fragment: Pass +Test:ImageSampleDrefExplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageSampleDrefExplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageSampleDrefExplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm:main|Fragment: Pass +Test:ImageSampleDrefExplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm:main|Fragment: Pass +Test:ImageSampleDrefExplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_4.spvasm:main|Fragment: Pass +Test:ImageSampleDrefExplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_5.spvasm:main|Fragment: Pass +Test:ImageSampleDrefImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageSampleDrefImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageSampleDrefImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm:main|Fragment: Pass +Test:ImageSampleDrefImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_UsingGrad_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_UsingGrad_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_UsingGrad_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_UsingGrad_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_UsingGrad_SpvParserHandleTest_SampledImageAccessTest_Variable_4.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_UsingGrad_SpvParserHandleTest_SampledImageAccessTest_Variable_5.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_UsingLod_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_UsingLod_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_UsingLod_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_UsingLod_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm:main|Fragment: Pass +Test:ImageSampleExplicitLod_UsingLod_SpvParserHandleTest_SampledImageAccessTest_Variable_4.spvasm:main|Fragment: Pass +Test:ImageSampleImplicitLod_BothDrefAndNonDref_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm:main|Fragment: Pass +Test:ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm:main|Fragment: Pass +Test:ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_4.spvasm:main|Fragment: Pass +Test:ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_5.spvasm:main|Fragment: Pass +Test:ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_6.spvasm:main|Fragment: Pass +Test:ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_7.spvasm:main|Fragment: Pass +Test:ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_8.spvasm:main|Fragment: Pass +Test:ImageWrite_ConvertTexelOperand_Arity_SpvParserHandleTest_ImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageWrite_ConvertTexelOperand_Arity_SpvParserHandleTest_ImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageWrite_ConvertTexelOperand_Arity_SpvParserHandleTest_ImageAccessTest_Variable_2.spvasm:main|Fragment: Pass +Test:ImageWrite_ConvertTexelOperand_Arity_SpvParserHandleTest_ImageAccessTest_Variable_3.spvasm:main|Fragment: Pass +Test:ImageWrite_ConvertTexelOperand_Arity_SpvParserHandleTest_ImageAccessTest_Variable_4.spvasm:main|Fragment: Pass +Test:ImageWrite_ConvertTexelOperand_Arity_SpvParserHandleTest_ImageAccessTest_Variable_5.spvasm:main|Fragment: Pass +Test:ImageWrite_ConvertTexelOperand_Arity_SpvParserHandleTest_ImageAccessTest_Variable_6.spvasm:main|Fragment: Pass +Test:ImageWrite_ConvertTexelOperand_Arity_SpvParserHandleTest_ImageAccessTest_Variable_7.spvasm:main|Fragment: Pass +Test:ImageWrite_ConvertTexelOperand_SameSignedness_SpvParserHandleTest_ImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageWrite_ConvertTexelOperand_SameSignedness_SpvParserHandleTest_ImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageWrite_ConvertTexelOperand_Signedness_AndWidening_SpvParserHandleTest_ImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:ImageWrite_ConvertTexelOperand_Signedness_AndWidening_SpvParserHandleTest_ImageAccessTest_Variable_1.spvasm:main|Fragment: Pass +Test:ImageWrite_OptionalParams_SpvParserHandleTest_ImageAccessTest_Variable_0.spvasm:main|Fragment: Pass +Test:Multisampled_Only2DNonArrayedIsValid_SpvParserHandleTest_ImageDeclTest_DeclareAndUseHandle_2.spvasm:main|Fragment: Pass +Test:PreserveFloatCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm:main|Fragment: Pass +Test:PreserveFloatCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm:main|Fragment: Pass +Test:PreserveFloatCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm:main|Fragment: Pass +Test:PreserveFloatCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm:main|Fragment: Pass +Test:PreserveFloatCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm:main|Fragment: Pass +Test:PreserveFloatCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_3.spvasm:main|Fragment: Pass +Test:PreserveFloatCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_4.spvasm:main|Fragment: Pass +Test:PreserveIntCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm:main|Fragment: Pass +Test:PreserveIntCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm:main|Fragment: Pass +Test:PreserveIntCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm:main|Fragment: Pass +Test:PreserveIntCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm:main|Fragment: Pass +Test:PreserveIntCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm:main|Fragment: Pass +Test:PreserveIntCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm:main|Fragment: Pass +Test:PreserveIntCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_3.spvasm:main|Fragment: Pass +Test:PreserveIntCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_4.spvasm:main|Fragment: Pass +Test:PreserveIntCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_5.spvasm:main|Fragment: Pass +Test:Samplers_SpvParserHandleTest_DeclUnderspecifiedHandle_Variable_0.spvasm:main|Fragment: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_AccessChain_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_AccessChain_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_AccessChain_2.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_AccessChain_3.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_AccessChain_4.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_AccessChain_5.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_AccessChain_6.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_AccessChain_7.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_CopyObject_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_CopyObject_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_CopyObject_2.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_CopyObject_3.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_CopyObject_4.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_CopyObject_5.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_CopyObject_6.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_CopyObject_7.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_Direct_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_Direct_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_Direct_2.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_Direct_3.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_Direct_4.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_Direct_5.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_Direct_6.spvasm:main|GLCompute: Pass +Test:Samples_SpvModuleScopeVarParserTest_ComputeBuiltin_Load_Direct_7.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_0.spvasm:main|Fragment: Pass +Test:Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_1.spvasm:main|Fragment: Pass +Test:Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_2.spvasm:main|Fragment: Pass +Test:Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_3.spvasm:main|Fragment: Pass +Test:Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_4.spvasm:main|Fragment: Pass +Test:Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_5.spvasm:main|Fragment: Pass +Test:Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_6.spvasm:main|Fragment: Pass +Test:Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_2.spvasm:main|Fragment: Pass +Test:Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_3.spvasm:main|Fragment: Pass +Test:Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_4.spvasm:main|Fragment: Pass +Test:Samples_SpvParserTest_GlslStd450_DataPacking_Valid_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_DataPacking_Valid_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_DataPacking_Valid_2.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_DataPacking_Valid_3.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_DataPacking_Valid_4.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_DataUnpacking_Valid_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_DataUnpacking_Valid_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_DataUnpacking_Valid_2.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_DataUnpacking_Valid_3.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_DataUnpacking_Valid_4.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Float_Floating_Scalar_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Float_Floating_Vector_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Float_FloatingFloating_Scalar_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Float_FloatingFloating_Vector_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Float3_Float3Float3_Samples_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_10.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_11.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_12.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_13.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_14.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_15.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_16.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_17.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_18.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_19.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_2.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_20.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_21.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_22.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_3.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_4.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_5.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_6.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_7.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_8.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Scalar_9.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_10.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_11.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_12.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_13.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_14.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_15.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_16.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_17.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_18.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_19.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_2.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_20.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_21.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_22.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_3.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_4.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_5.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_6.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_7.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_8.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_Floating_Vector_9.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Scalar_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Scalar_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Scalar_2.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Scalar_3.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Scalar_4.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Scalar_5.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Scalar_6.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Vector_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Vector_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Vector_2.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Vector_3.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Vector_4.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Vector_5.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloating_Vector_6.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloatingFloating_Scalar_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloatingFloating_Scalar_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloatingFloating_Scalar_2.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloatingFloating_Scalar_3.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloatingFloating_Scalar_4.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloatingFloating_Vector_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloatingFloating_Vector_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloatingFloating_Vector_2.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloatingFloating_Vector_3.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingFloatingFloating_Vector_4.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingInting_Scalar_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingInting_Vector_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingUinting_Scalar_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Floating_FloatingUinting_Vector_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Inting_Inting_Scalar_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Inting_Inting_Vector_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Inting_IntingInting_Scalar_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Inting_IntingInting_Scalar_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Inting_IntingInting_Vector_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Inting_IntingInting_Vector_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Inting_IntingIntingInting_Scalar_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Inting_IntingIntingInting_Vector_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Uinting_UintingUinting_Scalar_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Uinting_UintingUinting_Scalar_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Uinting_UintingUinting_Vector_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Uinting_UintingUinting_Vector_1.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Uinting_UintingUintingUinting_Scalar_0.spvasm:main|GLCompute: Pass +Test:Samples_SpvParserTest_GlslStd450_Uinting_UintingUintingUinting_Vector_0.spvasm:main|GLCompute: Pass +Test:SpvBinaryArithTestBasic_Dot.spvasm:main|Fragment: Pass +Test:SpvBinaryArithTestBasic_FMod_Scalar.spvasm:main|Fragment: Pass +Test:SpvBinaryArithTestBasic_FMod_Vector.spvasm:main|Fragment: Pass +Test:SpvBinaryArithTestBasic_MatrixTimesMatrix.spvasm:main|Fragment: Pass +Test:SpvBinaryArithTestBasic_MatrixTimesScalar.spvasm:main|Fragment: Pass +Test:SpvBinaryArithTestBasic_MatrixTimesVector.spvasm:main|Fragment: Pass +Test:SpvBinaryArithTestBasic_OuterProduct.spvasm:main|Fragment: Pass +Test:SpvBinaryArithTestBasic_SDiv_Scalar_UnsignedResult.spvasm:main|Fragment: Pass +Test:SpvBinaryArithTestBasic_SDiv_Vector_UnsignedResult.spvasm:main|Fragment: Pass +Test:SpvBinaryArithTestBasic_SMod_Scalar_UnsignedResult.spvasm:main|Fragment: Pass +Test:SpvBinaryArithTestBasic_SMod_Vector_UnsignedResult.spvasm:main|Fragment: Pass +Test:SpvBinaryArithTestBasic_VectorTimesMatrix.spvasm:main|Fragment: Pass +Test:SpvBinaryArithTestBasic_VectorTimesScalar.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_0.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_1.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_10.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_11.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_12.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_13.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_14.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_15.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_16.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_17.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_18.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_19.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_2.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_20.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_21.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_22.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_23.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_24.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_25.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_26.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_3.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_4.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_5.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_6.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_7.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_8.spvasm:main|Fragment: Pass +Test:SpvBinaryDerivativeTest_SpvBinaryDerivativeTest_Derivatives_9.spvasm:main|Fragment: Pass +Test:SpvFUnordTest_FUnordEqual_Scalar.spvasm:main|Fragment: Pass +Test:SpvFUnordTest_FUnordEqual_Vector.spvasm:main|Fragment: Pass +Test:SpvFUnordTest_FUnordGreaterThan_Scalar.spvasm:main|Fragment: Pass +Test:SpvFUnordTest_FUnordGreaterThan_Vector.spvasm:main|Fragment: Pass +Test:SpvFUnordTest_FUnordGreaterThanEqual_Scalar.spvasm:main|Fragment: Pass +Test:SpvFUnordTest_FUnordGreaterThanEqual_Vector.spvasm:main|Fragment: Pass +Test:SpvFUnordTest_FUnordLessThan_Scalar.spvasm:main|Fragment: Pass +Test:SpvFUnordTest_FUnordLessThan_Vector.spvasm:main|Fragment: Pass +Test:SpvFUnordTest_FUnordLessThanEqual_Scalar.spvasm:main|Fragment: Pass +Test:SpvFUnordTest_FUnordLessThanEqual_Vector.spvasm:main|Fragment: Pass +Test:SpvFUnordTest_FUnordNotEqual_Scalar.spvasm:main|Fragment: Pass +Test:SpvFUnordTest_FUnordNotEqual_Vector.spvasm:main|Fragment: Pass +Test:SpvLogicalTest_All.spvasm:main|Fragment: Pass +Test:SpvLogicalTest_Any.spvasm:main|Fragment: Pass +Test:SpvLogicalTest_IsInf_Scalar.spvasm:main|Fragment: Pass +Test:SpvLogicalTest_IsInf_Vector.spvasm:main|Fragment: Pass +Test:SpvLogicalTest_IsNan_Scalar.spvasm:main|Fragment: Pass +Test:SpvLogicalTest_IsNan_Vector.spvasm:main|Fragment: Pass +Test:SpvLogicalTest_Select_BoolCond_BoolParams.spvasm:main|Fragment: Pass +Test:SpvLogicalTest_Select_BoolCond_FloatScalarParams.spvasm:main|Fragment: Pass +Test:SpvLogicalTest_Select_BoolCond_IntScalarParams.spvasm:main|Fragment: Pass +Test:SpvLogicalTest_Select_VecBoolCond_VectorParams.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_AnonWorkgroupVar.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_ArrayInitializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_ArrayNullInitializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_BindingDecoration_Valid.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_Builtin_Input_OppositeSignednessAsWGSL.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_Builtin_Input_SameSignednessAsWGSL.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_Builtin_Output_Initializer_OppositeSignednessAsWGSL.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_Builtin_Output_Initializer_SameSignednessAsWGSL.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_BuiltinPointSize_Loose_ReadReplaced_Vertex.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_BuiltinPointSize_Loose_Write1_IsErased.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_BuiltinPointSize_Loose_WriteViaCopyObjectPostAccessChainErased.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_BuiltinPointSize_Loose_WriteViaCopyObjectPriorAccess_Erased.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_BuiltinPointSize_ReadReplaced.spvasm:main|Vertex: Fail +Assertion failed: glsl_get_components(type) == 4, file ../src/microsoft/compiler/dxil_signature.c, line 254 + + +Test:SpvModuleScopeVarParserTest_BuiltinPointSize_Write1_IsErased.spvasm:main|Vertex: Fail +Assertion failed: instr->deref_type == nir_deref_type_var || instr->deref_type == nir_deref_type_array, file ../src/microsoft/compiler/nir_to_dxil.c, line 3732 + + +Test:SpvModuleScopeVarParserTest_BuiltinPointSize_WriteViaCopyObjectPostAccessChainErased.spvasm:main|Vertex: Fail +Assertion failed: instr->deref_type == nir_deref_type_var || instr->deref_type == nir_deref_type_array, file ../src/microsoft/compiler/nir_to_dxil.c, line 3732 + + +Test:SpvModuleScopeVarParserTest_BuiltinPosition_BuiltIn_Position.spvasm:main|Vertex: Fail +Assertion failed: glsl_get_components(type) == 4, file ../src/microsoft/compiler/dxil_signature.c, line 254 + + +Test:SpvModuleScopeVarParserTest_BuiltinPosition_BuiltIn_Position_Initializer.spvasm:main|Vertex: Fail +Assertion failed: instr->deref_type == nir_deref_type_var || instr->deref_type == nir_deref_type_array, file ../src/microsoft/compiler/nir_to_dxil.c, line 3732 + + +Test:SpvModuleScopeVarParserTest_BuiltinPosition_StorePosition.spvasm:main|Vertex: Fail +Assertion failed: instr->deref_type == nir_deref_type_var || instr->deref_type == nir_deref_type_array, file ../src/microsoft/compiler/nir_to_dxil.c, line 3732 + + +Test:SpvModuleScopeVarParserTest_BuiltinPosition_StorePosition_PerVertexStructOutOfOrderDecl.spvasm:main|Vertex: Fail +Assertion failed: instr->deref_type == nir_deref_type_var || instr->deref_type == nir_deref_type_array, file ../src/microsoft/compiler/nir_to_dxil.c, line 3732 + + +Test:SpvModuleScopeVarParserTest_BuiltinPosition_StorePositionMember_OneAccessChain.spvasm:main|Vertex: Fail +Assertion failed: instr->deref_type == nir_deref_type_var || instr->deref_type == nir_deref_type_array, file ../src/microsoft/compiler/nir_to_dxil.c, line 3732 + + +Test:SpvModuleScopeVarParserTest_BuiltinPosition_StorePositionMember_TwoAccessChain.spvasm:main|Vertex: Fail +Assertion failed: instr->deref_type == nir_deref_type_var || instr->deref_type == nir_deref_type_array, file ../src/microsoft/compiler/nir_to_dxil.c, line 3732 + + +Test:SpvModuleScopeVarParserTest_BuiltinVertexIndex.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_ColMajorDecoration_Dropped.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_DescriptorGroupDecoration_Valid.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_FragDepth_Out_Initializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_Input_OppositeSignedness.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_Input_SameSignedness.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_In_Signed.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_In_Unsigned.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_Out_Signed_Initializer.spvasm:main|Fragment: Fail +DXIL: SV_Coverage must be uint + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_Out_Unsigned_Initializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_Flatten_Interpolation_Flat_Fragment_In.spvasm:main|Fragment: Fail +Assertion failed: !"unexpected glsl type", file ../src/microsoft/compiler/dxil_enums.c, line 73 + + +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_Flatten_Interpolation_Floating_Fragment_In.spvasm:main|Fragment: Fail +Assertion failed: !"unexpected glsl type", file ../src/microsoft/compiler/dxil_enums.c, line 73 + + +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_Flatten_Interpolation_Floating_Fragment_Out.spvasm:main|Fragment: Fail +Assertion failed: !"unexpected glsl type", file ../src/microsoft/compiler/dxil_enums.c, line 73 + + +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_Interpolation_Flat_Vertex_In.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_Interpolation_Flat_Vertex_Output.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_Interpolation_Floating_Fragment_In.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_Interpolation_Floating_Fragment_Out.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_EntryPointWrapping_IOLocations.spvasm:main|Fragment: Fail +DXIL: signature element TEXCOORD specifies invalid interpolation mode for integer component type. +signature element TEXCOORD specifies invalid interpolation mode for integer component type. +Semantic 'UNDEFINED' is invalid as ps Output +Pixel Shader allows output semantics to be SV_Target, SV_Depth, SV_DepthGreaterEqual, SV_DepthLessEqual, SV_Coverage or SV_StencilRef, UNDEFINED found +Not all elements of output UNDEFINED were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_FlattenStruct_LocOnMembers.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_Input_FlattenArray_OneLevel.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_Input_FlattenMatrix.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_Input_FlattenNested.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_Input_FlattenStruct_LocOnVariable.spvasm:main|Vertex: Fail +Assertion failed: !"unexpected glsl type", file ../src/microsoft/compiler/dxil_enums.c, line 73 + + +Test:SpvModuleScopeVarParserTest_InputVarsConvertedToPrivate.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_InstanceIndex_I32_Load_AccessChain.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_InstanceIndex_I32_Load_CopyObject.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_InstanceIndex_I32_Load_Direct.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_InstanceIndex_U32_Load_AccessChain.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_InstanceIndex_U32_Load_CopyObject.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_InstanceIndex_U32_Load_Direct.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_MatrixInitializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_MatrixNullInitializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_MatrixStrideDecoration_Dropped.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_NamedWorkgroupVar.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_NoVar.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_Output_FlattenArray_OneLevel.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_Output_FlattenMatrix.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_Output_FlattenStruct_LocOnVariable.spvasm:main|Vertex: Fail +Assertion failed: !"unexpected glsl type", file ../src/microsoft/compiler/dxil_enums.c, line 73 + + +Test:SpvModuleScopeVarParserTest_OutputVarsConvertedToPrivate.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_OutputVarsConvertedToPrivate_WithInitializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_PrivateVar.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleId_I32_Load_AccessChain.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleId_I32_Load_CopyObject.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleId_I32_Load_Direct.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleId_U32_Load_AccessChain.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleId_U32_Load_CopyObject.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleId_U32_Load_Direct.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleMask_In_I32_AccessChain.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleMask_In_I32_CopyObject.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleMask_In_I32_Direct.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleMask_In_U32_AccessChain.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleMask_In_U32_CopyObject.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleMask_In_U32_Direct.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleMask_In_WithStride.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleMask_Out_I32_AccessChain.spvasm:main|Fragment: Fail +DXIL: SV_Coverage must be uint + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_SampleMask_Out_I32_CopyObject.spvasm:main|Fragment: Fail +DXIL: SV_Coverage must be uint + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_SampleMask_Out_I32_Direct.spvasm:main|Fragment: Fail +DXIL: SV_Coverage must be uint + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_SampleMask_Out_U32_AccessChain.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleMask_Out_U32_CopyObject.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleMask_Out_U32_Direct.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_SampleMask_Out_WithStride.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_ScalarInitializers.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_ScalarNullInitializers.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_ScalarSpecConstant_DeclareConst_F32.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_ScalarSpecConstant_DeclareConst_F32_WithoutSpecId.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_ScalarSpecConstant_DeclareConst_False.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_ScalarSpecConstant_DeclareConst_I32.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_ScalarSpecConstant_DeclareConst_Id_MaxValid.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_ScalarSpecConstant_DeclareConst_True.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_ScalarSpecConstant_DeclareConst_U32.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_ScalarSpecConstant_UsedInFunction.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_StorageBuffer_NonWritable_AllMembers.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_StorageBuffer_NonWritable_NotAllMembers.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_StorageBuffer_NonWritable_NotAllMembers_DuplicatedOnSameMember.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_StructInitializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_StructMember_NonReadableDecoration_Dropped.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_StructNullInitializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_VectorBoolNullInitializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_VectorFloatNullInitializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_VectorInitializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_VectorIntNullInitializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_VectorUintNullInitializer.spvasm:main|Fragment: Pass +Test:SpvModuleScopeVarParserTest_VertexIndex_I32_Load_AccessChain.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_VertexIndex_I32_Load_CopyObject.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_VertexIndex_I32_Load_Direct.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_VertexIndex_U32_Load_AccessChain.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_VertexIndex_U32_Load_CopyObject.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvModuleScopeVarParserTest_VertexIndex_U32_Load_Direct.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvParserCFGTest_ClassifyCFGEdges_BackEdge_MultiBlockLoop_MultiBlockContinueConstruct_ContinueIsHeader.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_BackEdge_MultiBlockLoop_MultiBlockContinueConstruct_ContinueIsNotHeader.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_BackEdge_MultiBlockLoop_SingleBlockContinueConstruct.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_BackEdge_SingleBlockLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_Fallthrough_CaseTailToCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_Fallthrough_CaseTailToDefaultNotMerge.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_Fallthrough_DefaultToCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_Forward_IfToElse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_Forward_IfToThen.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_Forward_LoopHeadToBody.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_Forward_SwitchToCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_Forward_SwitchToDefaultNotMerge.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_IfBreak_FromElse_ForwardWithinElse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_IfBreak_FromIfHeader.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_IfBreak_FromIfThenElse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_IfBreak_FromThen_ForwardWithinThen.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBody.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBodyDirect.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBodyNestedSelection_Conditional.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBodyNestedSelection_Unconditional.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_MultiBlockLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_FalseBranch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_ConditionalFromNestedIf.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedIf.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedSwitchCaseBody_Unconditional.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedSwitchDefaultBody_Conditional.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedSwitchDefaultBody_Unconditional.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_LoopBodyToContinue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_Pathological_Forward_LoopHeadSplitBody.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_Pathological_Forward_Premerge.spvasm:main|Fragment: Fail +SPIR-V parsing FAILED: + In file ../src/compiler/spirv/vtn_cfg.c:627 + Invalid back or cross-edge in the CFG + 0 bytes into the SPIR-V binary +Compilation failed + + +Test:SpvParserCFGTest_ClassifyCFGEdges_Pathological_Forward_Regardless.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_SwitchBreak_FromNestedIf_Conditional.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_SwitchBreak_FromNestedIf_Unconditional.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_SwitchBreak_FromSwitchCaseBody.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_SwitchBreak_FromSwitchCaseDirect.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_SwitchBreak_FromSwitchDefaultBody.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ClassifyCFGEdges_SwitchBreak_FromSwitchDefaultIsMerge.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_DupConditionalBranch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_FalseOnlyBranch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_IgnoreStaticalyUnreachable.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_KillIsDeadEnd.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_Body_If.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_Body_If_Break.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_Body_If_Continue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_Body_Switch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_Body_Switch_CaseContinues.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasBreak.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasBreakIf.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasBreakUnless.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasContinueIf.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasContinueUnless.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_ContainsIf.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_Sequence.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakIf.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_Loop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerBreak.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerContinue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerContinueBreaks.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_SingleBlock_DupInfinite.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_SingleBlock_Infinite.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Loop_SingleBlock_Simple.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Nest_If_Contains_If.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Nest_If_In_SwitchCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Nest_IfBreak_In_SwitchCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Nest_IfFallthrough_In_SwitchCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_OneBlock.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_ReorderSequence.spvasm:main|Fragment: Fail +SPIR-V parsing FAILED: + In file ../src/compiler/spirv/vtn_cfg.c:627 + Invalid back or cross-edge in the CFG + 0 bytes into the SPIR-V binary +Compilation failed + + +Test:SpvParserCFGTest_ComputeBlockOrder_RespectConditionalBranchOrder.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_RespectSwitchCaseFallthrough.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_RespectSwitchCaseFallthrough_FromCaseToDefaultToCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_RespectSwitchCaseFallthrough_FromDefault.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_RespectSwitchCaseFallthrough_Interleaved.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_Switch_DefaultSameAsACase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_SwitchOrderNaturallyReversed.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_SwitchWithDefaultOrderNaturallyReversed.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_TrueOnlyBranch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_ComputeBlockOrder_UnreachableIsDeadEnd.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_BackEdge_MultiBlockLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_BackEdge_SingleBlockLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_Fallthrough.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_Forward.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_IfBreak_FromElse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_IfBreak_FromThen.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_LoopBreak_MultiBlockLoop_FromBody.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_LoopBreak_MultiBlockLoop_FromContinueConstructEnd_Conditional.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_LoopContinue_BeforeLast.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_LoopContinue_FromSwitch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_LoopContinue_LastInLoopConstruct.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_SwitchBreak_LastInCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Branch_SwitchBreak_NotLastInCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnFalse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_Back.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnFalse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Continue_Continue_AfterHeader_Conditional.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Continue_Continue_AfterHeader_Conditional_EmptyContinuing.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Continue_Continue_AfterHeader_Unconditional.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Continue_Continue_FromHeader.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Continue_Fallthrough_OnFalse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Continue_Fallthrough_OnTrue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Continue_Forward_OnFalse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Continue_Forward_OnTrue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Continue_IfBreak_OnFalse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Continue_IfBreak_OnTrue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Fallthrough_Fallthrough_Same.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_Forward_Forward_Same.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_IfBreak_IfBreak_Same.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnTrue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnTrue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_MultiBlock_LoopBreak.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_SingleBlock_LoopBreak.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_LoopContinue_FromSwitch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_SwitchBreak_Continue_OnFalse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_SwitchBreak_Continue_OnTrue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_SwitchBreak_Fallthrough_OnFalse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_SwitchBreak_Fallthrough_OnTrue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_SwitchBreak_Forward_OnFalse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_SwitchBreak_Forward_OnTrue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_SwitchBreak_SwitchBreak_LastInCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_BranchConditional_SwitchBreak_SwitchBreak_NotLastInCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_FalseBranch_LoopBreak.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_FalseBranch_LoopContinue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_FalseBranch_SwitchBreak.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_If_Else_Premerge.spvasm:main|Fragment: Fail +SPIR-V parsing FAILED: + In file ../src/compiler/spirv/vtn_cfg.c:627 + Invalid back or cross-edge in the CFG + 0 bytes into the SPIR-V binary +Compilation failed + + +Test:SpvParserCFGTest_EmitBody_If_Empty.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_If_Nest_If.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_If_NoThen_Else.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_If_Then_Else.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_If_Then_Else_Premerge.spvasm:main|Fragment: Fail +SPIR-V parsing FAILED: + In file ../src/compiler/spirv/vtn_cfg.c:627 + Invalid back or cross-edge in the CFG + 0 bytes into the SPIR-V binary +Compilation failed + + +Test:SpvParserCFGTest_EmitBody_If_Then_NoElse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_If_Then_Premerge.spvasm:main|Fragment: Fail +SPIR-V parsing FAILED: + In file ../src/compiler/spirv/vtn_cfg.c:627 + Invalid back or cross-edge in the CFG + 0 bytes into the SPIR-V binary +Compilation failed + + +Test:SpvParserCFGTest_EmitBody_IfBreak_FromElse_ForwardWithinElse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_IfBreak_FromThen_ForwardWithinThen.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_IfBreak_FromThenWithForward_FromElseWithForward_AlsoPremerge.spvasm:main|Fragment: Fail +SPIR-V parsing FAILED: + In file ../src/compiler/spirv/vtn_cfg.c:627 + Invalid back or cross-edge in the CFG + 0 bytes into the SPIR-V binary +Compilation failed + + +Test:SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Kill_InsideIf.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Kill_InsideLoop.spvasm:main|Fragment: Fail +DXIL: Loop must have break + +Validation failed. + +Failed to validate DXIL + + +Test:SpvParserCFGTest_EmitBody_Kill_TopLevel.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_BodyAlwaysBreaks.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromFalse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromFalse_Early.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_FalseToBody_TrueBreaks.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_MultiBlockContinueIsEntireLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_NestedIfContinue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_Never.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_SingleBlock_BothBackedge.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_SingleBlock_TrueBackedge.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_SingleBlock_UnconditionalBackege.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_TrueToBody_FalseBreaks.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_Unconditional_Body_ContinueNestIf.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_Unconditional_Body_MultiBlockContinue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Loop_Unconditional_Body_SingleBlockContinue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_LoopInternallyDiverge_Simple.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Return_InsideIf.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Return_InsideLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Return_TopLevel.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_ReturnValue_InsideIf.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_ReturnValue_Loop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_ReturnValue_TopLevel.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Switch_Case_SintValue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Switch_Case_UintValue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Switch_DefaultIsCase_NoDupCases.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Switch_DefaultIsCase_WithDupCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Switch_DefaultIsMerge_CasesWithDup.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Switch_DefaultIsMerge_NoCases.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Switch_DefaultIsMerge_OneCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Switch_DefaultIsMerge_TwoCases.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_TrueBranch_LoopContinue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_TrueBranch_SwitchBreak.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Unreachable_InNonVoidFunction.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Unreachable_InsideIf.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Unreachable_InsideLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_EmitBody_Unreachable_TopLevel.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_ElseOnly.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_FalseBranch_LoopBreak_Ok.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_FalseBranch_LoopContinue_Ok.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_FalseBranch_SwitchBreak_Ok.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_IfOnly.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_NoIf.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_Premerge_ElseDirectToThen.spvasm:main|Fragment: Fail +SPIR-V parsing FAILED: + In file ../src/compiler/spirv/vtn_cfg.c:627 + Invalid back or cross-edge in the CFG + 0 bytes into the SPIR-V binary +Compilation failed + + +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_Premerge_Simple.spvasm:main|Fragment: Fail +SPIR-V parsing FAILED: + In file ../src/compiler/spirv/vtn_cfg.c:627 + Invalid back or cross-edge in the CFG + 0 bytes into the SPIR-V binary +Compilation failed + + +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_Premerge_ThenDirectToElse.spvasm:main|Fragment: Fail +SPIR-V parsing FAILED: + In file ../src/compiler/spirv/vtn_cfg.c:627 + Invalid back or cross-edge in the CFG + 0 bytes into the SPIR-V binary +Compilation failed + + +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_Regardless.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_ThenElse.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopContinue_Ok.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_SwitchBreak_Ok.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindSwitchCaseHeaders_CaseIsDefault.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindSwitchCaseHeaders_CaseIsNotDefault.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindSwitchCaseHeaders_DefaultIsMerge.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindSwitchCaseHeaders_DefaultIsNotMerge.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindSwitchCaseHeaders_ManyValuesWithSameCase.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_FindSwitchCaseHeaders_NoSwitch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_FunctionIsOnlyIfSelectionAndItsMerge.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_LoopInterallyDiverge.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_MergeBlockIsAlsoMultiBlockLoopHeader.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_MergeBlockIsAlsoSingleBlockLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_MultiBlockLoop_HeaderIsContinue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_MultiBlockLoop_HeaderIsNotContinue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_Nest_If_If.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_Nest_If_MultiBlockLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_Nest_If_SingleBlockLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_Nest_If_Switch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_Nest_Loop_If.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_Nest_Loop_Loop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_Nest_LoopContinue_If.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_Nest_Switch_If.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_OuterConstructIsFunction_MultiBlock.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_OuterConstructIsFunction_SingleBlock.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_PaddingBlocksBeforeAndAfterStructuredConstruct.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_SingleBlockLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_LabelControlFlowConstructs_SwitchSelection.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_RegisterMerges_GoodLoopMerge_MultiBlockLoop_ContinueIsHeader.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_RegisterMerges_GoodLoopMerge_MultiBlockLoop_ContinueIsNotHeader_Branch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_RegisterMerges_GoodLoopMerge_MultiBlockLoop_ContinueIsNotHeader_BranchConditional.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_RegisterMerges_GoodLoopMerge_SingleBlockLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_RegisterMerges_GoodSelectionMerge_BranchConditional.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_RegisterMerges_GoodSelectionMerge_Switch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_RegisterMerges_NoMerges.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_SiblingLoopConstruct_ContinueIsWholeMultiBlockLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_SiblingLoopConstruct_HasSiblingLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_SiblingLoopConstruct_NotAContinue.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_SiblingLoopConstruct_Null.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_SiblingLoopConstruct_SingleBlockLoop.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_TerminatorsAreValid_If.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_TerminatorsAreValid_Kill.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_TerminatorsAreValid_Loop_Simple.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_TerminatorsAreValid_Loop_SingleBlock.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_TerminatorsAreValid_Sequence.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_TerminatorsAreValid_SingleBlock.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_TerminatorsAreValid_Switch.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_TerminatorsAreValid_Unreachable.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_VerifyHeaderContinueMergeOrder_MultiBlockLoop_Good.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_VerifyHeaderContinueMergeOrder_Selection_Good.spvasm:main|Fragment: Pass +Test:SpvParserCFGTest_VerifyHeaderContinueMergeOrder_SingleBlockLoop_Good.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_AnonymousVars.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_ArrayInitializer.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_ArrayInitializer_Alias.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_ArrayInitializer_Alias_Null.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_ArrayInitializer_Null.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_Decorate_RelaxedPrecision.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_MatrixInitializer.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_MemberDecorate_RelaxedPrecision.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_MixedTypes.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_NamedVars.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_ScalarInitializers.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_ScalarNullInitializers.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_StructDifferOnlyInMemberName.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_StructInitializer.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_StructInitializer_Null.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitFunctionVariables_VectorInitializer.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_Hoisting_DefAndUseFirstBlockIf.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_Hoisting_DefFirstBlockIf_InFunction.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_Hoisting_DefFirstBlockIf_InIf.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_Hoisting_DefFirstBlockSwitch_InIf.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_CombinatorialValue_Defer_UsedOnceSameConstruct.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_CombinatorialValue_Immediate_UsedOnceDifferentConstruct.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_CombinatorialValue_Immediate_UsedTwice.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_Hoist_CompositeInsert.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_Hoist_UsedAsNonPtrArg.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_Hoist_VectorInsertDynamic.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_Phi_InMerge_PredecessorsDominatdByNestedSwitchCase.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_Phi_ValueFromBlockNotInBlockOrderIgnored.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_Phi_ValueFromLoopBodyAndContinuing.spvasm:main|Fragment: Pass +Test:SpvParserFunctionVarTest_EmitStatement_UseInPhiCountsAsUse.spvasm:main|Fragment: Pass +Test:SpvParserHandleTest_GetMemoryObjectDeclarationForHandle_Variable_CopyObject.spvasm:main|Fragment: Pass +Test:SpvParserHandleTest_GetMemoryObjectDeclarationForHandle_Variable_Direct.spvasm:main|Fragment: Pass +Test:SpvParserHandleTest_GetMemoryObjectDeclarationForHandle_Variable_Image.spvasm:main|Fragment: Pass +Test:SpvParserHandleTest_GetMemoryObjectDeclarationForHandle_Variable_Load.spvasm:main|Fragment: Pass +Test:SpvParserHandleTest_GetMemoryObjectDeclarationForHandle_Variable_SampledImage.spvasm:main|Fragment: Pass +Test:SpvParserHandleTest_NeverGenerateConstDeclForHandle_UseVariableDirectly.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_ArrayLength_FromAccessChain.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_ArrayLength_FromVar.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_AccessChain_Array.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_AccessChain_Compound_Matrix_Vector.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_AccessChain_DereferenceBase.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_AccessChain_InferFunctionStorageClass.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_AccessChain_Matrix.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_AccessChain_Struct.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_AccessChain_Struct_DifferOnlyMemberName.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_AccessChain_Struct_RuntimeArray.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_AccessChain_VectorNonConstIndex.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_AccessChain_VectorSwizzle.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_CopyMemory_Scalar_Function_To_Private.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_LoadBool.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_LoadScalar.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_StoreBoolConst.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_StoreFloatConst.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_StoreIntConst.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_StoreToModuleScopeVar.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_StoreUintConst.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_EmitStatement_UseLoadedScalarTwice.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_Cascaded.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded_InBoundsAccessChain.spvasm:main|Fragment: Pass +Test:SpvParserMemoryTest_RemapStorageBuffer_TypesAndVarDeclarations.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseAnd_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseAnd_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseAnd_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseAnd_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseAnd_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseAnd_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseAnd_SpvBinaryBitTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseAnd_SpvBinaryBitTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseAnd_SpvBinaryBitTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseAnd_SpvBinaryBitTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseOr_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseOr_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseOr_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseOr_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseOr_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseOr_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseOr_SpvBinaryBitTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseOr_SpvBinaryBitTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseOr_SpvBinaryBitTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseOr_SpvBinaryBitTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseXor_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseXor_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseXor_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseXor_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseXor_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseXor_MixedSignedness_SpvBinaryBitGeneralTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseXor_SpvBinaryBitTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseXor_SpvBinaryBitTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseXor_SpvBinaryBitTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_BitwiseXor_SpvBinaryBitTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_Composite_Construct_Array.spvasm:main|GLCompute: Pass +Test:SpvParserTest_Composite_Construct_Matrix.spvasm:main|GLCompute: Pass +Test:SpvParserTest_Composite_Construct_Struct.spvasm:main|GLCompute: Pass +Test:SpvParserTest_Composite_Construct_Vector.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CompositeExtract_Array.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CompositeExtract_Matrix.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CompositeExtract_Matrix_Vector.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CompositeExtract_Struct.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CompositeExtract_Struct_Array_Matrix_Vector.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CompositeExtract_Vector.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CompositeInsert_Array.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CompositeInsert_Matrix.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CompositeInsert_Matrix_Vector.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CompositeInsert_Struct.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CompositeInsert_Struct_Array_Matrix_Vector.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CompositeInsert_Struct_DifferOnlyInMemberName.spvasm:main|Fragment: Pass +Test:SpvParserTest_CompositeInsert_Vector.spvasm:main|GLCompute: Pass +Test:SpvParserTest_ConvertType_Array.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_ArrayStride_Valid.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_Bool.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_F32.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_I32.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_Image_PretendVoid.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_MatrixOverF32.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_PointerFunction.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_PointerImage.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_PointerInput.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_PointerOutput.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_PointerPrivate.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_PointerStorageBuffer.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_PointerToPointer.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_PointerUniform.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_PointerUniformConstant.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_PointerWorkgroup.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_RuntimeArray.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_RuntimeArray_ArrayStride_Valid.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_SampledImage_PretendVoid.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_Sampler_PretendVoid.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_StructTwoMembers.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_StructWithBlockDecoration.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_StructWithMemberDecorations.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_U32.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_VecOverF32.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_VecOverI32.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_VecOverU32.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_ConvertType_Void.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_CopyObject_Pointer.spvasm:main|GLCompute: Pass +Test:SpvParserTest_CopyObject_Scalar.spvasm:main|GLCompute: Pass +Test:SpvParserTest_Emit_GenerateParamNames.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_Emit_MixedParamTypes.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_Emit_NonVoidResultType.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_Emit_VoidFunctionWithoutParams.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_EmitFunctions_CalleePrecedesCaller.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_EmitFunctions_Function_EntryPoint_Fragment.spvasm:main|Fragment: Pass +Test:SpvParserTest_EmitFunctions_Function_EntryPoint_GLCompute.spvasm:main|GLCompute: Pass +Test:SpvParserTest_EmitFunctions_Function_EntryPoint_GLCompute_LocalSize_Only.spvasm:comp_main|GLCompute: Pass +Test:SpvParserTest_EmitFunctions_Function_EntryPoint_LocalSize_And_WGSBuiltin_SpecConstant.spvasm:comp_main|GLCompute: Pass +Test:SpvParserTest_EmitFunctions_Function_EntryPoint_MultipleEntryPoints.spvasm:first_shader|Fragment: Pass +Test:SpvParserTest_EmitFunctions_Function_EntryPoint_Vertex.spvasm:main|Vertex: Fail +DXIL: Not all elements of output SV_Position were written +Not all elements of SV_Position were written + +Validation failed. + +Failed to validate DXIL + + +Test:SpvParserTest_EmitFunctions_Function_EntryPoint_WorkgroupSize_MixedConstantSpecConstant.spvasm:comp_main|GLCompute: Pass +Test:SpvParserTest_EmitFunctions_Function_EntryPoint_WorkgroupSizeBuiltin_Constant_Only.spvasm:comp_main|GLCompute: Pass +Test:SpvParserTest_EmitFunctions_Function_EntryPoint_WorkgroupSizeBuiltin_SpecConstant_Only.spvasm:comp_main|GLCompute: Pass +Test:SpvParserTest_EmitFunctions_GenerateParamNames.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_EmitFunctions_MixedParamTypes.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_EmitFunctions_NonVoidResultType.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_EmitFunctions_VoidFunctionWithoutParams.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_EmitStatement_CallWithParams.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_EmitStatement_ScalarCallNoParams.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_EmitStatement_ScalarCallNoParamsUsedTwice.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_EmitStatement_VoidCallNoParams.spvasm:x_100|Fragment: Pass +Test:SpvParserTest_FAdd_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_FAdd_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_FDiv_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_FDiv_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_FMul_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_FMul_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_FOrdEqual_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_FOrdEqual_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_FOrdGreaterThan_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_FOrdGreaterThan_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_FOrdGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_FOrdGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_FOrdLessThan_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_FOrdLessThan_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_FOrdLessThanEqual_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_FOrdLessThanEqual_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_FOrdNotEqual_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_FOrdNotEqual_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_FRem_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_FRem_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_FSub_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_FSub_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_GlslStd450_Degrees_Scalar.spvasm:main|GLCompute: Pass +Test:SpvParserTest_GlslStd450_Degrees_Vector.spvasm:main|GLCompute: Pass +Test:SpvParserTest_GlslStd450_FaceForward_Scalar.spvasm:main|GLCompute: Pass +Test:SpvParserTest_GlslStd450_FaceForward_Vector.spvasm:main|GLCompute: Pass +Test:SpvParserTest_GlslStd450_Radians_Scalar.spvasm:main|GLCompute: Pass +Test:SpvParserTest_GlslStd450_Radians_Vector.spvasm:main|GLCompute: Pass +Test:SpvParserTest_GlslStd450_Reflect_Scalar.spvasm:main|GLCompute: Pass +Test:SpvParserTest_GlslStd450_Reflect_Vector.spvasm:main|GLCompute: Pass +Test:SpvParserTest_GlslStd450_Refract_Scalar.spvasm:main|GLCompute: Pass +Test:SpvParserTest_GlslStd450_Refract_Vector.spvasm:main|GLCompute: Pass +Test:SpvParserTest_IAdd_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_IAdd_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_IAdd_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_IAdd_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_IAdd_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_IAdd_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_IAdd_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_IAdd_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_IAdd_SpvBinaryArithTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_IAdd_SpvBinaryArithTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_IEqual_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_IEqual_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_IEqual_SpvBinaryLogicalTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_IEqual_SpvBinaryLogicalTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_IEqual_SpvBinaryLogicalTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_IEqual_SpvBinaryLogicalTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_Impl_GenericVulkanShader_GLSL450MemoryModel.spvasm:main|GLCompute: Pass +Test:SpvParserTest_Impl_GenericVulkanShader_SimpleMemoryModel.spvasm:main|GLCompute: Pass +Test:SpvParserTest_Impl_GenericVulkanShader_VulkanMemoryModel.spvasm:main|GLCompute: Fail +SPIR-V WARNING: + In file ../src/compiler/spirv/spirv_to_nir.c:4663 + Unsupported SPIR-V capability: SpvCapabilityVulkanMemoryModel (5345) + 28 bytes into the SPIR-V binary +SPIR-V parsing FAILED: + In file ../src/compiler/spirv/spirv_to_nir.c:4817 + Vulkan memory model is unsupported by this driver + 68 bytes into the SPIR-V binary +Compilation failed + + +Test:SpvParserTest_Impl_Source_InvalidId.spvasm:main|GLCompute: Pass +Test:SpvParserTest_Impl_Source_NoOpLine.spvasm:main|GLCompute: Pass +Test:SpvParserTest_Impl_Source_WithOpLine_WithOpNoLine.spvasm:main|GLCompute: Pass +Test:SpvParserTest_IMul_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_IMul_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_IMul_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_IMul_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_IMul_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_IMul_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_IMul_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_IMul_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_IMul_SpvBinaryArithTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_IMul_SpvBinaryArithTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_INotEqual_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_INotEqual_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_INotEqual_SpvBinaryLogicalTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_INotEqual_SpvBinaryLogicalTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_INotEqual_SpvBinaryLogicalTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_INotEqual_SpvBinaryLogicalTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_ISub_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ISub_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ISub_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_ISub_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_ISub_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_ISub_MixedSignedness_SpvBinaryArithGeneralTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_ISub_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ISub_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ISub_SpvBinaryArithTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_ISub_SpvBinaryArithTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_LogicalAnd_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_LogicalAnd_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_LogicalEqual_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_LogicalEqual_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_LogicalNotEqual_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_LogicalNotEqual_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_LogicalOr_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_LogicalOr_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_Normalize_Scalar.spvasm:main|GLCompute: Pass +Test:SpvParserTest_Normalize_Vector2.spvasm:main|GLCompute: Pass +Test:SpvParserTest_Normalize_Vector3.spvasm:main|GLCompute: Pass +Test:SpvParserTest_Normalize_Vector4.spvasm:main|GLCompute: Pass +Test:SpvParserTest_RectifyOperandsAndResult_SAbs.spvasm:main|GLCompute: Pass +Test:SpvParserTest_RectifyOperandsAndResult_SClamp.spvasm:main|GLCompute: Pass +Test:SpvParserTest_RectifyOperandsAndResult_SMax.spvasm:main|GLCompute: Pass +Test:SpvParserTest_RectifyOperandsAndResult_SMin.spvasm:main|GLCompute: Pass +Test:SpvParserTest_RectifyOperandsAndResult_UClamp.spvasm:main|GLCompute: Pass +Test:SpvParserTest_RectifyOperandsAndResult_UMax.spvasm:main|GLCompute: Pass +Test:SpvParserTest_RectifyOperandsAndResult_UMin.spvasm:main|GLCompute: Pass +Test:SpvParserTest_SDiv_MixedSignednessOperands_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_SDiv_MixedSignednessOperands_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_SDiv_MixedSignednessOperands_SpvBinaryArithTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_SDiv_MixedSignednessOperands_SpvBinaryArithTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_SDiv_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_SDiv_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_SGreaterThan_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_SGreaterThan_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_SGreaterThan_SpvBinaryLogicalTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_SGreaterThan_SpvBinaryLogicalTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_SGreaterThan_SpvBinaryLogicalTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_SGreaterThan_SpvBinaryLogicalTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_SGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_SGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_SGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_SGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_SGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_SGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftLeftLogical_Arg2Signed_SpvBinaryBitGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftLeftLogical_Arg2Signed_SpvBinaryBitGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftLeftLogical_Arg2Signed_SpvBinaryBitGeneralTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftLeftLogical_Arg2Signed_SpvBinaryBitGeneralTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftLeftLogical_Arg2Unsigned_SpvBinaryBitTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftLeftLogical_Arg2Unsigned_SpvBinaryBitTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftLeftLogical_Arg2Unsigned_SpvBinaryBitTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftLeftLogical_Arg2Unsigned_SpvBinaryBitTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftLeftLogical_BitcastResult_SpvBinaryBitGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftLeftLogical_BitcastResult_SpvBinaryBitGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightArithmetic_Arg2Signed_SpvBinaryBitGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightArithmetic_Arg2Signed_SpvBinaryBitGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightArithmetic_Arg2Signed_SpvBinaryBitGeneralTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightArithmetic_Arg2Signed_SpvBinaryBitGeneralTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightArithmetic_Arg2Unsigned_SpvBinaryBitGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightArithmetic_Arg2Unsigned_SpvBinaryBitGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightArithmetic_Arg2Unsigned_SpvBinaryBitGeneralTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightArithmetic_Arg2Unsigned_SpvBinaryBitGeneralTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightArithmetic_BitcastResult_SpvBinaryBitGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightArithmetic_BitcastResult_SpvBinaryBitGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightLogical_Arg2Signed_SpvBinaryBitGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightLogical_Arg2Signed_SpvBinaryBitGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightLogical_Arg2Signed_SpvBinaryBitGeneralTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightLogical_Arg2Signed_SpvBinaryBitGeneralTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightLogical_Arg2Unsigned_SpvBinaryBitGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightLogical_Arg2Unsigned_SpvBinaryBitGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightLogical_Arg2Unsigned_SpvBinaryBitGeneralTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightLogical_Arg2Unsigned_SpvBinaryBitGeneralTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightLogical_BitcastResult_SpvBinaryBitGeneralTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ShiftRightLogical_BitcastResult_SpvBinaryBitGeneralTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_SLessThan_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_SLessThan_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_SLessThan_SpvBinaryLogicalTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_SLessThan_SpvBinaryLogicalTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_SLessThan_SpvBinaryLogicalTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_SLessThan_SpvBinaryLogicalTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_SLessThanEqual_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_SLessThanEqual_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_SLessThanEqual_SpvBinaryLogicalTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_SLessThanEqual_SpvBinaryLogicalTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_SLessThanEqual_SpvBinaryLogicalTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_SLessThanEqual_SpvBinaryLogicalTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_SMod_MixedSignednessOperands_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_SMod_MixedSignednessOperands_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_SMod_MixedSignednessOperands_SpvBinaryArithTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_SMod_MixedSignednessOperands_SpvBinaryArithTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_SMod_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_SMod_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_UDiv_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_UDiv_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_UGreaterThan_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_UGreaterThan_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_UGreaterThan_SpvBinaryLogicalTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_UGreaterThan_SpvBinaryLogicalTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_UGreaterThan_SpvBinaryLogicalTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_UGreaterThan_SpvBinaryLogicalTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_UGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_UGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_UGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_UGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_UGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_UGreaterThanEqual_SpvBinaryLogicalTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_ULessThan_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ULessThan_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ULessThan_SpvBinaryLogicalTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_ULessThan_SpvBinaryLogicalTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_ULessThan_SpvBinaryLogicalTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_ULessThan_SpvBinaryLogicalTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_ULessThanEqual_SpvBinaryLogicalTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_ULessThanEqual_SpvBinaryLogicalTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ULessThanEqual_SpvBinaryLogicalTest_EmitExpression_2.spvasm:main|Fragment: Pass +Test:SpvParserTest_ULessThanEqual_SpvBinaryLogicalTest_EmitExpression_3.spvasm:main|Fragment: Pass +Test:SpvParserTest_ULessThanEqual_SpvBinaryLogicalTest_EmitExpression_4.spvasm:main|Fragment: Pass +Test:SpvParserTest_ULessThanEqual_SpvBinaryLogicalTest_EmitExpression_5.spvasm:main|Fragment: Pass +Test:SpvParserTest_UMod_SpvBinaryArithTest_EmitExpression_0.spvasm:main|Fragment: Pass +Test:SpvParserTest_UMod_SpvBinaryArithTest_EmitExpression_1.spvasm:main|Fragment: Pass +Test:SpvParserTest_ValueFromBlockNotInBlockOrder.spvasm:main|Fragment: Fail +SPIR-V parsing FAILED: + In file ../src/compiler/spirv/spirv_to_nir.c:295 + Invalid type for an SSA value + 408 bytes into the SPIR-V binary +Compilation failed + + +Test:SpvParserTest_VectorExtractDynamic_SignedIndex.spvasm:main|GLCompute: Pass +Test:SpvParserTest_VectorExtractDynamic_UnsignedIndex.spvasm:main|GLCompute: Pass +Test:SpvParserTest_VectorInsertDynamic_Sample.spvasm:main|GLCompute: Pass +Test:SpvParserTest_VectorShuffle_ConstantOperands_AllOnesMapToNull.spvasm:main|GLCompute: Pass +Test:SpvParserTest_VectorShuffle_ConstantOperands_UseBoth.spvasm:main|GLCompute: Pass +Test:SpvParserTest_VectorShuffle_FunctionScopeOperands_UseBoth.spvasm:main|GLCompute: Pass +Test:SpvParserTestMiscInstruction_OpNop.spvasm:main|Fragment: Pass +Test:SpvParserTestMiscInstruction_OpUndef_BeforeFunction_Scalar.spvasm:main|Fragment: Pass +Test:SpvParserTestMiscInstruction_OpUndef_BeforeFunction_Vector.spvasm:main|Fragment: Pass +Test:SpvParserTestMiscInstruction_OpUndef_InFunction_Array.spvasm:main|Fragment: Pass +Test:SpvParserTestMiscInstruction_OpUndef_InFunction_Matrix.spvasm:main|Fragment: Pass +Test:SpvParserTestMiscInstruction_OpUndef_InFunction_Scalar.spvasm:main|Fragment: Pass +Test:SpvParserTestMiscInstruction_OpUndef_InFunction_Struct.spvasm:main|Fragment: Pass +Test:SpvParserTestMiscInstruction_OpUndef_InFunction_Vector.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_FNegate_Scalar.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_FNegate_Vector.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_SNegate_Int_Int.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_SNegate_Int_Uint.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_SNegate_SignedVec_SignedVec.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_SNegate_SignedVec_UnsignedVec.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_SNegate_Uint_Int.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_SNegate_Uint_Uint.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_SNegate_UnsignedVec_SignedVec.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_SNegate_UnsignedVec_UnsignedVec.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_Transpose_2x2.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_Transpose_2x3.spvasm:main|Fragment: Pass +Test:SpvUnaryArithTest_Transpose_3x2.spvasm:main|Fragment: Pass +Test:SpvUnaryBitTest_BitCount_Int_Int.spvasm:main|GLCompute: Pass +Test:SpvUnaryBitTest_BitCount_Int_Uint.spvasm:main|GLCompute: Pass +Test:SpvUnaryBitTest_BitCount_IntVector_IntVector.spvasm:main|GLCompute: Pass +Test:SpvUnaryBitTest_BitCount_IntVector_UintVector.spvasm:main|GLCompute: Pass +Test:SpvUnaryBitTest_BitCount_Uint_Int.spvasm:main|GLCompute: Pass +Test:SpvUnaryBitTest_BitCount_Uint_Uint.spvasm:main|GLCompute: Pass +Test:SpvUnaryBitTest_BitCount_UintVector_IntVector.spvasm:main|GLCompute: Pass +Test:SpvUnaryBitTest_BitCount_UintVector_UintVector.spvasm:main|GLCompute: Pass +Test:SpvUnaryBitTest_BitReverse_Int_Int.spvasm:main|GLCompute: Pass +Test:SpvUnaryBitTest_BitReverse_IntVector_IntVector.spvasm:main|GLCompute: Pass +Test:SpvUnaryBitTest_BitReverse_Uint_Uint.spvasm:main|GLCompute: Pass +Test:SpvUnaryBitTest_BitReverse_UintVector_UintVector.spvasm:main|GLCompute: Pass +Test:SpvUnaryBitTest_Not_Int_Int.spvasm:main|Fragment: Pass +Test:SpvUnaryBitTest_Not_Int_Uint.spvasm:main|Fragment: Pass +Test:SpvUnaryBitTest_Not_SignedVec_SignedVec.spvasm:main|Fragment: Pass +Test:SpvUnaryBitTest_Not_SignedVec_UnsignedVec.spvasm:main|Fragment: Pass +Test:SpvUnaryBitTest_Not_Uint_Int.spvasm:main|Fragment: Pass +Test:SpvUnaryBitTest_Not_Uint_Uint.spvasm:main|Fragment: Pass +Test:SpvUnaryBitTest_Not_UnsignedVec_SignedVec.spvasm:main|Fragment: Pass +Test:SpvUnaryBitTest_Not_UnsignedVec_UnsignedVec.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_Bitcast_Scalar.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_Bitcast_Vector.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertFToS_Scalar_ToSigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertFToS_Scalar_ToUnsigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertFToS_Vector_ToSigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertFToS_Vector_ToUnsigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertFToU_HoistedValue.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertFToU_Scalar_ToUnsigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertFToU_Vector_ToUnsigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertSToF_Scalar_FromSigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertSToF_Scalar_FromUnsigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertSToF_Vector_FromSigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertSToF_Vector_FromUnsigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertUToF_Scalar_FromSigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertUToF_Scalar_FromUnsigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertUToF_Vector_FromSigned.spvasm:main|Fragment: Pass +Test:SpvUnaryConversionTest_ConvertUToF_Vector_FromUnsigned.spvasm:main|Fragment: Pass +Test:SpvUnaryLogicalTest_LogicalNot_Scalar.spvasm:main|Fragment: Pass +Test:SpvUnaryLogicalTest_LogicalNot_Vector.spvasm:main|Fragment: Pass +Test:ValidIndex_SpvParserSwizzleTest_Sample_0.spvasm:main|Fragment: Pass +Test:ValidIndex_SpvParserSwizzleTest_Sample_1.spvasm:main|Fragment: Pass +Test:ValidIndex_SpvParserSwizzleTest_Sample_2.spvasm:main|Fragment: Pass +Test:ValidIndex_SpvParserSwizzleTest_Sample_3.spvasm:main|Fragment: Pass diff --git a/.gitlab-ci/windows/spirv2dxil_run.ps1 b/.gitlab-ci/windows/spirv2dxil_run.ps1 new file mode 100644 index 00000000000..51b125eef5d --- /dev/null +++ b/.gitlab-ci/windows/spirv2dxil_run.ps1 @@ -0,0 +1,16 @@ +. .\_install\spirv2dxil_check.ps1 2>&1 | Set-Content -Path .\spirv2dxil_results.txt +$reference = Get-Content .\_install\spirv2dxil_reference.txt +$result = Get-Content .\spirv2dxil_results.txt +if (-Not ($reference -And $result)) { + Exit 1 +} + +$diff = Compare-Object -ReferenceObject $reference -DifferenceObject $result +if (-Not $diff) { + Exit 0 +} + +Write-Host "Unexpected change in results:" +Write-Output $diff | Format-Table -Property SideIndicator, InputObject -Wrap + +Exit 1