dawn-cmake/test/unittest/reader/spirv
David Neto 889b77a2a1 writer: avoid type breakage during AppendVector
When building a vector via tint::writer::AppendVector, and the
vector argument is already a vector constructor, expand that
vector constructor into its components only when those components
are all scalars.  This avoids a type breakage which can occur with cases
like this:

 vector argument is:
	  vec2<i32>(vec2<u32>(0u,1u))
 scalar argument is:
          2

Before this fix, the result was:
  vec2<i32>(0u, 1u, 2);

But should be this instead:
  vec3<i32>(vec2<u32>(0u,1u),2)

This was noticed in SPIR-V writer output when forming a coordinate
vector from a an unsigned WGSL coordinate vector with a signed array
vector.

Fixed: tint:1048
Change-Id: Id46665739cc23da0ca58b9baabf7b4531b86350b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/60040
Auto-Submit: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-07-28 16:31:36 +00:00
..
ConvertUintCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
ConvertUintCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.hlsl writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
ConvertUintCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
ConvertUintCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
ConvertUintCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.hlsl writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
ConvertUintCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
ConvertUintCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
ConvertUintCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm.expected.hlsl writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
ConvertUintCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm.expected.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
ConvertUintCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_3.spvasm.expected.hlsl writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
ConvertUintCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_4.spvasm.expected.hlsl writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
ImageQuerySize_Arrayed_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.hlsl writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
PreserveIntCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.hlsl writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
PreserveIntCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.hlsl writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromContinueConstructHeader.spvasm.expected.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromContinueConstructTail.spvasm.expected.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_HasBreakIf.spvasm.expected.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_HasBreakUnless.spvasm.expected.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerContinueBreaks.spvasm.expected.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnFalse.spvasm.expected.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
SpvParserCFGTest_EmitBody_Branch_LoopBreak_MultiBlockLoop_FromContinueConstructEnd_Conditional.spvasm.expected.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00
SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.spvasm writer: avoid type breakage during AppendVector 2021-07-28 16:31:36 +00:00