Update spirv unittests missing entry point interface.
Several of the SPIR-V unittests check various IO attributes by assuming
that the reader will turn then into variables regardless of usage. The
new IR reader looks at the `OpEntryPoint` interface to determine if the
variable should be created.
Update the tests to make sure the needed IO variables are in the
interface of the entry point so they don't get stripped from the
resulting WGSL.
Bug: 42250952
Change-Id: I1ea24d28a64ec3d49f313b762ada315e75c9840a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/246674
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Input_OppositeSignednessAsWGSL.spvasm b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Input_OppositeSignednessAsWGSL.spvasm
index 2867363..16de36a 100644
--- a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Input_OppositeSignednessAsWGSL.spvasm
+++ b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Input_OppositeSignednessAsWGSL.spvasm
@@ -6,9 +6,9 @@
; Schema: 0
OpCapability Shader
OpMemoryModel Logical Simple
-OpEntryPoint Fragment %2 "main"
-OpExecutionMode %2 OriginUpperLeft
+OpEntryPoint Vertex %2 "main" %gl_VertexIndex %gl_Position
OpDecorate %gl_VertexIndex BuiltIn VertexIndex
+OpDecorate %gl_Position BuiltIn Position
%void = OpTypeVoid
%4 = OpTypeFunction %void
%bool = OpTypeBool
@@ -35,7 +35,9 @@
%mat3v2float = OpTypeMatrix %v2float 3
%_arr_uint_uint_2 = OpTypeArray %uint %uint_2
%_ptr_Input_int = OpTypePointer Input %int
+%_ptr_Output_v4float = OpTypePointer Output %v4float
%gl_VertexIndex = OpVariable %_ptr_Input_int Input
+%gl_Position = OpVariable %_ptr_Output_v4float Output
%2 = OpFunction %void None %4
%29 = OpLabel
OpReturn
diff --git a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Input_SameSignednessAsWGSL.spvasm b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Input_SameSignednessAsWGSL.spvasm
index f13e790..d3c4e46 100644
--- a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Input_SameSignednessAsWGSL.spvasm
+++ b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Input_SameSignednessAsWGSL.spvasm
@@ -6,9 +6,9 @@
; Schema: 0
OpCapability Shader
OpMemoryModel Logical Simple
-OpEntryPoint Fragment %2 "main"
-OpExecutionMode %2 OriginUpperLeft
+OpEntryPoint Vertex %2 "main" %gl_VertexIndex %gl_Position
OpDecorate %gl_VertexIndex BuiltIn VertexIndex
+OpDecorate %gl_Position BuiltIn Position
%void = OpTypeVoid
%4 = OpTypeFunction %void
%bool = OpTypeBool
@@ -35,7 +35,9 @@
%mat3v2float = OpTypeMatrix %v2float 3
%_arr_uint_uint_2 = OpTypeArray %uint %uint_2
%_ptr_Input_uint = OpTypePointer Input %uint
+%_ptr_Output_v4float = OpTypePointer Output %v4float
%gl_VertexIndex = OpVariable %_ptr_Input_uint Input
+%gl_Position = OpVariable %_ptr_Output_v4float Output
%2 = OpFunction %void None %4
%29 = OpLabel
OpReturn
diff --git a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Output_Initializer_OppositeSignednessAsWGSL.spvasm b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Output_Initializer_OppositeSignednessAsWGSL.spvasm
index 3d574a4..9534bbf 100644
--- a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Output_Initializer_OppositeSignednessAsWGSL.spvasm
+++ b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Output_Initializer_OppositeSignednessAsWGSL.spvasm
@@ -6,7 +6,7 @@
; Schema: 0
OpCapability Shader
OpMemoryModel Logical Simple
-OpEntryPoint Fragment %2 "main"
+OpEntryPoint Fragment %2 "main" %gl_SampleMask
OpExecutionMode %2 OriginUpperLeft
OpDecorate %gl_SampleMask BuiltIn SampleMask
%void = OpTypeVoid
diff --git a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Output_Initializer_SameSignednessAsWGSL.spvasm b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Output_Initializer_SameSignednessAsWGSL.spvasm
index b5b0d32..08a172e 100644
--- a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Output_Initializer_SameSignednessAsWGSL.spvasm
+++ b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_Builtin_Output_Initializer_SameSignednessAsWGSL.spvasm
@@ -6,7 +6,7 @@
; Schema: 0
OpCapability Shader
OpMemoryModel Logical Simple
-OpEntryPoint Fragment %2 "main"
+OpEntryPoint Fragment %2 "main" %gl_SampleMask
OpExecutionMode %2 OriginUpperLeft
OpDecorate %gl_SampleMask BuiltIn SampleMask
%void = OpTypeVoid
diff --git a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_InputVarsConvertedToPrivate.spvasm b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_InputVarsConvertedToPrivate.spvasm
index 0a681c9..802337d 100644
--- a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_InputVarsConvertedToPrivate.spvasm
+++ b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_InputVarsConvertedToPrivate.spvasm
@@ -6,7 +6,7 @@
; Schema: 0
OpCapability Shader
OpMemoryModel Logical Simple
-OpEntryPoint Fragment %2 "main"
+OpEntryPoint Fragment %2 "main" ; No interface entries, expect var to be dropped
OpExecutionMode %2 OriginUpperLeft
%void = OpTypeVoid
%4 = OpTypeFunction %void
diff --git a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_OutputVarsConvertedToPrivate.spvasm b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_OutputVarsConvertedToPrivate.spvasm
index f0d1d72..ab2cd85 100644
--- a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_OutputVarsConvertedToPrivate.spvasm
+++ b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_OutputVarsConvertedToPrivate.spvasm
@@ -6,7 +6,7 @@
; Schema: 0
OpCapability Shader
OpMemoryModel Logical Simple
-OpEntryPoint Fragment %2 "main"
+OpEntryPoint Fragment %2 "main" ; Output not in interface, so the var can be dropped
OpExecutionMode %2 OriginUpperLeft
%void = OpTypeVoid
%4 = OpTypeFunction %void
diff --git a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_OutputVarsConvertedToPrivate_WithInitializer.spvasm b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_OutputVarsConvertedToPrivate_WithInitializer.spvasm
index 4aecc89..3d711ff 100644
--- a/test/tint/unittest/reader/SpvModuleScopeVarParserTest_OutputVarsConvertedToPrivate_WithInitializer.spvasm
+++ b/test/tint/unittest/reader/SpvModuleScopeVarParserTest_OutputVarsConvertedToPrivate_WithInitializer.spvasm
@@ -6,7 +6,7 @@
; Schema: 0
OpCapability Shader
OpMemoryModel Logical Simple
-OpEntryPoint Fragment %2 "main"
+OpEntryPoint Fragment %2 "main" ; Output not in interface so the var can be dropped
OpExecutionMode %2 OriginUpperLeft
%void = OpTypeVoid
%4 = OpTypeFunction %void