mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-07-03 19:55:56 +00:00
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:
parent
ad8eccea6f
commit
85ca807a00
@ -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) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user