test: Add missing stage attributes to IO test
Change-Id: I7f69de9c3b6fe226e0688f56a8d076dc6ec4a81f Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55281 Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: James Price <jrprice@google.com> Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
parent
960aa2ee75
commit
a865b375aa
|
@ -7,10 +7,12 @@ fn foo(x : f32) -> VertexOutput {
|
||||||
return VertexOutput(vec4<f32>(x, x, x, 1.0), 42);
|
return VertexOutput(vec4<f32>(x, x, x, 1.0), 42);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[[stage(vertex)]]
|
||||||
fn vert_main1() -> VertexOutput {
|
fn vert_main1() -> VertexOutput {
|
||||||
return foo(0.5);
|
return foo(0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[[stage(vertex)]]
|
||||||
fn vert_main2() -> VertexOutput {
|
fn vert_main2() -> VertexOutput {
|
||||||
return foo(0.25);
|
return foo(0.25);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,22 +1,31 @@
|
||||||
[numthreads(1, 1, 1)]
|
|
||||||
void unused_entry_point() {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct VertexOutput {
|
struct VertexOutput {
|
||||||
float4 pos;
|
float4 pos;
|
||||||
int loc0;
|
int loc0;
|
||||||
};
|
};
|
||||||
|
|
||||||
VertexOutput foo(float x) {
|
VertexOutput foo(float x) {
|
||||||
const VertexOutput tint_symbol = {float4(x, x, x, 1.0f), 42};
|
const VertexOutput tint_symbol_4 = {float4(x, x, x, 1.0f), 42};
|
||||||
return tint_symbol;
|
return tint_symbol_4;
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexOutput vert_main1() {
|
struct tint_symbol {
|
||||||
return foo(0.5f);
|
int loc0 : TEXCOORD0;
|
||||||
|
float4 pos : SV_Position;
|
||||||
|
};
|
||||||
|
|
||||||
|
tint_symbol vert_main1() {
|
||||||
|
const VertexOutput tint_symbol_1 = foo(0.5f);
|
||||||
|
const tint_symbol tint_symbol_5 = {tint_symbol_1.loc0, tint_symbol_1.pos};
|
||||||
|
return tint_symbol_5;
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexOutput vert_main2() {
|
struct tint_symbol_2 {
|
||||||
return foo(0.25f);
|
int loc0 : TEXCOORD0;
|
||||||
|
float4 pos : SV_Position;
|
||||||
|
};
|
||||||
|
|
||||||
|
tint_symbol_2 vert_main2() {
|
||||||
|
const VertexOutput tint_symbol_3 = foo(0.25f);
|
||||||
|
const tint_symbol_2 tint_symbol_6 = {tint_symbol_3.loc0, tint_symbol_3.pos};
|
||||||
|
return tint_symbol_6;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,17 +5,29 @@ struct VertexOutput {
|
||||||
float4 pos;
|
float4 pos;
|
||||||
int loc0;
|
int loc0;
|
||||||
};
|
};
|
||||||
|
struct tint_symbol {
|
||||||
|
int loc0 [[user(locn0)]];
|
||||||
|
float4 pos [[position]];
|
||||||
|
};
|
||||||
|
struct tint_symbol_2 {
|
||||||
|
int loc0 [[user(locn0)]];
|
||||||
|
float4 pos [[position]];
|
||||||
|
};
|
||||||
|
|
||||||
VertexOutput foo(float x) {
|
VertexOutput foo(float x) {
|
||||||
VertexOutput const tint_symbol = {.pos=float4(x, x, x, 1.0f), .loc0=42};
|
VertexOutput const tint_symbol_4 = {.pos=float4(x, x, x, 1.0f), .loc0=42};
|
||||||
return tint_symbol;
|
return tint_symbol_4;
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexOutput vert_main1() {
|
vertex tint_symbol vert_main1() {
|
||||||
return foo(0.5f);
|
VertexOutput const tint_symbol_1 = foo(0.5f);
|
||||||
|
tint_symbol const tint_symbol_5 = {.loc0=tint_symbol_1.loc0, .pos=tint_symbol_1.pos};
|
||||||
|
return tint_symbol_5;
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexOutput vert_main2() {
|
vertex tint_symbol_2 vert_main2() {
|
||||||
return foo(0.25f);
|
VertexOutput const tint_symbol_3 = foo(0.25f);
|
||||||
|
tint_symbol_2 const tint_symbol_6 = {.loc0=tint_symbol_3.loc0, .pos=tint_symbol_3.pos};
|
||||||
|
return tint_symbol_6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,52 +1,94 @@
|
||||||
; SPIR-V
|
; SPIR-V
|
||||||
; Version: 1.3
|
; Version: 1.3
|
||||||
; Generator: Google Tint Compiler; 0
|
; Generator: Google Tint Compiler; 0
|
||||||
; Bound: 26
|
; Bound: 47
|
||||||
; Schema: 0
|
; Schema: 0
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
OpMemoryModel Logical GLSL450
|
OpMemoryModel Logical GLSL450
|
||||||
OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
|
OpEntryPoint Vertex %vert_main1 "vert_main1" %tint_pointsize %tint_symbol_1 %tint_symbol_2
|
||||||
OpExecutionMode %unused_entry_point LocalSize 1 1 1
|
OpEntryPoint Vertex %vert_main2 "vert_main2" %tint_pointsize %tint_symbol_5 %tint_symbol_6
|
||||||
OpName %unused_entry_point "unused_entry_point"
|
OpName %tint_pointsize "tint_pointsize"
|
||||||
|
OpName %tint_symbol_1 "tint_symbol_1"
|
||||||
|
OpName %tint_symbol_2 "tint_symbol_2"
|
||||||
|
OpName %tint_symbol_5 "tint_symbol_5"
|
||||||
|
OpName %tint_symbol_6 "tint_symbol_6"
|
||||||
OpName %VertexOutput "VertexOutput"
|
OpName %VertexOutput "VertexOutput"
|
||||||
OpMemberName %VertexOutput 0 "pos"
|
OpMemberName %VertexOutput 0 "pos"
|
||||||
OpMemberName %VertexOutput 1 "loc0"
|
OpMemberName %VertexOutput 1 "loc0"
|
||||||
OpName %foo "foo"
|
OpName %foo "foo"
|
||||||
OpName %x "x"
|
OpName %x "x"
|
||||||
|
OpName %tint_symbol_3 "tint_symbol_3"
|
||||||
|
OpName %tint_symbol "tint_symbol"
|
||||||
OpName %vert_main1 "vert_main1"
|
OpName %vert_main1 "vert_main1"
|
||||||
|
OpName %tint_symbol_7 "tint_symbol_7"
|
||||||
|
OpName %tint_symbol_4 "tint_symbol_4"
|
||||||
OpName %vert_main2 "vert_main2"
|
OpName %vert_main2 "vert_main2"
|
||||||
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||||
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||||
|
OpDecorate %tint_symbol_2 Location 0
|
||||||
|
OpDecorate %tint_symbol_5 BuiltIn Position
|
||||||
|
OpDecorate %tint_symbol_6 Location 0
|
||||||
OpMemberDecorate %VertexOutput 0 Offset 0
|
OpMemberDecorate %VertexOutput 0 Offset 0
|
||||||
OpMemberDecorate %VertexOutput 1 Offset 16
|
OpMemberDecorate %VertexOutput 1 Offset 16
|
||||||
%void = OpTypeVoid
|
|
||||||
%1 = OpTypeFunction %void
|
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
|
%_ptr_Output_float = OpTypePointer Output %float
|
||||||
|
%4 = OpConstantNull %float
|
||||||
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||||
%v4float = OpTypeVector %float 4
|
%v4float = OpTypeVector %float 4
|
||||||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||||
|
%8 = OpConstantNull %v4float
|
||||||
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
%int = OpTypeInt 32 1
|
%int = OpTypeInt 32 1
|
||||||
|
%_ptr_Output_int = OpTypePointer Output %int
|
||||||
|
%12 = OpConstantNull %int
|
||||||
|
%tint_symbol_2 = OpVariable %_ptr_Output_int Output %12
|
||||||
|
%tint_symbol_5 = OpVariable %_ptr_Output_v4float Output %8
|
||||||
|
%tint_symbol_6 = OpVariable %_ptr_Output_int Output %12
|
||||||
%VertexOutput = OpTypeStruct %v4float %int
|
%VertexOutput = OpTypeStruct %v4float %int
|
||||||
%5 = OpTypeFunction %VertexOutput %float
|
%15 = OpTypeFunction %VertexOutput %float
|
||||||
%float_1 = OpConstant %float 1
|
%float_1 = OpConstant %float 1
|
||||||
%int_42 = OpConstant %int 42
|
%int_42 = OpConstant %int 42
|
||||||
%17 = OpTypeFunction %VertexOutput
|
%void = OpTypeVoid
|
||||||
|
%24 = OpTypeFunction %void %VertexOutput
|
||||||
|
%31 = OpTypeFunction %void
|
||||||
%float_0_5 = OpConstant %float 0.5
|
%float_0_5 = OpConstant %float 0.5
|
||||||
%float_0_25 = OpConstant %float 0.25
|
%float_0_25 = OpConstant %float 0.25
|
||||||
%unused_entry_point = OpFunction %void None %1
|
%foo = OpFunction %VertexOutput None %15
|
||||||
%4 = OpLabel
|
%x = OpFunctionParameter %float
|
||||||
|
%19 = OpLabel
|
||||||
|
%21 = OpCompositeConstruct %v4float %x %x %x %float_1
|
||||||
|
%23 = OpCompositeConstruct %VertexOutput %21 %int_42
|
||||||
|
OpReturnValue %23
|
||||||
|
OpFunctionEnd
|
||||||
|
%tint_symbol_3 = OpFunction %void None %24
|
||||||
|
%tint_symbol = OpFunctionParameter %VertexOutput
|
||||||
|
%28 = OpLabel
|
||||||
|
%29 = OpCompositeExtract %v4float %tint_symbol 0
|
||||||
|
OpStore %tint_symbol_1 %29
|
||||||
|
%30 = OpCompositeExtract %int %tint_symbol 1
|
||||||
|
OpStore %tint_symbol_2 %30
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%foo = OpFunction %VertexOutput None %5
|
%vert_main1 = OpFunction %void None %31
|
||||||
%x = OpFunctionParameter %float
|
%33 = OpLabel
|
||||||
%12 = OpLabel
|
OpStore %tint_pointsize %float_1
|
||||||
%14 = OpCompositeConstruct %v4float %x %x %x %float_1
|
%35 = OpFunctionCall %VertexOutput %foo %float_0_5
|
||||||
%16 = OpCompositeConstruct %VertexOutput %14 %int_42
|
%34 = OpFunctionCall %void %tint_symbol_3 %35
|
||||||
OpReturnValue %16
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vert_main1 = OpFunction %VertexOutput None %17
|
%tint_symbol_7 = OpFunction %void None %24
|
||||||
%19 = OpLabel
|
%tint_symbol_4 = OpFunctionParameter %VertexOutput
|
||||||
%20 = OpFunctionCall %VertexOutput %foo %float_0_5
|
%39 = OpLabel
|
||||||
OpReturnValue %20
|
%40 = OpCompositeExtract %v4float %tint_symbol_4 0
|
||||||
|
OpStore %tint_symbol_5 %40
|
||||||
|
%41 = OpCompositeExtract %int %tint_symbol_4 1
|
||||||
|
OpStore %tint_symbol_6 %41
|
||||||
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%vert_main2 = OpFunction %VertexOutput None %17
|
%vert_main2 = OpFunction %void None %31
|
||||||
%23 = OpLabel
|
%43 = OpLabel
|
||||||
%24 = OpFunctionCall %VertexOutput %foo %float_0_25
|
OpStore %tint_pointsize %float_1
|
||||||
OpReturnValue %24
|
%45 = OpFunctionCall %VertexOutput %foo %float_0_25
|
||||||
|
%44 = OpFunctionCall %void %tint_symbol_7 %45
|
||||||
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -9,10 +9,12 @@ fn foo(x : f32) -> VertexOutput {
|
||||||
return VertexOutput(vec4<f32>(x, x, x, 1.0), 42);
|
return VertexOutput(vec4<f32>(x, x, x, 1.0), 42);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[[stage(vertex)]]
|
||||||
fn vert_main1() -> VertexOutput {
|
fn vert_main1() -> VertexOutput {
|
||||||
return foo(0.5);
|
return foo(0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[[stage(vertex)]]
|
||||||
fn vert_main2() -> VertexOutput {
|
fn vert_main2() -> VertexOutput {
|
||||||
return foo(0.25);
|
return foo(0.25);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue