spirv-reader: fix unit test validity

Use Private or Function storage instead of Workgroup storage.

Bug: tint:1043
Change-Id: I07055c30c8b89c9661c2a4913b0c03c3dff5a75b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/59562
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: David Neto <dneto@google.com>
This commit is contained in:
David Neto 2021-07-26 18:54:28 +00:00 committed by Tint LUCI CQ
parent ad8eccea6f
commit 85ca807a00

View File

@ -280,8 +280,8 @@ TEST_F(SpvParserMemoryTest, EmitStatement_StoreToModuleScopeVar) {
%voidfn = OpTypeFunction %void %voidfn = OpTypeFunction %void
%ty = OpTypeInt 32 0 %ty = OpTypeInt 32 0
%val = OpConstant %ty 42 %val = OpConstant %ty 42
%ptr_ty = OpTypePointer Workgroup %ty %ptr_ty = OpTypePointer Private %ty
%1 = OpVariable %ptr_ty Workgroup %1 = OpVariable %ptr_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
OpStore %1 %val OpStore %1 %val
@ -298,18 +298,18 @@ TEST_F(SpvParserMemoryTest, EmitStatement_StoreToModuleScopeVar) {
} }
TEST_F(SpvParserMemoryTest, TEST_F(SpvParserMemoryTest,
EmitStatement_CopyMemory_Scalar_Workgroup_To_Private) { EmitStatement_CopyMemory_Scalar_Function_To_Private) {
auto p = parser(test::Assemble(Preamble() + R"( auto p = parser(test::Assemble(Preamble() + R"(
%void = OpTypeVoid %void = OpTypeVoid
%voidfn = OpTypeFunction %void %voidfn = OpTypeFunction %void
%ty = OpTypeInt 32 0 %ty = OpTypeInt 32 0
%val = OpConstant %ty 42 %val = OpConstant %ty 42
%ptr_wg_ty = OpTypePointer Workgroup %ty %ptr_fn_ty = OpTypePointer Function %ty
%ptr_priv_ty = OpTypePointer Private %ty %ptr_priv_ty = OpTypePointer Private %ty
%1 = OpVariable %ptr_wg_ty Workgroup
%2 = OpVariable %ptr_priv_ty Private %2 = OpVariable %ptr_priv_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
%1 = OpVariable %ptr_fn_ty Function
OpCopyMemory %2 %1 OpCopyMemory %2 %1
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
@ -331,8 +331,8 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_NoOperands) {
%voidfn = OpTypeFunction %void %voidfn = OpTypeFunction %void
%ty = OpTypeInt 32 0 %ty = OpTypeInt 32 0
%val = OpConstant %ty 42 %val = OpConstant %ty 42
%ptr_ty = OpTypePointer Workgroup %ty %ptr_ty = OpTypePointer Private %ty
%1 = OpVariable %ptr_ty Workgroup %1 = OpVariable %ptr_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
@ -350,8 +350,8 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_BaseIsNotPointer) {
%voidfn = OpTypeFunction %void %voidfn = OpTypeFunction %void
%10 = OpTypeInt 32 0 %10 = OpTypeInt 32 0
%val = OpConstant %10 42 %val = OpConstant %10 42
%ptr_ty = OpTypePointer Workgroup %10 %ptr_ty = OpTypePointer Private %10
%20 = OpVariable %10 Workgroup ; bad pointer type %20 = OpVariable %10 Private ; bad pointer type
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
%1 = OpAccessChain %ptr_ty %20 %1 = OpAccessChain %ptr_ty %20
@ -371,9 +371,9 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_VectorSwizzle) {
%store_ty = OpTypeVector %uint 4 %store_ty = OpTypeVector %uint 4
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%uint_42 = OpConstant %uint 42 %uint_42 = OpConstant %uint 42
%elem_ty = OpTypePointer Workgroup %uint %elem_ty = OpTypePointer Private %uint
%var_ty = OpTypePointer Workgroup %store_ty %var_ty = OpTypePointer Private %store_ty
%1 = OpVariable %var_ty Workgroup %1 = OpVariable %var_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
%2 = OpAccessChain %elem_ty %1 %uint_2 %2 = OpAccessChain %elem_ty %1 %uint_2
@ -404,9 +404,9 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_VectorConstOutOfBounds) {
%store_ty = OpTypeVector %uint 4 %store_ty = OpTypeVector %uint 4
%42 = OpConstant %uint 42 %42 = OpConstant %uint 42
%uint_99 = OpConstant %uint 99 %uint_99 = OpConstant %uint 99
%elem_ty = OpTypePointer Workgroup %uint %elem_ty = OpTypePointer Private %uint
%var_ty = OpTypePointer Workgroup %store_ty %var_ty = OpTypePointer Private %store_ty
%1 = OpVariable %var_ty Workgroup %1 = OpVariable %var_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
%2 = OpAccessChain %elem_ty %1 %42 %2 = OpAccessChain %elem_ty %1 %42
@ -433,10 +433,10 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_VectorNonConstIndex) {
%store_ty = OpTypeVector %uint 4 %store_ty = OpTypeVector %uint 4
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%uint_42 = OpConstant %uint 42 %uint_42 = OpConstant %uint 42
%elem_ty = OpTypePointer Workgroup %uint %elem_ty = OpTypePointer Private %uint
%var_ty = OpTypePointer Workgroup %store_ty %var_ty = OpTypePointer Private %store_ty
%1 = OpVariable %var_ty Workgroup %1 = OpVariable %var_ty Private
%10 = OpVariable %var_ty Workgroup %10 = OpVariable %var_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
%11 = OpLoad %store_ty %10 %11 = OpLoad %store_ty %10
@ -469,14 +469,14 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_Matrix) {
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%m3v4float = OpTypeMatrix %v4float 3 %m3v4float = OpTypeMatrix %v4float 3
%elem_ty = OpTypePointer Workgroup %v4float %elem_ty = OpTypePointer Private %v4float
%var_ty = OpTypePointer Workgroup %m3v4float %var_ty = OpTypePointer Private %m3v4float
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%float_42 = OpConstant %float 42 %float_42 = OpConstant %float 42
%v4float_42 = OpConstantComposite %v4float %float_42 %float_42 %float_42 %float_42 %v4float_42 = OpConstantComposite %v4float %float_42 %float_42 %float_42 %float_42
%1 = OpVariable %var_ty Workgroup %1 = OpVariable %var_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
%2 = OpAccessChain %elem_ty %1 %uint_2 %2 = OpAccessChain %elem_ty %1 %uint_2
@ -512,14 +512,14 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_Array) {
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%m3v4float = OpTypeMatrix %v4float 3 %m3v4float = OpTypeMatrix %v4float 3
%elem_ty = OpTypePointer Workgroup %v4float %elem_ty = OpTypePointer Private %v4float
%var_ty = OpTypePointer Workgroup %m3v4float %var_ty = OpTypePointer Private %m3v4float
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%float_42 = OpConstant %float 42 %float_42 = OpConstant %float 42
%v4float_42 = OpConstantComposite %v4float %float_42 %float_42 %float_42 %float_42 %v4float_42 = OpConstantComposite %v4float %float_42 %float_42 %float_42 %float_42
%1 = OpVariable %var_ty Workgroup %1 = OpVariable %var_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
%2 = OpAccessChain %elem_ty %1 %uint_2 %2 = OpAccessChain %elem_ty %1 %uint_2
@ -556,12 +556,12 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_Struct) {
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%float_42 = OpConstant %float 42 %float_42 = OpConstant %float 42
%strct = OpTypeStruct %float %float %strct = OpTypeStruct %float %float
%elem_ty = OpTypePointer Workgroup %float %elem_ty = OpTypePointer Private %float
%var_ty = OpTypePointer Workgroup %strct %var_ty = OpTypePointer Private %strct
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%uint_1 = OpConstant %uint 1 %uint_1 = OpConstant %uint 1
%1 = OpVariable %var_ty Workgroup %1 = OpVariable %var_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
%2 = OpAccessChain %elem_ty %1 %uint_1 %2 = OpAccessChain %elem_ty %1 %uint_1
@ -601,14 +601,14 @@ TEST_F(SpvParserMemoryTest,
%float_420 = OpConstant %float 420 %float_420 = OpConstant %float 420
%strct = OpTypeStruct %float %float %strct = OpTypeStruct %float %float
%strct2 = OpTypeStruct %float %float %strct2 = OpTypeStruct %float %float
%elem_ty = OpTypePointer Workgroup %float %elem_ty = OpTypePointer Private %float
%var_ty = OpTypePointer Workgroup %strct %var_ty = OpTypePointer Private %strct
%var2_ty = OpTypePointer Workgroup %strct2 %var2_ty = OpTypePointer Private %strct2
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%uint_1 = OpConstant %uint 1 %uint_1 = OpConstant %uint 1
%1 = OpVariable %var_ty Workgroup %1 = OpVariable %var_ty Private
%10 = OpVariable %var2_ty Workgroup %10 = OpVariable %var2_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
%2 = OpAccessChain %elem_ty %1 %uint_1 %2 = OpAccessChain %elem_ty %1 %uint_1
@ -648,14 +648,14 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_StructNonConstIndex) {
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%float_42 = OpConstant %float 42 %float_42 = OpConstant %float 42
%55 = OpTypeStruct %float %float %55 = OpTypeStruct %float %float
%elem_ty = OpTypePointer Workgroup %float %elem_ty = OpTypePointer Private %float
%var_ty = OpTypePointer Workgroup %55 %var_ty = OpTypePointer Private %55
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%uint_1 = OpConstant %uint 1 %uint_1 = OpConstant %uint 1
%uint_ptr = OpTypePointer Workgroup %uint %uint_ptr = OpTypePointer Private %uint
%uintvar = OpVariable %uint_ptr Workgroup %uintvar = OpVariable %uint_ptr Private
%1 = OpVariable %var_ty Workgroup %1 = OpVariable %var_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
%10 = OpLoad %uint %uintvar %10 = OpLoad %uint %uintvar
@ -682,12 +682,12 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_StructConstOutOfBounds) {
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%float_42 = OpConstant %float 42 %float_42 = OpConstant %float 42
%55 = OpTypeStruct %float %float %55 = OpTypeStruct %float %float
%elem_ty = OpTypePointer Workgroup %float %elem_ty = OpTypePointer Private %float
%var_ty = OpTypePointer Workgroup %55 %var_ty = OpTypePointer Private %55
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%uint_99 = OpConstant %uint 99 %uint_99 = OpConstant %uint 99
%1 = OpVariable %var_ty Workgroup %1 = OpVariable %var_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
%2 = OpAccessChain %elem_ty %1 %uint_99 %2 = OpAccessChain %elem_ty %1 %uint_99
@ -761,14 +761,14 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_Compound_Matrix_Vector) {
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%m3v4float = OpTypeMatrix %v4float 3 %m3v4float = OpTypeMatrix %v4float 3
%elem_ty = OpTypePointer Workgroup %float %elem_ty = OpTypePointer Private %float
%var_ty = OpTypePointer Workgroup %m3v4float %var_ty = OpTypePointer Private %m3v4float
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%uint_3 = OpConstant %uint 3 %uint_3 = OpConstant %uint 3
%float_42 = OpConstant %float 42 %float_42 = OpConstant %float 42
%1 = OpVariable %var_ty Workgroup %1 = OpVariable %var_ty Private
%100 = OpFunction %void None %voidfn %100 = OpFunction %void None %voidfn
%entry = OpLabel %entry = OpLabel
%2 = OpAccessChain %elem_ty %1 %uint_2 %uint_3 %2 = OpAccessChain %elem_ty %1 %uint_2 %uint_3
@ -799,12 +799,12 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_InvalidPointeeType) {
%55 = OpTypeVoid %55 = OpTypeVoid
%voidfn = OpTypeFunction %55 %voidfn = OpTypeFunction %55
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%60 = OpTypePointer Workgroup %55 %60 = OpTypePointer Private %55
%var_ty = OpTypePointer Workgroup %60 %var_ty = OpTypePointer Private %60
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%1 = OpVariable %var_ty Workgroup %1 = OpVariable %var_ty Private
%100 = OpFunction %55 None %voidfn %100 = OpFunction %55 None %voidfn
%entry = OpLabel %entry = OpLabel
%2 = OpAccessChain %60 %1 %uint_2 %2 = OpAccessChain %60 %1 %uint_2
@ -818,7 +818,7 @@ TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_InvalidPointeeType) {
EXPECT_FALSE(fe.EmitBody()); EXPECT_FALSE(fe.EmitBody());
EXPECT_THAT(p->error(), EXPECT_THAT(p->error(),
HasSubstr("Access chain with unknown or invalid pointee type " HasSubstr("Access chain with unknown or invalid pointee type "
"%60: %60 = OpTypePointer Workgroup %55")); "%60: %60 = OpTypePointer Private %55"));
} }
TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_DereferenceBase) { TEST_F(SpvParserMemoryTest, EmitStatement_AccessChain_DereferenceBase) {