writer/spirv: Fix emission of select()
The argument order between WGSL and SPIR-V is different (condition is first in SPIR-V, last in WGSL) Fixed: tint:560 Change-Id: I56c659c441292e05f71a24d96dbc9f93f25b71f0 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/53620 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: James Price <jrprice@google.com>
This commit is contained in:
parent
d7255e37f6
commit
dfcc7b5714
|
@ -2349,9 +2349,22 @@ uint32_t Builder::GenerateIntrinsic(ast::CallExpression* call,
|
||||||
case IntrinsicType::kReverseBits:
|
case IntrinsicType::kReverseBits:
|
||||||
op = spv::Op::OpBitReverse;
|
op = spv::Op::OpBitReverse;
|
||||||
break;
|
break;
|
||||||
case IntrinsicType::kSelect:
|
case IntrinsicType::kSelect: {
|
||||||
op = spv::Op::OpSelect;
|
// Note: Argument order is different in WGSL and SPIR-V
|
||||||
break;
|
auto cond_id = get_param_as_value_id(2);
|
||||||
|
auto true_id = get_param_as_value_id(0);
|
||||||
|
auto false_id = get_param_as_value_id(1);
|
||||||
|
if (!cond_id || !true_id || !false_id) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (!push_function_inst(
|
||||||
|
spv::Op::OpSelect,
|
||||||
|
{Operand::Int(result_type_id), result, Operand::Int(cond_id),
|
||||||
|
Operand::Int(true_id), Operand::Int(false_id)})) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return result_id;
|
||||||
|
}
|
||||||
default: {
|
default: {
|
||||||
auto set_id = GetGLSLstd450Import();
|
auto set_id = GetGLSLstd450Import();
|
||||||
auto inst_id = intrinsic_to_glsl_method(intrinsic);
|
auto inst_id = intrinsic_to_glsl_method(intrinsic);
|
||||||
|
|
|
@ -509,9 +509,9 @@ TEST_F(IntrinsicBuilderTest, Call_Select) {
|
||||||
%6 = OpVariable %7 Private %10
|
%6 = OpVariable %7 Private %10
|
||||||
)");
|
)");
|
||||||
EXPECT_EQ(DumpInstructions(b.functions()[0].instructions()),
|
EXPECT_EQ(DumpInstructions(b.functions()[0].instructions()),
|
||||||
R"(%12 = OpLoad %3 %1
|
R"(%12 = OpLoad %8 %6
|
||||||
%13 = OpLoad %3 %1
|
%13 = OpLoad %3 %1
|
||||||
%14 = OpLoad %8 %6
|
%14 = OpLoad %3 %1
|
||||||
%11 = OpSelect %3 %12 %13 %14
|
%11 = OpSelect %3 %12 %13 %14
|
||||||
)");
|
)");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,64 +1,72 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 28
|
; Bound: 37
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
|
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||||
OpExecutionMode %fragment_main OriginUpperLeft
|
OpExecutionMode %fragment_main OriginUpperLeft
|
||||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||||
OpName %tint_pointsize "tint_pointsize"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
OpName %select_00b848 "select_00b848"
|
OpName %select_00b848 "select_00b848"
|
||||||
OpName %res "res"
|
OpName %res "res"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vertex_main "vertex_main"
|
OpName %vertex_main "vertex_main"
|
||||||
OpName %fragment_main "fragment_main"
|
OpName %fragment_main "fragment_main"
|
||||||
OpName %compute_main "compute_main"
|
OpName %compute_main "compute_main"
|
||||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Output_float = OpTypePointer Output %float
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
%4 = OpConstantNull %float
|
%4 = OpConstantNull %float
|
||||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%5 = OpTypeFunction %void
|
%9 = OpTypeFunction %void
|
||||||
%int = OpTypeInt 32 1
|
%int = OpTypeInt 32 1
|
||||||
%v2int = OpTypeVector %int 2
|
%v2int = OpTypeVector %int 2
|
||||||
%12 = OpConstantNull %v2int
|
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%v2bool = OpTypeVector %bool 2
|
%v2bool = OpTypeVector %bool 2
|
||||||
%15 = OpConstantNull %v2bool
|
%18 = OpConstantNull %v2bool
|
||||||
|
%19 = OpConstantNull %v2int
|
||||||
%_ptr_Function_v2int = OpTypePointer Function %v2int
|
%_ptr_Function_v2int = OpTypePointer Function %v2int
|
||||||
|
%22 = OpTypeFunction %void %v4float
|
||||||
%float_1 = OpConstant %float 1
|
%float_1 = OpConstant %float 1
|
||||||
%select_00b848 = OpFunction %void None %5
|
%select_00b848 = OpFunction %void None %9
|
||||||
%8 = OpLabel
|
%12 = OpLabel
|
||||||
%res = OpVariable %_ptr_Function_v2int Function %12
|
%res = OpVariable %_ptr_Function_v2int Function %19
|
||||||
%9 = OpSelect %v2int %12 %12 %15
|
%13 = OpSelect %v2int %18 %19 %19
|
||||||
OpStore %res %9
|
OpStore %res %13
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vertex_main = OpFunction %void None %5
|
%tint_symbol_2 = OpFunction %void None %22
|
||||||
%19 = OpLabel
|
%tint_symbol = OpFunctionParameter %v4float
|
||||||
|
%25 = OpLabel
|
||||||
|
OpStore %tint_symbol_1 %tint_symbol
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%vertex_main = OpFunction %void None %9
|
||||||
|
%27 = OpLabel
|
||||||
OpStore %tint_pointsize %float_1
|
OpStore %tint_pointsize %float_1
|
||||||
%21 = OpFunctionCall %void %select_00b848
|
%29 = OpFunctionCall %void %select_00b848
|
||||||
|
%30 = OpFunctionCall %void %tint_symbol_2 %8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%fragment_main = OpFunction %void None %5
|
%fragment_main = OpFunction %void None %9
|
||||||
%23 = OpLabel
|
%32 = OpLabel
|
||||||
%24 = OpFunctionCall %void %select_00b848
|
%33 = OpFunctionCall %void %select_00b848
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%compute_main = OpFunction %void None %5
|
%compute_main = OpFunction %void None %9
|
||||||
%26 = OpLabel
|
%35 = OpLabel
|
||||||
%27 = OpFunctionCall %void %select_00b848
|
%36 = OpFunctionCall %void %select_00b848
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Validation Failure:
|
|
||||||
1:1: Expected bool scalar or vector type as condition: Select
|
|
||||||
%9 = OpSelect %v2int %12 %12 %15
|
|
||||||
|
|
||||||
|
|
|
@ -1,64 +1,72 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 28
|
; Bound: 37
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
|
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||||
OpExecutionMode %fragment_main OriginUpperLeft
|
OpExecutionMode %fragment_main OriginUpperLeft
|
||||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||||
OpName %tint_pointsize "tint_pointsize"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
OpName %select_01e2cd "select_01e2cd"
|
OpName %select_01e2cd "select_01e2cd"
|
||||||
OpName %res "res"
|
OpName %res "res"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vertex_main "vertex_main"
|
OpName %vertex_main "vertex_main"
|
||||||
OpName %fragment_main "fragment_main"
|
OpName %fragment_main "fragment_main"
|
||||||
OpName %compute_main "compute_main"
|
OpName %compute_main "compute_main"
|
||||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Output_float = OpTypePointer Output %float
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
%4 = OpConstantNull %float
|
%4 = OpConstantNull %float
|
||||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%5 = OpTypeFunction %void
|
%9 = OpTypeFunction %void
|
||||||
%int = OpTypeInt 32 1
|
%int = OpTypeInt 32 1
|
||||||
%v3int = OpTypeVector %int 3
|
%v3int = OpTypeVector %int 3
|
||||||
%12 = OpConstantNull %v3int
|
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%v3bool = OpTypeVector %bool 3
|
%v3bool = OpTypeVector %bool 3
|
||||||
%15 = OpConstantNull %v3bool
|
%18 = OpConstantNull %v3bool
|
||||||
|
%19 = OpConstantNull %v3int
|
||||||
%_ptr_Function_v3int = OpTypePointer Function %v3int
|
%_ptr_Function_v3int = OpTypePointer Function %v3int
|
||||||
|
%22 = OpTypeFunction %void %v4float
|
||||||
%float_1 = OpConstant %float 1
|
%float_1 = OpConstant %float 1
|
||||||
%select_01e2cd = OpFunction %void None %5
|
%select_01e2cd = OpFunction %void None %9
|
||||||
%8 = OpLabel
|
%12 = OpLabel
|
||||||
%res = OpVariable %_ptr_Function_v3int Function %12
|
%res = OpVariable %_ptr_Function_v3int Function %19
|
||||||
%9 = OpSelect %v3int %12 %12 %15
|
%13 = OpSelect %v3int %18 %19 %19
|
||||||
OpStore %res %9
|
OpStore %res %13
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vertex_main = OpFunction %void None %5
|
%tint_symbol_2 = OpFunction %void None %22
|
||||||
%19 = OpLabel
|
%tint_symbol = OpFunctionParameter %v4float
|
||||||
|
%25 = OpLabel
|
||||||
|
OpStore %tint_symbol_1 %tint_symbol
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%vertex_main = OpFunction %void None %9
|
||||||
|
%27 = OpLabel
|
||||||
OpStore %tint_pointsize %float_1
|
OpStore %tint_pointsize %float_1
|
||||||
%21 = OpFunctionCall %void %select_01e2cd
|
%29 = OpFunctionCall %void %select_01e2cd
|
||||||
|
%30 = OpFunctionCall %void %tint_symbol_2 %8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%fragment_main = OpFunction %void None %5
|
%fragment_main = OpFunction %void None %9
|
||||||
%23 = OpLabel
|
%32 = OpLabel
|
||||||
%24 = OpFunctionCall %void %select_01e2cd
|
%33 = OpFunctionCall %void %select_01e2cd
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%compute_main = OpFunction %void None %5
|
%compute_main = OpFunction %void None %9
|
||||||
%26 = OpLabel
|
%35 = OpLabel
|
||||||
%27 = OpFunctionCall %void %select_01e2cd
|
%36 = OpFunctionCall %void %select_01e2cd
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Validation Failure:
|
|
||||||
1:1: Expected bool scalar or vector type as condition: Select
|
|
||||||
%9 = OpSelect %v3int %12 %12 %15
|
|
||||||
|
|
||||||
|
|
|
@ -1,64 +1,72 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 28
|
; Bound: 37
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
|
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||||
OpExecutionMode %fragment_main OriginUpperLeft
|
OpExecutionMode %fragment_main OriginUpperLeft
|
||||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||||
OpName %tint_pointsize "tint_pointsize"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
OpName %select_1e960b "select_1e960b"
|
OpName %select_1e960b "select_1e960b"
|
||||||
OpName %res "res"
|
OpName %res "res"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vertex_main "vertex_main"
|
OpName %vertex_main "vertex_main"
|
||||||
OpName %fragment_main "fragment_main"
|
OpName %fragment_main "fragment_main"
|
||||||
OpName %compute_main "compute_main"
|
OpName %compute_main "compute_main"
|
||||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Output_float = OpTypePointer Output %float
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
%4 = OpConstantNull %float
|
%4 = OpConstantNull %float
|
||||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%5 = OpTypeFunction %void
|
%9 = OpTypeFunction %void
|
||||||
%uint = OpTypeInt 32 0
|
%uint = OpTypeInt 32 0
|
||||||
%v2uint = OpTypeVector %uint 2
|
%v2uint = OpTypeVector %uint 2
|
||||||
%12 = OpConstantNull %v2uint
|
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%v2bool = OpTypeVector %bool 2
|
%v2bool = OpTypeVector %bool 2
|
||||||
%15 = OpConstantNull %v2bool
|
%18 = OpConstantNull %v2bool
|
||||||
|
%19 = OpConstantNull %v2uint
|
||||||
%_ptr_Function_v2uint = OpTypePointer Function %v2uint
|
%_ptr_Function_v2uint = OpTypePointer Function %v2uint
|
||||||
|
%22 = OpTypeFunction %void %v4float
|
||||||
%float_1 = OpConstant %float 1
|
%float_1 = OpConstant %float 1
|
||||||
%select_1e960b = OpFunction %void None %5
|
%select_1e960b = OpFunction %void None %9
|
||||||
%8 = OpLabel
|
%12 = OpLabel
|
||||||
%res = OpVariable %_ptr_Function_v2uint Function %12
|
%res = OpVariable %_ptr_Function_v2uint Function %19
|
||||||
%9 = OpSelect %v2uint %12 %12 %15
|
%13 = OpSelect %v2uint %18 %19 %19
|
||||||
OpStore %res %9
|
OpStore %res %13
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vertex_main = OpFunction %void None %5
|
%tint_symbol_2 = OpFunction %void None %22
|
||||||
%19 = OpLabel
|
%tint_symbol = OpFunctionParameter %v4float
|
||||||
|
%25 = OpLabel
|
||||||
|
OpStore %tint_symbol_1 %tint_symbol
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%vertex_main = OpFunction %void None %9
|
||||||
|
%27 = OpLabel
|
||||||
OpStore %tint_pointsize %float_1
|
OpStore %tint_pointsize %float_1
|
||||||
%21 = OpFunctionCall %void %select_1e960b
|
%29 = OpFunctionCall %void %select_1e960b
|
||||||
|
%30 = OpFunctionCall %void %tint_symbol_2 %8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%fragment_main = OpFunction %void None %5
|
%fragment_main = OpFunction %void None %9
|
||||||
%23 = OpLabel
|
%32 = OpLabel
|
||||||
%24 = OpFunctionCall %void %select_1e960b
|
%33 = OpFunctionCall %void %select_1e960b
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%compute_main = OpFunction %void None %5
|
%compute_main = OpFunction %void None %9
|
||||||
%26 = OpLabel
|
%35 = OpLabel
|
||||||
%27 = OpFunctionCall %void %select_1e960b
|
%36 = OpFunctionCall %void %select_1e960b
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Validation Failure:
|
|
||||||
1:1: Expected bool scalar or vector type as condition: Select
|
|
||||||
%9 = OpSelect %v2uint %12 %12 %15
|
|
||||||
|
|
||||||
|
|
|
@ -1,63 +1,71 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 27
|
; Bound: 36
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
|
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||||
OpExecutionMode %fragment_main OriginUpperLeft
|
OpExecutionMode %fragment_main OriginUpperLeft
|
||||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||||
OpName %tint_pointsize "tint_pointsize"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
OpName %select_266aff "select_266aff"
|
OpName %select_266aff "select_266aff"
|
||||||
OpName %res "res"
|
OpName %res "res"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vertex_main "vertex_main"
|
OpName %vertex_main "vertex_main"
|
||||||
OpName %fragment_main "fragment_main"
|
OpName %fragment_main "fragment_main"
|
||||||
OpName %compute_main "compute_main"
|
OpName %compute_main "compute_main"
|
||||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Output_float = OpTypePointer Output %float
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
%4 = OpConstantNull %float
|
%4 = OpConstantNull %float
|
||||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%5 = OpTypeFunction %void
|
%9 = OpTypeFunction %void
|
||||||
%v2float = OpTypeVector %float 2
|
%v2float = OpTypeVector %float 2
|
||||||
%11 = OpConstantNull %v2float
|
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%v2bool = OpTypeVector %bool 2
|
%v2bool = OpTypeVector %bool 2
|
||||||
%14 = OpConstantNull %v2bool
|
%17 = OpConstantNull %v2bool
|
||||||
|
%18 = OpConstantNull %v2float
|
||||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||||
|
%21 = OpTypeFunction %void %v4float
|
||||||
%float_1 = OpConstant %float 1
|
%float_1 = OpConstant %float 1
|
||||||
%select_266aff = OpFunction %void None %5
|
%select_266aff = OpFunction %void None %9
|
||||||
%8 = OpLabel
|
%12 = OpLabel
|
||||||
%res = OpVariable %_ptr_Function_v2float Function %11
|
%res = OpVariable %_ptr_Function_v2float Function %18
|
||||||
%9 = OpSelect %v2float %11 %11 %14
|
%13 = OpSelect %v2float %17 %18 %18
|
||||||
OpStore %res %9
|
OpStore %res %13
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vertex_main = OpFunction %void None %5
|
%tint_symbol_2 = OpFunction %void None %21
|
||||||
%18 = OpLabel
|
%tint_symbol = OpFunctionParameter %v4float
|
||||||
|
%24 = OpLabel
|
||||||
|
OpStore %tint_symbol_1 %tint_symbol
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%vertex_main = OpFunction %void None %9
|
||||||
|
%26 = OpLabel
|
||||||
OpStore %tint_pointsize %float_1
|
OpStore %tint_pointsize %float_1
|
||||||
%20 = OpFunctionCall %void %select_266aff
|
%28 = OpFunctionCall %void %select_266aff
|
||||||
|
%29 = OpFunctionCall %void %tint_symbol_2 %8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%fragment_main = OpFunction %void None %5
|
%fragment_main = OpFunction %void None %9
|
||||||
%22 = OpLabel
|
%31 = OpLabel
|
||||||
%23 = OpFunctionCall %void %select_266aff
|
%32 = OpFunctionCall %void %select_266aff
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%compute_main = OpFunction %void None %5
|
%compute_main = OpFunction %void None %9
|
||||||
%25 = OpLabel
|
%34 = OpLabel
|
||||||
%26 = OpFunctionCall %void %select_266aff
|
%35 = OpFunctionCall %void %select_266aff
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Validation Failure:
|
|
||||||
1:1: Expected bool scalar or vector type as condition: Select
|
|
||||||
%9 = OpSelect %v2float %11 %11 %14
|
|
||||||
|
|
||||||
|
|
|
@ -1,64 +1,72 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 28
|
; Bound: 37
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
|
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||||
OpExecutionMode %fragment_main OriginUpperLeft
|
OpExecutionMode %fragment_main OriginUpperLeft
|
||||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||||
OpName %tint_pointsize "tint_pointsize"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
OpName %select_28a27e "select_28a27e"
|
OpName %select_28a27e "select_28a27e"
|
||||||
OpName %res "res"
|
OpName %res "res"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vertex_main "vertex_main"
|
OpName %vertex_main "vertex_main"
|
||||||
OpName %fragment_main "fragment_main"
|
OpName %fragment_main "fragment_main"
|
||||||
OpName %compute_main "compute_main"
|
OpName %compute_main "compute_main"
|
||||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Output_float = OpTypePointer Output %float
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
%4 = OpConstantNull %float
|
%4 = OpConstantNull %float
|
||||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%5 = OpTypeFunction %void
|
%9 = OpTypeFunction %void
|
||||||
%uint = OpTypeInt 32 0
|
%uint = OpTypeInt 32 0
|
||||||
%v3uint = OpTypeVector %uint 3
|
%v3uint = OpTypeVector %uint 3
|
||||||
%12 = OpConstantNull %v3uint
|
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%v3bool = OpTypeVector %bool 3
|
%v3bool = OpTypeVector %bool 3
|
||||||
%15 = OpConstantNull %v3bool
|
%18 = OpConstantNull %v3bool
|
||||||
|
%19 = OpConstantNull %v3uint
|
||||||
%_ptr_Function_v3uint = OpTypePointer Function %v3uint
|
%_ptr_Function_v3uint = OpTypePointer Function %v3uint
|
||||||
|
%22 = OpTypeFunction %void %v4float
|
||||||
%float_1 = OpConstant %float 1
|
%float_1 = OpConstant %float 1
|
||||||
%select_28a27e = OpFunction %void None %5
|
%select_28a27e = OpFunction %void None %9
|
||||||
%8 = OpLabel
|
%12 = OpLabel
|
||||||
%res = OpVariable %_ptr_Function_v3uint Function %12
|
%res = OpVariable %_ptr_Function_v3uint Function %19
|
||||||
%9 = OpSelect %v3uint %12 %12 %15
|
%13 = OpSelect %v3uint %18 %19 %19
|
||||||
OpStore %res %9
|
OpStore %res %13
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vertex_main = OpFunction %void None %5
|
%tint_symbol_2 = OpFunction %void None %22
|
||||||
%19 = OpLabel
|
%tint_symbol = OpFunctionParameter %v4float
|
||||||
|
%25 = OpLabel
|
||||||
|
OpStore %tint_symbol_1 %tint_symbol
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%vertex_main = OpFunction %void None %9
|
||||||
|
%27 = OpLabel
|
||||||
OpStore %tint_pointsize %float_1
|
OpStore %tint_pointsize %float_1
|
||||||
%21 = OpFunctionCall %void %select_28a27e
|
%29 = OpFunctionCall %void %select_28a27e
|
||||||
|
%30 = OpFunctionCall %void %tint_symbol_2 %8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%fragment_main = OpFunction %void None %5
|
%fragment_main = OpFunction %void None %9
|
||||||
%23 = OpLabel
|
%32 = OpLabel
|
||||||
%24 = OpFunctionCall %void %select_28a27e
|
%33 = OpFunctionCall %void %select_28a27e
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%compute_main = OpFunction %void None %5
|
%compute_main = OpFunction %void None %9
|
||||||
%26 = OpLabel
|
%35 = OpLabel
|
||||||
%27 = OpFunctionCall %void %select_28a27e
|
%36 = OpFunctionCall %void %select_28a27e
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Validation Failure:
|
|
||||||
1:1: Expected bool scalar or vector type as condition: Select
|
|
||||||
%9 = OpSelect %v3uint %12 %12 %15
|
|
||||||
|
|
||||||
|
|
|
@ -1,60 +1,68 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 24
|
; Bound: 33
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
|
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||||
OpExecutionMode %fragment_main OriginUpperLeft
|
OpExecutionMode %fragment_main OriginUpperLeft
|
||||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||||
OpName %tint_pointsize "tint_pointsize"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
OpName %select_416e14 "select_416e14"
|
OpName %select_416e14 "select_416e14"
|
||||||
OpName %res "res"
|
OpName %res "res"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vertex_main "vertex_main"
|
OpName %vertex_main "vertex_main"
|
||||||
OpName %fragment_main "fragment_main"
|
OpName %fragment_main "fragment_main"
|
||||||
OpName %compute_main "compute_main"
|
OpName %compute_main "compute_main"
|
||||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Output_float = OpTypePointer Output %float
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
%4 = OpConstantNull %float
|
%4 = OpConstantNull %float
|
||||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%5 = OpTypeFunction %void
|
%9 = OpTypeFunction %void
|
||||||
%float_1 = OpConstant %float 1
|
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%12 = OpConstantNull %bool
|
%15 = OpConstantNull %bool
|
||||||
|
%float_1 = OpConstant %float 1
|
||||||
%_ptr_Function_float = OpTypePointer Function %float
|
%_ptr_Function_float = OpTypePointer Function %float
|
||||||
%select_416e14 = OpFunction %void None %5
|
%19 = OpTypeFunction %void %v4float
|
||||||
%8 = OpLabel
|
%select_416e14 = OpFunction %void None %9
|
||||||
|
%12 = OpLabel
|
||||||
%res = OpVariable %_ptr_Function_float Function %4
|
%res = OpVariable %_ptr_Function_float Function %4
|
||||||
%9 = OpSelect %float %float_1 %float_1 %12
|
%13 = OpSelect %float %15 %float_1 %float_1
|
||||||
OpStore %res %9
|
OpStore %res %13
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vertex_main = OpFunction %void None %5
|
%tint_symbol_2 = OpFunction %void None %19
|
||||||
%16 = OpLabel
|
%tint_symbol = OpFunctionParameter %v4float
|
||||||
OpStore %tint_pointsize %float_1
|
|
||||||
%17 = OpFunctionCall %void %select_416e14
|
|
||||||
OpReturn
|
|
||||||
OpFunctionEnd
|
|
||||||
%fragment_main = OpFunction %void None %5
|
|
||||||
%19 = OpLabel
|
|
||||||
%20 = OpFunctionCall %void %select_416e14
|
|
||||||
OpReturn
|
|
||||||
OpFunctionEnd
|
|
||||||
%compute_main = OpFunction %void None %5
|
|
||||||
%22 = OpLabel
|
%22 = OpLabel
|
||||||
%23 = OpFunctionCall %void %select_416e14
|
OpStore %tint_symbol_1 %tint_symbol
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%vertex_main = OpFunction %void None %9
|
||||||
|
%24 = OpLabel
|
||||||
|
OpStore %tint_pointsize %float_1
|
||||||
|
%25 = OpFunctionCall %void %select_416e14
|
||||||
|
%26 = OpFunctionCall %void %tint_symbol_2 %8
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%fragment_main = OpFunction %void None %9
|
||||||
|
%28 = OpLabel
|
||||||
|
%29 = OpFunctionCall %void %select_416e14
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%compute_main = OpFunction %void None %9
|
||||||
|
%31 = OpLabel
|
||||||
|
%32 = OpFunctionCall %void %select_416e14
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Validation Failure:
|
|
||||||
1:1: Expected bool scalar or vector type as condition: Select
|
|
||||||
%9 = OpSelect %float %float_1 %float_1 %12
|
|
||||||
|
|
||||||
|
|
|
@ -1,63 +1,71 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 27
|
; Bound: 36
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
|
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||||
OpExecutionMode %fragment_main OriginUpperLeft
|
OpExecutionMode %fragment_main OriginUpperLeft
|
||||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||||
OpName %tint_pointsize "tint_pointsize"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
OpName %select_99f883 "select_99f883"
|
OpName %select_99f883 "select_99f883"
|
||||||
OpName %res "res"
|
OpName %res "res"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vertex_main "vertex_main"
|
OpName %vertex_main "vertex_main"
|
||||||
OpName %fragment_main "fragment_main"
|
OpName %fragment_main "fragment_main"
|
||||||
OpName %compute_main "compute_main"
|
OpName %compute_main "compute_main"
|
||||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Output_float = OpTypePointer Output %float
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
%4 = OpConstantNull %float
|
%4 = OpConstantNull %float
|
||||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%5 = OpTypeFunction %void
|
%9 = OpTypeFunction %void
|
||||||
%uint = OpTypeInt 32 0
|
%uint = OpTypeInt 32 0
|
||||||
%uint_1 = OpConstant %uint 1
|
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%13 = OpConstantNull %bool
|
%16 = OpConstantNull %bool
|
||||||
|
%uint_1 = OpConstant %uint 1
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%16 = OpConstantNull %uint
|
%20 = OpConstantNull %uint
|
||||||
|
%21 = OpTypeFunction %void %v4float
|
||||||
%float_1 = OpConstant %float 1
|
%float_1 = OpConstant %float 1
|
||||||
%select_99f883 = OpFunction %void None %5
|
%select_99f883 = OpFunction %void None %9
|
||||||
%8 = OpLabel
|
%12 = OpLabel
|
||||||
%res = OpVariable %_ptr_Function_uint Function %16
|
%res = OpVariable %_ptr_Function_uint Function %20
|
||||||
%9 = OpSelect %uint %uint_1 %uint_1 %13
|
%13 = OpSelect %uint %16 %uint_1 %uint_1
|
||||||
OpStore %res %9
|
OpStore %res %13
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vertex_main = OpFunction %void None %5
|
%tint_symbol_2 = OpFunction %void None %21
|
||||||
%18 = OpLabel
|
%tint_symbol = OpFunctionParameter %v4float
|
||||||
|
%24 = OpLabel
|
||||||
|
OpStore %tint_symbol_1 %tint_symbol
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%vertex_main = OpFunction %void None %9
|
||||||
|
%26 = OpLabel
|
||||||
OpStore %tint_pointsize %float_1
|
OpStore %tint_pointsize %float_1
|
||||||
%20 = OpFunctionCall %void %select_99f883
|
%28 = OpFunctionCall %void %select_99f883
|
||||||
|
%29 = OpFunctionCall %void %tint_symbol_2 %8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%fragment_main = OpFunction %void None %5
|
%fragment_main = OpFunction %void None %9
|
||||||
%22 = OpLabel
|
%31 = OpLabel
|
||||||
%23 = OpFunctionCall %void %select_99f883
|
%32 = OpFunctionCall %void %select_99f883
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%compute_main = OpFunction %void None %5
|
%compute_main = OpFunction %void None %9
|
||||||
%25 = OpLabel
|
%34 = OpLabel
|
||||||
%26 = OpFunctionCall %void %select_99f883
|
%35 = OpFunctionCall %void %select_99f883
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Validation Failure:
|
|
||||||
1:1: Expected bool scalar or vector type as condition: Select
|
|
||||||
%9 = OpSelect %uint %uint_1 %uint_1 %13
|
|
||||||
|
|
||||||
|
|
|
@ -1,64 +1,72 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 28
|
; Bound: 37
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
|
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||||
OpExecutionMode %fragment_main OriginUpperLeft
|
OpExecutionMode %fragment_main OriginUpperLeft
|
||||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||||
OpName %tint_pointsize "tint_pointsize"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
OpName %select_a2860e "select_a2860e"
|
OpName %select_a2860e "select_a2860e"
|
||||||
OpName %res "res"
|
OpName %res "res"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vertex_main "vertex_main"
|
OpName %vertex_main "vertex_main"
|
||||||
OpName %fragment_main "fragment_main"
|
OpName %fragment_main "fragment_main"
|
||||||
OpName %compute_main "compute_main"
|
OpName %compute_main "compute_main"
|
||||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Output_float = OpTypePointer Output %float
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
%4 = OpConstantNull %float
|
%4 = OpConstantNull %float
|
||||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%5 = OpTypeFunction %void
|
%9 = OpTypeFunction %void
|
||||||
%int = OpTypeInt 32 1
|
%int = OpTypeInt 32 1
|
||||||
%v4int = OpTypeVector %int 4
|
%v4int = OpTypeVector %int 4
|
||||||
%12 = OpConstantNull %v4int
|
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%v4bool = OpTypeVector %bool 4
|
%v4bool = OpTypeVector %bool 4
|
||||||
%15 = OpConstantNull %v4bool
|
%18 = OpConstantNull %v4bool
|
||||||
|
%19 = OpConstantNull %v4int
|
||||||
%_ptr_Function_v4int = OpTypePointer Function %v4int
|
%_ptr_Function_v4int = OpTypePointer Function %v4int
|
||||||
|
%22 = OpTypeFunction %void %v4float
|
||||||
%float_1 = OpConstant %float 1
|
%float_1 = OpConstant %float 1
|
||||||
%select_a2860e = OpFunction %void None %5
|
%select_a2860e = OpFunction %void None %9
|
||||||
%8 = OpLabel
|
%12 = OpLabel
|
||||||
%res = OpVariable %_ptr_Function_v4int Function %12
|
%res = OpVariable %_ptr_Function_v4int Function %19
|
||||||
%9 = OpSelect %v4int %12 %12 %15
|
%13 = OpSelect %v4int %18 %19 %19
|
||||||
OpStore %res %9
|
OpStore %res %13
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vertex_main = OpFunction %void None %5
|
%tint_symbol_2 = OpFunction %void None %22
|
||||||
%19 = OpLabel
|
%tint_symbol = OpFunctionParameter %v4float
|
||||||
|
%25 = OpLabel
|
||||||
|
OpStore %tint_symbol_1 %tint_symbol
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%vertex_main = OpFunction %void None %9
|
||||||
|
%27 = OpLabel
|
||||||
OpStore %tint_pointsize %float_1
|
OpStore %tint_pointsize %float_1
|
||||||
%21 = OpFunctionCall %void %select_a2860e
|
%29 = OpFunctionCall %void %select_a2860e
|
||||||
|
%30 = OpFunctionCall %void %tint_symbol_2 %8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%fragment_main = OpFunction %void None %5
|
%fragment_main = OpFunction %void None %9
|
||||||
%23 = OpLabel
|
%32 = OpLabel
|
||||||
%24 = OpFunctionCall %void %select_a2860e
|
%33 = OpFunctionCall %void %select_a2860e
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%compute_main = OpFunction %void None %5
|
%compute_main = OpFunction %void None %9
|
||||||
%26 = OpLabel
|
%35 = OpLabel
|
||||||
%27 = OpFunctionCall %void %select_a2860e
|
%36 = OpFunctionCall %void %select_a2860e
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Validation Failure:
|
|
||||||
1:1: Expected bool scalar or vector type as condition: Select
|
|
||||||
%9 = OpSelect %v4int %12 %12 %15
|
|
||||||
|
|
||||||
|
|
|
@ -1,63 +1,69 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 27
|
; Bound: 34
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
|
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||||
OpExecutionMode %fragment_main OriginUpperLeft
|
OpExecutionMode %fragment_main OriginUpperLeft
|
||||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||||
OpName %tint_pointsize "tint_pointsize"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
OpName %select_bb8aae "select_bb8aae"
|
OpName %select_bb8aae "select_bb8aae"
|
||||||
OpName %res "res"
|
OpName %res "res"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vertex_main "vertex_main"
|
OpName %vertex_main "vertex_main"
|
||||||
OpName %fragment_main "fragment_main"
|
OpName %fragment_main "fragment_main"
|
||||||
OpName %compute_main "compute_main"
|
OpName %compute_main "compute_main"
|
||||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Output_float = OpTypePointer Output %float
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
%4 = OpConstantNull %float
|
%4 = OpConstantNull %float
|
||||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
%void = OpTypeVoid
|
|
||||||
%5 = OpTypeFunction %void
|
|
||||||
%v4float = OpTypeVector %float 4
|
%v4float = OpTypeVector %float 4
|
||||||
%11 = OpConstantNull %v4float
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%9 = OpTypeFunction %void
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%v4bool = OpTypeVector %bool 4
|
%v4bool = OpTypeVector %bool 4
|
||||||
%14 = OpConstantNull %v4bool
|
%16 = OpConstantNull %v4bool
|
||||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||||
|
%19 = OpTypeFunction %void %v4float
|
||||||
%float_1 = OpConstant %float 1
|
%float_1 = OpConstant %float 1
|
||||||
%select_bb8aae = OpFunction %void None %5
|
%select_bb8aae = OpFunction %void None %9
|
||||||
%8 = OpLabel
|
%12 = OpLabel
|
||||||
%res = OpVariable %_ptr_Function_v4float Function %11
|
%res = OpVariable %_ptr_Function_v4float Function %8
|
||||||
%9 = OpSelect %v4float %11 %11 %14
|
%13 = OpSelect %v4float %16 %8 %8
|
||||||
OpStore %res %9
|
OpStore %res %13
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vertex_main = OpFunction %void None %5
|
%tint_symbol_2 = OpFunction %void None %19
|
||||||
%18 = OpLabel
|
%tint_symbol = OpFunctionParameter %v4float
|
||||||
OpStore %tint_pointsize %float_1
|
|
||||||
%20 = OpFunctionCall %void %select_bb8aae
|
|
||||||
OpReturn
|
|
||||||
OpFunctionEnd
|
|
||||||
%fragment_main = OpFunction %void None %5
|
|
||||||
%22 = OpLabel
|
%22 = OpLabel
|
||||||
%23 = OpFunctionCall %void %select_bb8aae
|
OpStore %tint_symbol_1 %tint_symbol
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%compute_main = OpFunction %void None %5
|
%vertex_main = OpFunction %void None %9
|
||||||
%25 = OpLabel
|
%24 = OpLabel
|
||||||
|
OpStore %tint_pointsize %float_1
|
||||||
%26 = OpFunctionCall %void %select_bb8aae
|
%26 = OpFunctionCall %void %select_bb8aae
|
||||||
|
%27 = OpFunctionCall %void %tint_symbol_2 %8
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%fragment_main = OpFunction %void None %9
|
||||||
|
%29 = OpLabel
|
||||||
|
%30 = OpFunctionCall %void %select_bb8aae
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%compute_main = OpFunction %void None %9
|
||||||
|
%32 = OpLabel
|
||||||
|
%33 = OpFunctionCall %void %select_bb8aae
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Validation Failure:
|
|
||||||
1:1: Expected bool scalar or vector type as condition: Select
|
|
||||||
%9 = OpSelect %v4float %11 %11 %14
|
|
||||||
|
|
||||||
|
|
|
@ -1,64 +1,72 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 28
|
; Bound: 37
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
|
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||||
OpExecutionMode %fragment_main OriginUpperLeft
|
OpExecutionMode %fragment_main OriginUpperLeft
|
||||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||||
OpName %tint_pointsize "tint_pointsize"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
OpName %select_c4a4ef "select_c4a4ef"
|
OpName %select_c4a4ef "select_c4a4ef"
|
||||||
OpName %res "res"
|
OpName %res "res"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vertex_main "vertex_main"
|
OpName %vertex_main "vertex_main"
|
||||||
OpName %fragment_main "fragment_main"
|
OpName %fragment_main "fragment_main"
|
||||||
OpName %compute_main "compute_main"
|
OpName %compute_main "compute_main"
|
||||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Output_float = OpTypePointer Output %float
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
%4 = OpConstantNull %float
|
%4 = OpConstantNull %float
|
||||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%5 = OpTypeFunction %void
|
%9 = OpTypeFunction %void
|
||||||
%uint = OpTypeInt 32 0
|
%uint = OpTypeInt 32 0
|
||||||
%v4uint = OpTypeVector %uint 4
|
%v4uint = OpTypeVector %uint 4
|
||||||
%12 = OpConstantNull %v4uint
|
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%v4bool = OpTypeVector %bool 4
|
%v4bool = OpTypeVector %bool 4
|
||||||
%15 = OpConstantNull %v4bool
|
%18 = OpConstantNull %v4bool
|
||||||
|
%19 = OpConstantNull %v4uint
|
||||||
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
|
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
|
||||||
|
%22 = OpTypeFunction %void %v4float
|
||||||
%float_1 = OpConstant %float 1
|
%float_1 = OpConstant %float 1
|
||||||
%select_c4a4ef = OpFunction %void None %5
|
%select_c4a4ef = OpFunction %void None %9
|
||||||
%8 = OpLabel
|
%12 = OpLabel
|
||||||
%res = OpVariable %_ptr_Function_v4uint Function %12
|
%res = OpVariable %_ptr_Function_v4uint Function %19
|
||||||
%9 = OpSelect %v4uint %12 %12 %15
|
%13 = OpSelect %v4uint %18 %19 %19
|
||||||
OpStore %res %9
|
OpStore %res %13
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vertex_main = OpFunction %void None %5
|
%tint_symbol_2 = OpFunction %void None %22
|
||||||
%19 = OpLabel
|
%tint_symbol = OpFunctionParameter %v4float
|
||||||
|
%25 = OpLabel
|
||||||
|
OpStore %tint_symbol_1 %tint_symbol
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%vertex_main = OpFunction %void None %9
|
||||||
|
%27 = OpLabel
|
||||||
OpStore %tint_pointsize %float_1
|
OpStore %tint_pointsize %float_1
|
||||||
%21 = OpFunctionCall %void %select_c4a4ef
|
%29 = OpFunctionCall %void %select_c4a4ef
|
||||||
|
%30 = OpFunctionCall %void %tint_symbol_2 %8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%fragment_main = OpFunction %void None %5
|
%fragment_main = OpFunction %void None %9
|
||||||
%23 = OpLabel
|
%32 = OpLabel
|
||||||
%24 = OpFunctionCall %void %select_c4a4ef
|
%33 = OpFunctionCall %void %select_c4a4ef
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%compute_main = OpFunction %void None %5
|
%compute_main = OpFunction %void None %9
|
||||||
%26 = OpLabel
|
%35 = OpLabel
|
||||||
%27 = OpFunctionCall %void %select_c4a4ef
|
%36 = OpFunctionCall %void %select_c4a4ef
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Validation Failure:
|
|
||||||
1:1: Expected bool scalar or vector type as condition: Select
|
|
||||||
%9 = OpSelect %v4uint %12 %12 %15
|
|
||||||
|
|
||||||
|
|
|
@ -1,63 +1,71 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 27
|
; Bound: 36
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
|
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||||
OpExecutionMode %fragment_main OriginUpperLeft
|
OpExecutionMode %fragment_main OriginUpperLeft
|
||||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||||
OpName %tint_pointsize "tint_pointsize"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
OpName %select_ebfea2 "select_ebfea2"
|
OpName %select_ebfea2 "select_ebfea2"
|
||||||
OpName %res "res"
|
OpName %res "res"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vertex_main "vertex_main"
|
OpName %vertex_main "vertex_main"
|
||||||
OpName %fragment_main "fragment_main"
|
OpName %fragment_main "fragment_main"
|
||||||
OpName %compute_main "compute_main"
|
OpName %compute_main "compute_main"
|
||||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Output_float = OpTypePointer Output %float
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
%4 = OpConstantNull %float
|
%4 = OpConstantNull %float
|
||||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%5 = OpTypeFunction %void
|
%9 = OpTypeFunction %void
|
||||||
%v3float = OpTypeVector %float 3
|
%v3float = OpTypeVector %float 3
|
||||||
%11 = OpConstantNull %v3float
|
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%v3bool = OpTypeVector %bool 3
|
%v3bool = OpTypeVector %bool 3
|
||||||
%14 = OpConstantNull %v3bool
|
%17 = OpConstantNull %v3bool
|
||||||
|
%18 = OpConstantNull %v3float
|
||||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||||
|
%21 = OpTypeFunction %void %v4float
|
||||||
%float_1 = OpConstant %float 1
|
%float_1 = OpConstant %float 1
|
||||||
%select_ebfea2 = OpFunction %void None %5
|
%select_ebfea2 = OpFunction %void None %9
|
||||||
%8 = OpLabel
|
%12 = OpLabel
|
||||||
%res = OpVariable %_ptr_Function_v3float Function %11
|
%res = OpVariable %_ptr_Function_v3float Function %18
|
||||||
%9 = OpSelect %v3float %11 %11 %14
|
%13 = OpSelect %v3float %17 %18 %18
|
||||||
OpStore %res %9
|
OpStore %res %13
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vertex_main = OpFunction %void None %5
|
%tint_symbol_2 = OpFunction %void None %21
|
||||||
%18 = OpLabel
|
%tint_symbol = OpFunctionParameter %v4float
|
||||||
|
%24 = OpLabel
|
||||||
|
OpStore %tint_symbol_1 %tint_symbol
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%vertex_main = OpFunction %void None %9
|
||||||
|
%26 = OpLabel
|
||||||
OpStore %tint_pointsize %float_1
|
OpStore %tint_pointsize %float_1
|
||||||
%20 = OpFunctionCall %void %select_ebfea2
|
%28 = OpFunctionCall %void %select_ebfea2
|
||||||
|
%29 = OpFunctionCall %void %tint_symbol_2 %8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%fragment_main = OpFunction %void None %5
|
%fragment_main = OpFunction %void None %9
|
||||||
%22 = OpLabel
|
%31 = OpLabel
|
||||||
%23 = OpFunctionCall %void %select_ebfea2
|
%32 = OpFunctionCall %void %select_ebfea2
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%compute_main = OpFunction %void None %5
|
%compute_main = OpFunction %void None %9
|
||||||
%25 = OpLabel
|
%34 = OpLabel
|
||||||
%26 = OpFunctionCall %void %select_ebfea2
|
%35 = OpFunctionCall %void %select_ebfea2
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Validation Failure:
|
|
||||||
1:1: Expected bool scalar or vector type as condition: Select
|
|
||||||
%9 = OpSelect %v3float %11 %11 %14
|
|
||||||
|
|
||||||
|
|
|
@ -1,63 +1,71 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 27
|
; Bound: 36
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
|
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||||
OpExecutionMode %fragment_main OriginUpperLeft
|
OpExecutionMode %fragment_main OriginUpperLeft
|
||||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||||
OpName %tint_pointsize "tint_pointsize"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
OpName %select_ed8a15 "select_ed8a15"
|
OpName %select_ed8a15 "select_ed8a15"
|
||||||
OpName %res "res"
|
OpName %res "res"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vertex_main "vertex_main"
|
OpName %vertex_main "vertex_main"
|
||||||
OpName %fragment_main "fragment_main"
|
OpName %fragment_main "fragment_main"
|
||||||
OpName %compute_main "compute_main"
|
OpName %compute_main "compute_main"
|
||||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Output_float = OpTypePointer Output %float
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
%4 = OpConstantNull %float
|
%4 = OpConstantNull %float
|
||||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%5 = OpTypeFunction %void
|
%9 = OpTypeFunction %void
|
||||||
%int = OpTypeInt 32 1
|
%int = OpTypeInt 32 1
|
||||||
%int_1 = OpConstant %int 1
|
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%13 = OpConstantNull %bool
|
%16 = OpConstantNull %bool
|
||||||
|
%int_1 = OpConstant %int 1
|
||||||
%_ptr_Function_int = OpTypePointer Function %int
|
%_ptr_Function_int = OpTypePointer Function %int
|
||||||
%16 = OpConstantNull %int
|
%20 = OpConstantNull %int
|
||||||
|
%21 = OpTypeFunction %void %v4float
|
||||||
%float_1 = OpConstant %float 1
|
%float_1 = OpConstant %float 1
|
||||||
%select_ed8a15 = OpFunction %void None %5
|
%select_ed8a15 = OpFunction %void None %9
|
||||||
%8 = OpLabel
|
%12 = OpLabel
|
||||||
%res = OpVariable %_ptr_Function_int Function %16
|
%res = OpVariable %_ptr_Function_int Function %20
|
||||||
%9 = OpSelect %int %int_1 %int_1 %13
|
%13 = OpSelect %int %16 %int_1 %int_1
|
||||||
OpStore %res %9
|
OpStore %res %13
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vertex_main = OpFunction %void None %5
|
%tint_symbol_2 = OpFunction %void None %21
|
||||||
%18 = OpLabel
|
%tint_symbol = OpFunctionParameter %v4float
|
||||||
|
%24 = OpLabel
|
||||||
|
OpStore %tint_symbol_1 %tint_symbol
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
%vertex_main = OpFunction %void None %9
|
||||||
|
%26 = OpLabel
|
||||||
OpStore %tint_pointsize %float_1
|
OpStore %tint_pointsize %float_1
|
||||||
%20 = OpFunctionCall %void %select_ed8a15
|
%28 = OpFunctionCall %void %select_ed8a15
|
||||||
|
%29 = OpFunctionCall %void %tint_symbol_2 %8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%fragment_main = OpFunction %void None %5
|
%fragment_main = OpFunction %void None %9
|
||||||
%22 = OpLabel
|
%31 = OpLabel
|
||||||
%23 = OpFunctionCall %void %select_ed8a15
|
%32 = OpFunctionCall %void %select_ed8a15
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%compute_main = OpFunction %void None %5
|
%compute_main = OpFunction %void None %9
|
||||||
%25 = OpLabel
|
%34 = OpLabel
|
||||||
%26 = OpFunctionCall %void %select_ed8a15
|
%35 = OpFunctionCall %void %select_ed8a15
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
||||||
|
|
||||||
Validation Failure:
|
|
||||||
1:1: Expected bool scalar or vector type as condition: Select
|
|
||||||
%9 = OpSelect %int %int_1 %int_1 %13
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue