tint: delete e2e tests that fail because Tint detects infinite loops
Bug: tint:1521 Change-Id: I9ae9af0b3799e3be1c2cb083e9f2ae5752b63b58 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88362 Reviewed-by: Ben Clayton <bclayton@google.com> Kokoro: Kokoro <noreply+kokoro@google.com>
This commit is contained in:
parent
b52c8a4758
commit
98685f34a5
|
@ -1,54 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_Back.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_0
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpLoopMerge %99 %20 None
|
||||
OpBranchConditional %5 %20 %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_5
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,20 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,20 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,20 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 0u ;
|
||||
loop
|
||||
var_1 = 1u ;
|
||||
|
||||
var_1 = 5u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,20 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,67 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_Continue_Continue_AfterHeader_Conditional.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_0
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpSelectionMerge %50 None
|
||||
OpBranchConditional %true %40 %50
|
||||
%40 = OpLabel
|
||||
OpStore %var %uint_3
|
||||
OpBranchConditional %false %80 %80
|
||||
%50 = OpLabel
|
||||
OpStore %var %uint_4
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_5
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_6
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
continue;
|
||||
}
|
||||
var_1 = 4u;
|
||||
|
||||
continuing {
|
||||
var_1 = 5u;
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,30 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
continue;
|
||||
}
|
||||
var_1 = 4u;
|
||||
|
||||
continuing {
|
||||
var_1 = 5u;
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,30 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
continue;
|
||||
}
|
||||
var_1 = 4u;
|
||||
|
||||
continuing {
|
||||
var_1 = 5u;
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,30 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 0u ;
|
||||
loop
|
||||
var_1 = 1u ;
|
||||
var_1 = 2u ;
|
||||
if true
|
||||
var_1 = 3u ;
|
||||
continue ;
|
||||
|
||||
var_1 = 4u ;
|
||||
|
||||
continuing
|
||||
var_1 = 5u ;
|
||||
|
||||
|
||||
var_1 = 6u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,30 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
continue;
|
||||
}
|
||||
var_1 = 4u;
|
||||
|
||||
continuing {
|
||||
var_1 = 5u;
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,66 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_Continue_Continue_AfterHeader_Conditional_EmptyContinuing.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_0
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpSelectionMerge %50 None
|
||||
OpBranchConditional %true %40 %50
|
||||
%40 = OpLabel
|
||||
OpStore %var %uint_3
|
||||
OpBranchConditional %false %80 %80
|
||||
%50 = OpLabel
|
||||
OpStore %var %uint_4
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_6
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
continue;
|
||||
}
|
||||
var_1 = 4u;
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,26 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
continue;
|
||||
}
|
||||
var_1 = 4u;
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,26 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
continue;
|
||||
}
|
||||
var_1 = 4u;
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,26 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 0u ;
|
||||
loop
|
||||
var_1 = 1u ;
|
||||
var_1 = 2u ;
|
||||
if true
|
||||
var_1 = 3u ;
|
||||
continue ;
|
||||
|
||||
var_1 = 4u ;
|
||||
|
||||
var_1 = 6u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,26 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
continue;
|
||||
}
|
||||
var_1 = 4u;
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,60 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_Continue_Continue_AfterHeader_Unconditional.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_0
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpBranchConditional %5 %80 %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_4
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_5
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,25 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,25 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,25 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 0u ;
|
||||
loop
|
||||
var_1 = 1u ;
|
||||
var_1 = 2u ;
|
||||
|
||||
continuing
|
||||
var_1 = 4u ;
|
||||
|
||||
|
||||
var_1 = 5u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,25 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,57 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_Continue_Continue_FromHeader.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_0
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranchConditional %5 %80 %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_4
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_5
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,24 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,24 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,24 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 0u ;
|
||||
loop
|
||||
var_1 = 1u ;
|
||||
|
||||
continuing
|
||||
var_1 = 4u ;
|
||||
|
||||
|
||||
var_1 = 5u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,24 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,70 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_Continue_Fallthrough_OnFalse.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_0
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpSelectionMerge %79 None
|
||||
OpSwitch %uint_42 %79 40 %40 50 %50
|
||||
%40 = OpLabel
|
||||
OpStore %var %uint_40
|
||||
OpBranchConditional %5 %80 %50
|
||||
%50 = OpLabel
|
||||
OpStore %var %uint_50
|
||||
OpBranch %79
|
||||
%79 = OpLabel
|
||||
OpStore %var %uint_3
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_4
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_5
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
fallthrough;
|
||||
}
|
||||
case 50u: {
|
||||
var_1 = 50u;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,40 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
fallthrough;
|
||||
}
|
||||
case 50u: {
|
||||
var_1 = 50u;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,40 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
fallthrough;
|
||||
}
|
||||
case 50u: {
|
||||
var_1 = 50u;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,40 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 0u ;
|
||||
loop
|
||||
var_1 = 1u ;
|
||||
var_1 = 2u ;
|
||||
switch 42u
|
||||
case 40u
|
||||
var_1 = 40u ;
|
||||
if false
|
||||
continue ;
|
||||
|
||||
fallthrough ;
|
||||
|
||||
case 50u
|
||||
var_1 = 50u ;
|
||||
|
||||
default
|
||||
|
||||
|
||||
var_1 = 3u ;
|
||||
|
||||
continuing
|
||||
var_1 = 4u ;
|
||||
|
||||
|
||||
var_1 = 5u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,40 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
fallthrough;
|
||||
}
|
||||
case 50u: {
|
||||
var_1 = 50u;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,70 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_Continue_Fallthrough_OnTrue.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_0
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpSelectionMerge %79 None
|
||||
OpSwitch %uint_42 %79 40 %40 50 %50
|
||||
%40 = OpLabel
|
||||
OpStore %var %uint_40
|
||||
OpBranchConditional %5 %50 %80
|
||||
%50 = OpLabel
|
||||
OpStore %var %uint_50
|
||||
OpBranch %79
|
||||
%79 = OpLabel
|
||||
OpStore %var %uint_3
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_4
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_5
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
fallthrough;
|
||||
}
|
||||
case 50u: {
|
||||
var_1 = 50u;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,41 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
fallthrough;
|
||||
}
|
||||
case 50u: {
|
||||
var_1 = 50u;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,41 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
fallthrough;
|
||||
}
|
||||
case 50u: {
|
||||
var_1 = 50u;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,41 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 0u ;
|
||||
loop
|
||||
var_1 = 1u ;
|
||||
var_1 = 2u ;
|
||||
switch 42u
|
||||
case 40u
|
||||
var_1 = 40u ;
|
||||
if false
|
||||
else
|
||||
continue ;
|
||||
|
||||
fallthrough ;
|
||||
|
||||
case 50u
|
||||
var_1 = 50u ;
|
||||
|
||||
default
|
||||
|
||||
|
||||
var_1 = 3u ;
|
||||
|
||||
continuing
|
||||
var_1 = 4u ;
|
||||
|
||||
|
||||
var_1 = 5u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,41 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
fallthrough;
|
||||
}
|
||||
case 50u: {
|
||||
var_1 = 50u;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,63 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_Continue_Forward_OnFalse.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_0
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpBranchConditional %5 %80 %40
|
||||
%40 = OpLabel
|
||||
OpStore %var %uint_3
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_4
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_5
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,29 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,29 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,29 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 0u ;
|
||||
loop
|
||||
var_1 = 1u ;
|
||||
var_1 = 2u ;
|
||||
if false
|
||||
continue ;
|
||||
|
||||
var_1 = 3u ;
|
||||
|
||||
continuing
|
||||
var_1 = 4u ;
|
||||
|
||||
|
||||
var_1 = 5u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,29 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,63 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_Continue_Forward_OnTrue.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_0
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpBranchConditional %5 %40 %80
|
||||
%40 = OpLabel
|
||||
OpStore %var %uint_3
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_4
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_5
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,30 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,30 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,30 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 0u ;
|
||||
loop
|
||||
var_1 = 1u ;
|
||||
var_1 = 2u ;
|
||||
if false
|
||||
else
|
||||
continue ;
|
||||
|
||||
var_1 = 3u ;
|
||||
|
||||
continuing
|
||||
var_1 = 4u ;
|
||||
|
||||
|
||||
var_1 = 5u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,30 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
var_1 = 3u;
|
||||
|
||||
continuing {
|
||||
var_1 = 4u;
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,67 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_Continue_IfBreak_OnFalse.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_0
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpSelectionMerge %50 None
|
||||
OpBranchConditional %true %40 %50
|
||||
%40 = OpLabel
|
||||
OpStore %var %uint_3
|
||||
OpBranchConditional %false %80 %50
|
||||
%50 = OpLabel
|
||||
OpStore %var %uint_4
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_5
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_6
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
var_1 = 4u;
|
||||
|
||||
continuing {
|
||||
var_1 = 5u;
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,32 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
var_1 = 4u;
|
||||
|
||||
continuing {
|
||||
var_1 = 5u;
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,32 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
var_1 = 4u;
|
||||
|
||||
continuing {
|
||||
var_1 = 5u;
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,32 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 0u ;
|
||||
loop
|
||||
var_1 = 1u ;
|
||||
var_1 = 2u ;
|
||||
if true
|
||||
var_1 = 3u ;
|
||||
if false
|
||||
continue ;
|
||||
|
||||
|
||||
var_1 = 4u ;
|
||||
|
||||
continuing
|
||||
var_1 = 5u ;
|
||||
|
||||
|
||||
var_1 = 6u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,32 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
var_1 = 4u;
|
||||
|
||||
continuing {
|
||||
var_1 = 5u;
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,67 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_Continue_IfBreak_OnTrue.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_0
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpSelectionMerge %50 None
|
||||
OpBranchConditional %true %40 %50
|
||||
%40 = OpLabel
|
||||
OpStore %var %uint_3
|
||||
OpBranchConditional %false %50 %80
|
||||
%50 = OpLabel
|
||||
OpStore %var %uint_4
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_5
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_6
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
var_1 = 4u;
|
||||
|
||||
continuing {
|
||||
var_1 = 5u;
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,33 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
var_1 = 4u;
|
||||
|
||||
continuing {
|
||||
var_1 = 5u;
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,33 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
var_1 = 4u;
|
||||
|
||||
continuing {
|
||||
var_1 = 5u;
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,33 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 0u ;
|
||||
loop
|
||||
var_1 = 1u ;
|
||||
var_1 = 2u ;
|
||||
if true
|
||||
var_1 = 3u ;
|
||||
if false
|
||||
else
|
||||
continue ;
|
||||
|
||||
|
||||
var_1 = 4u ;
|
||||
|
||||
continuing
|
||||
var_1 = 5u ;
|
||||
|
||||
|
||||
var_1 = 6u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,33 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 0u;
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
var_1 = 2u;
|
||||
if (true) {
|
||||
var_1 = 3u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
var_1 = 4u;
|
||||
|
||||
continuing {
|
||||
var_1 = 5u;
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,67 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_LoopContinue_FromSwitch.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpStore %var %uint_3
|
||||
OpSelectionMerge %79 None
|
||||
OpSwitch %uint_42 %79 40 %40
|
||||
%40 = OpLabel
|
||||
OpStore %var %uint_4
|
||||
OpBranchConditional %true %80 %80
|
||||
%79 = OpLabel
|
||||
OpStore %var %uint_5
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_6
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_7
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 1u;
|
||||
loop {
|
||||
var_1 = 2u;
|
||||
var_1 = 3u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 4u;
|
||||
continue;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
|
||||
continuing {
|
||||
var_1 = 6u;
|
||||
}
|
||||
}
|
||||
var_1 = 7u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,34 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 1u;
|
||||
loop {
|
||||
var_1 = 2u;
|
||||
var_1 = 3u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 4u;
|
||||
continue;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
|
||||
continuing {
|
||||
var_1 = 6u;
|
||||
}
|
||||
}
|
||||
var_1 = 7u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,34 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 1u;
|
||||
loop {
|
||||
var_1 = 2u;
|
||||
var_1 = 3u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 4u;
|
||||
continue;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
|
||||
continuing {
|
||||
var_1 = 6u;
|
||||
}
|
||||
}
|
||||
var_1 = 7u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,34 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 1u ;
|
||||
loop
|
||||
var_1 = 2u ;
|
||||
var_1 = 3u ;
|
||||
switch 42u
|
||||
case 40u
|
||||
var_1 = 4u ;
|
||||
continue ;
|
||||
|
||||
default
|
||||
|
||||
|
||||
var_1 = 5u ;
|
||||
|
||||
continuing
|
||||
var_1 = 6u ;
|
||||
|
||||
|
||||
var_1 = 7u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,34 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 1u;
|
||||
loop {
|
||||
var_1 = 2u;
|
||||
var_1 = 3u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 4u;
|
||||
continue;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 5u;
|
||||
|
||||
continuing {
|
||||
var_1 = 6u;
|
||||
}
|
||||
}
|
||||
var_1 = 7u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,67 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_SwitchBreak_Continue_OnFalse.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpStore %var %uint_3
|
||||
OpSelectionMerge %79 None
|
||||
OpSwitch %uint_42 %79 40 %40
|
||||
%40 = OpLabel
|
||||
OpStore %var %uint_40
|
||||
OpBranchConditional %5 %79 %80
|
||||
%79 = OpLabel
|
||||
OpStore %var %uint_6
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_7
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_8
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 1u;
|
||||
loop {
|
||||
var_1 = 2u;
|
||||
var_1 = 3u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
|
||||
continuing {
|
||||
var_1 = 7u;
|
||||
}
|
||||
}
|
||||
var_1 = 8u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,37 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 1u;
|
||||
loop {
|
||||
var_1 = 2u;
|
||||
var_1 = 3u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
|
||||
continuing {
|
||||
var_1 = 7u;
|
||||
}
|
||||
}
|
||||
var_1 = 8u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,37 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 1u;
|
||||
loop {
|
||||
var_1 = 2u;
|
||||
var_1 = 3u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
|
||||
continuing {
|
||||
var_1 = 7u;
|
||||
}
|
||||
}
|
||||
var_1 = 8u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,37 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 1u ;
|
||||
loop
|
||||
var_1 = 2u ;
|
||||
var_1 = 3u ;
|
||||
switch 42u
|
||||
case 40u
|
||||
var_1 = 40u ;
|
||||
if false
|
||||
else
|
||||
continue ;
|
||||
|
||||
|
||||
default
|
||||
|
||||
|
||||
var_1 = 6u ;
|
||||
|
||||
continuing
|
||||
var_1 = 7u ;
|
||||
|
||||
|
||||
var_1 = 8u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,37 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 1u;
|
||||
loop {
|
||||
var_1 = 2u;
|
||||
var_1 = 3u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
|
||||
continuing {
|
||||
var_1 = 7u;
|
||||
}
|
||||
}
|
||||
var_1 = 8u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,67 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_BranchConditional_SwitchBreak_Continue_OnTrue.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpStore %var %uint_3
|
||||
OpSelectionMerge %79 None
|
||||
OpSwitch %uint_42 %79 40 %40
|
||||
%40 = OpLabel
|
||||
OpStore %var %uint_40
|
||||
OpBranchConditional %5 %80 %79
|
||||
%79 = OpLabel
|
||||
OpStore %var %uint_6
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_7
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpStore %var %uint_8
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 1u;
|
||||
loop {
|
||||
var_1 = 2u;
|
||||
var_1 = 3u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
|
||||
continuing {
|
||||
var_1 = 7u;
|
||||
}
|
||||
}
|
||||
var_1 = 8u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,36 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 1u;
|
||||
loop {
|
||||
var_1 = 2u;
|
||||
var_1 = 3u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
|
||||
continuing {
|
||||
var_1 = 7u;
|
||||
}
|
||||
}
|
||||
var_1 = 8u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,36 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 1u;
|
||||
loop {
|
||||
var_1 = 2u;
|
||||
var_1 = 3u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
|
||||
continuing {
|
||||
var_1 = 7u;
|
||||
}
|
||||
}
|
||||
var_1 = 8u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,36 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
var_1 = 1u ;
|
||||
loop
|
||||
var_1 = 2u ;
|
||||
var_1 = 3u ;
|
||||
switch 42u
|
||||
case 40u
|
||||
var_1 = 40u ;
|
||||
if false
|
||||
continue ;
|
||||
|
||||
|
||||
default
|
||||
|
||||
|
||||
var_1 = 6u ;
|
||||
|
||||
continuing
|
||||
var_1 = 7u ;
|
||||
|
||||
|
||||
var_1 = 8u ;
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,36 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
var_1 = 1u;
|
||||
loop {
|
||||
var_1 = 2u;
|
||||
var_1 = 3u;
|
||||
switch(42u) {
|
||||
case 40u: {
|
||||
var_1 = 40u;
|
||||
if (false) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
var_1 = 6u;
|
||||
|
||||
continuing {
|
||||
var_1 = 7u;
|
||||
}
|
||||
}
|
||||
var_1 = 8u;
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,54 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_Branch_BackEdge_MultiBlockLoop.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
loop {
|
||||
|
||||
continuing {
|
||||
var_1 = 1u;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,21 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
loop {
|
||||
|
||||
continuing {
|
||||
var_1 = 1u;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,21 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
loop {
|
||||
|
||||
continuing {
|
||||
var_1 = 1u;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,21 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
loop
|
||||
|
||||
continuing
|
||||
var_1 = 1u ;
|
||||
|
||||
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,21 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
loop {
|
||||
|
||||
continuing {
|
||||
var_1 = 1u;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,52 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_Branch_BackEdge_SingleBlockLoop.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpLoopMerge %99 %20 None
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,18 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,18 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,18 +0,0 @@
|
|||
SKIP FAILED
|
||||
|
||||
|
||||
var private var_1 u32 ;
|
||||
|
||||
fn main_1
|
||||
loop
|
||||
var_1 = 1u ;
|
||||
|
||||
return ;
|
||||
|
||||
|
||||
stage fragment
|
||||
fn main
|
||||
main_1 ;
|
||||
|
||||
|
||||
error loop does not exit
|
|
@ -1,18 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
loop {
|
||||
var_1 = 1u;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,63 +0,0 @@
|
|||
; Test: SpvParserCFGTest_EmitBody_Branch_LoopContinue_BeforeLast.spvasm
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||
; Bound: 1000
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical Simple
|
||||
OpEntryPoint Fragment %100 "main"
|
||||
OpExecutionMode %100 OriginUpperLeft
|
||||
OpName %var "var"
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%5 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%false = OpConstantFalse %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%int = OpTypeInt 32 1
|
||||
%uint_42 = OpConstant %uint 42
|
||||
%int_42 = OpConstant %int 42
|
||||
%13 = OpTypeFunction %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%uint_20 = OpConstant %uint 20
|
||||
%uint_30 = OpConstant %uint 30
|
||||
%uint_40 = OpConstant %uint 40
|
||||
%uint_50 = OpConstant %uint 50
|
||||
%uint_90 = OpConstant %uint 90
|
||||
%uint_99 = OpConstant %uint 99
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%var = OpVariable %_ptr_Private_uint Private
|
||||
%uint_999 = OpConstant %uint 999
|
||||
%100 = OpFunction %void None %3
|
||||
%10 = OpLabel
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpLoopMerge %99 %80 None
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
OpSelectionMerge %50 None
|
||||
OpBranchConditional %5 %40 %50
|
||||
%40 = OpLabel
|
||||
OpStore %var %uint_1
|
||||
OpBranch %80
|
||||
%50 = OpLabel
|
||||
OpStore %var %uint_2
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
OpStore %var %uint_3
|
||||
OpBranch %20
|
||||
%99 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
loop {
|
||||
if (false) {
|
||||
var_1 = 1u;
|
||||
continue;
|
||||
}
|
||||
var_1 = 2u;
|
||||
|
||||
continuing {
|
||||
var_1 = 3u;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,26 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
loop {
|
||||
if (false) {
|
||||
var_1 = 1u;
|
||||
continue;
|
||||
}
|
||||
var_1 = 2u;
|
||||
|
||||
continuing {
|
||||
var_1 = 3u;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
|
@ -1,26 +0,0 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<private> var_1 : u32;
|
||||
|
||||
fn main_1() {
|
||||
loop {
|
||||
if (false) {
|
||||
var_1 = 1u;
|
||||
continue;
|
||||
}
|
||||
var_1 = 2u;
|
||||
|
||||
continuing {
|
||||
var_1 = 3u;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@stage(fragment)
|
||||
fn main() {
|
||||
main_1();
|
||||
}
|
||||
|
||||
error: loop does not exit
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue