@@ -238,9 +238,9 @@ static bool fillInputBuffer(LPCSTR Name, std::vector<BYTE> &Data,
238238}
239239
240240static VariantCompType makeExpectedMat (ComponentType CompType, MatrixDim M,
241- MatrixDim N, float StartingVal,
242- bool Increment = true ,
243- bool Transpose = false ) {
241+ MatrixDim N, float StartingVal,
242+ bool Increment = true ,
243+ bool Transpose = false ) {
244244 const size_t NumElements = M * N;
245245 std::vector<float > Floats (NumElements);
246246 std::vector<int32_t > Ints (NumElements);
@@ -291,10 +291,11 @@ static VariantCompType makeExpectedMat(ComponentType CompType, MatrixDim M,
291291 }
292292}
293293
294- static VariantCompType makeExpectedVec (ComponentType CompType, MatrixDim NumElements,
295- float StartingVal,
296- bool Increment = true ) {
297- return makeExpectedMat (CompType, 1 , NumElements, StartingVal, Increment, false );
294+ static VariantCompType makeExpectedVec (ComponentType CompType,
295+ MatrixDim NumElements, float StartingVal,
296+ bool Increment = true ) {
297+ return makeExpectedMat (CompType, 1 , NumElements, StartingVal, Increment,
298+ false );
298299}
299300
300301class DxilConf_SM610_LinAlg {
@@ -553,18 +554,19 @@ static const char AccumulateDescriptorShader[] = R"(
553554)" ;
554555
555556static void runAccumulateDescriptor (ID3D12Device *Device,
556- dxc::SpecificDllLoader &DxcSupport,
557- const MatrixParams &Params, int FillValue,
558- bool Verbose) {
557+ dxc::SpecificDllLoader &DxcSupport,
558+ const MatrixParams &Params, int FillValue,
559+ bool Verbose) {
559560 const size_t NumElements = Params.totalElements ();
560561 const size_t BufferSize = Params.totalBytes ();
561562
562563 std::string Args = buildCompilerArgs (Params);
563564
564- compileShader (DxcSupport, AccumulateDescriptorShader, " cs_6_10" , Args, Verbose);
565+ compileShader (DxcSupport, AccumulateDescriptorShader, " cs_6_10" , Args,
566+ Verbose);
565567
566- auto Expected =
567- makeExpectedMat (Params. CompType , Params. M , Params. N , static_cast <float >(FillValue) * 2 , false );
568+ auto Expected = makeExpectedMat (Params. CompType , Params. M , Params. N ,
569+ static_cast <float >(FillValue) * 2 , false );
568570
569571 auto Op = createComputeOp (AccumulateDescriptorShader, " cs_6_10" ,
570572 " SRV(t0), UAV(u1)" , Args.c_str ());
@@ -573,14 +575,15 @@ static void runAccumulateDescriptor(ID3D12Device *Device,
573575 addRootUAV (Op.get (), 0 , " Input" );
574576 addRootUAV (Op.get (), 1 , " Output" );
575577
576- auto Result =
577- runShaderOp (Device, DxcSupport, std::move (Op),
578- [NumElements, Params, FillValue](LPCSTR Name, std::vector<BYTE> &Data,
579- st::ShaderOp *) {
580- VERIFY_IS_TRUE (fillInputBuffer (Name, Data, Params.CompType ,
581- NumElements, /* StartingVal=*/ FillValue, /* Increment=*/ false ),
582- " Saw unsupported component type" );
583- });
578+ auto Result = runShaderOp (
579+ Device, DxcSupport, std::move (Op),
580+ [NumElements, Params, FillValue](LPCSTR Name, std::vector<BYTE> &Data,
581+ st::ShaderOp *) {
582+ VERIFY_IS_TRUE (fillInputBuffer (Name, Data, Params.CompType , NumElements,
583+ /* StartingVal=*/ FillValue,
584+ /* Increment=*/ false ),
585+ " Saw unsupported component type" );
586+ });
584587
585588 MappedData OutData;
586589 Result->Test ->GetReadBackData (" Output" , &OutData);
@@ -838,7 +841,7 @@ static void runCopyConvert(ID3D12Device *Device,
838841 compileShader (DxcSupport, CopyConvertShader, " cs_6_10" , Args, Verbose);
839842
840843 auto Expected = makeExpectedMat (Params.CompType , Params.M , Params.N , 1 ,
841- /* Increment=*/ true , Transpose);
844+ /* Increment=*/ true , Transpose);
842845
843846 // Construct the ShaderOp: two UAV buffers, load from one, store to other.
844847 auto Op = createComputeOp (CopyConvertShader, " cs_6_10" , " UAV(u0), UAV(u1)" ,
@@ -942,7 +945,7 @@ static void runMatMatMul(ID3D12Device *Device,
942945 compileShader (DxcSupport, MatMatMulShader, " cs_6_10" , Args, Verbose);
943946
944947 auto Expected = makeExpectedMat (Params.CompType , Params.M , Params.N ,
945- AFill * BFill * K, /* Increment=*/ false );
948+ AFill * BFill * K, /* Increment=*/ false );
946949
947950 auto Op =
948951 createComputeOp (MatMatMulShader, " cs_6_10" , " UAV(u0)" , Args.c_str ());
@@ -1024,8 +1027,9 @@ static void runMatMatMulAccum(ID3D12Device *Device,
10241027
10251028 compileShader (DxcSupport, MatMatMulAccumShader, " cs_6_10" , Args, Verbose);
10261029
1027- auto Expected = makeExpectedMat (Params.CompType , Params.M , Params.N ,
1028- AFill * BFill * K + CFill, /* Increment=*/ false );
1030+ auto Expected =
1031+ makeExpectedMat (Params.CompType , Params.M , Params.N ,
1032+ AFill * BFill * K + CFill, /* Increment=*/ false );
10291033
10301034 auto Op =
10311035 createComputeOp (MatMatMulAccumShader, " cs_6_10" , " UAV(u0)" , Args.c_str ());
@@ -1099,7 +1103,7 @@ static void runMatAccum(ID3D12Device *Device,
10991103 compileShader (DxcSupport, MatAccumShader, " cs_6_10" , Args, Verbose);
11001104
11011105 auto Expected = makeExpectedMat (Params.CompType , Params.M , Params.N ,
1102- LHSFill + RHSFill, /* Increment=*/ false );
1106+ LHSFill + RHSFill, /* Increment=*/ false );
11031107
11041108 auto Op = createComputeOp (MatAccumShader, " cs_6_10" , " UAV(u0)" , Args.c_str ());
11051109 addUAVBuffer (Op.get (), " Output" , BufferSize, true );
@@ -1173,24 +1177,27 @@ static void runMatVecMul(ID3D12Device *Device,
11731177
11741178 compileShader (DxcSupport, MatVecMulShader, " cs_6_10" , Args, Verbose);
11751179
1176- auto Expected = makeExpectedVec (Params.CompType , Params.M ,
1177- static_cast <float >(FillValue * FillValue * Params.N ), /* Increment=*/ false );
1180+ auto Expected =
1181+ makeExpectedVec (Params.CompType , Params.M ,
1182+ static_cast <float >(FillValue * FillValue * Params.N ),
1183+ /* Increment=*/ false );
11781184
1179- auto Op = createComputeOp (MatVecMulShader, " cs_6_10" ,
1180- " SRV(t0), UAV(u1) " , Args.c_str ());
1185+ auto Op = createComputeOp (MatVecMulShader, " cs_6_10" , " SRV(t0), UAV(u1) " ,
1186+ Args.c_str ());
11811187 addUAVBuffer (Op.get (), " Input" , BufferSize, false , " byname" );
11821188 addUAVBuffer (Op.get (), " Output" , BufferSize, true );
11831189 addRootUAV (Op.get (), 0 , " Input" );
11841190 addRootUAV (Op.get (), 1 , " Output" );
11851191
1186- auto Result =
1187- runShaderOp (Device, DxcSupport, std::move (Op),
1188- [NumElements, Params, FillValue](LPCSTR Name, std::vector<BYTE> &Data,
1189- st::ShaderOp *) {
1190- VERIFY_IS_TRUE (fillInputBuffer (Name, Data, Params.CompType ,
1191- NumElements, /* StartingVal=*/ FillValue, /* Increment=*/ false ),
1192- " Saw unsupported component type" );
1193- });
1192+ auto Result = runShaderOp (
1193+ Device, DxcSupport, std::move (Op),
1194+ [NumElements, Params, FillValue](LPCSTR Name, std::vector<BYTE> &Data,
1195+ st::ShaderOp *) {
1196+ VERIFY_IS_TRUE (fillInputBuffer (Name, Data, Params.CompType , NumElements,
1197+ /* StartingVal=*/ FillValue,
1198+ /* Increment=*/ false ),
1199+ " Saw unsupported component type" );
1200+ });
11941201
11951202 MappedData OutData;
11961203 Result->Test ->GetReadBackData (" Output" , &OutData);
@@ -1265,24 +1272,27 @@ static void runMatVecMulAdd(ID3D12Device *Device,
12651272
12661273 compileShader (DxcSupport, MatVecMulAddShader, " cs_6_10" , Args, Verbose);
12671274
1268- auto Expected = makeExpectedVec (Params.CompType , Params.M ,
1269- static_cast <float >(FillValue * FillValue * Params.N + FillValue), /* Increment=*/ false );
1275+ auto Expected = makeExpectedVec (
1276+ Params.CompType , Params.M ,
1277+ static_cast <float >(FillValue * FillValue * Params.N + FillValue),
1278+ /* Increment=*/ false );
12701279
1271- auto Op = createComputeOp (MatVecMulAddShader, " cs_6_10" ,
1272- " SRV(t0), UAV(u1) " , Args.c_str ());
1280+ auto Op = createComputeOp (MatVecMulAddShader, " cs_6_10" , " SRV(t0), UAV(u1) " ,
1281+ Args.c_str ());
12731282 addUAVBuffer (Op.get (), " Input" , BufferSize, false , " byname" );
12741283 addUAVBuffer (Op.get (), " Output" , BufferSize, true );
12751284 addRootUAV (Op.get (), 0 , " Input" );
12761285 addRootUAV (Op.get (), 1 , " Output" );
12771286
1278- auto Result =
1279- runShaderOp (Device, DxcSupport, std::move (Op),
1280- [NumElements, Params, FillValue](LPCSTR Name, std::vector<BYTE> &Data,
1281- st::ShaderOp *) {
1282- VERIFY_IS_TRUE (fillInputBuffer (Name, Data, Params.CompType ,
1283- NumElements, /* StartingVal=*/ FillValue, /* Increment=*/ false ),
1284- " Saw unsupported component type" );
1285- });
1287+ auto Result = runShaderOp (
1288+ Device, DxcSupport, std::move (Op),
1289+ [NumElements, Params, FillValue](LPCSTR Name, std::vector<BYTE> &Data,
1290+ st::ShaderOp *) {
1291+ VERIFY_IS_TRUE (fillInputBuffer (Name, Data, Params.CompType , NumElements,
1292+ /* StartingVal=*/ FillValue,
1293+ /* Increment=*/ false ),
1294+ " Saw unsupported component type" );
1295+ });
12861296
12871297 MappedData OutData;
12881298 Result->Test ->GetReadBackData (" Output" , &OutData);
@@ -1348,8 +1358,8 @@ static void runOuterProduct(ID3D12Device *Device,
13481358
13491359 compileShader (DxcSupport, OuterProductShader, " cs_6_10" , Args, Verbose);
13501360
1351- auto Expected = makeExpectedMat (Params.CompType , Params.M , Params.N ,
1352- 4 , /* Increment=*/ false );
1361+ auto Expected = makeExpectedMat (Params.CompType , Params.M , Params.N , 4 ,
1362+ /* Increment=*/ false );
13531363
13541364 auto Op = createComputeOp (OuterProductShader, " cs_6_10" , " UAV(u0), UAV(u1)" ,
13551365 Args.c_str ());
@@ -1361,8 +1371,9 @@ static void runOuterProduct(ID3D12Device *Device,
13611371 auto Result = runShaderOp (
13621372 Device, DxcSupport, std::move (Op),
13631373 [NumVecElements, Params](LPCSTR Name, std::vector<BYTE> &Data,
1364- st::ShaderOp *) {
1365- VERIFY_IS_TRUE (fillInputBuffer (Name, Data, Params.CompType , NumVecElements,
1374+ st::ShaderOp *) {
1375+ VERIFY_IS_TRUE (fillInputBuffer (Name, Data, Params.CompType ,
1376+ NumVecElements,
13661377 /* StartingVal=*/ 2 , /* Increment=*/ false ),
13671378 " Saw unsupported component type" );
13681379 });
@@ -1397,15 +1408,15 @@ static const char QueryAccumLayoutShader[] = R"(
13971408)" ;
13981409
13991410static void runQueryAccumLayout (ID3D12Device *Device,
1400- dxc::SpecificDllLoader &DxcSupport,
1401- bool Verbose) {
1411+ dxc::SpecificDllLoader &DxcSupport,
1412+ bool Verbose) {
14021413 std::string Args = " -HV 202x" ;
14031414 size_t BufferSize = elementSize (ComponentType::I32);
14041415
14051416 compileShader (DxcSupport, QueryAccumLayoutShader, " cs_6_10" , Args, Verbose);
14061417
1407- auto Op =
1408- createComputeOp (QueryAccumLayoutShader, " cs_6_10 " , " UAV(u0) " , Args.c_str ());
1418+ auto Op = createComputeOp (QueryAccumLayoutShader, " cs_6_10 " , " UAV(u0) " ,
1419+ Args.c_str ());
14091420 addUAVBuffer (Op.get (), " Output" , BufferSize, true );
14101421 addRootUAV (Op.get (), 0 , " Output" );
14111422
@@ -1416,7 +1427,8 @@ static void runQueryAccumLayout(ID3D12Device *Device,
14161427 const uint32_t *Out = static_cast <const uint32_t *>(OutData.data ());
14171428
14181429 // Accum Layout must be A or B
1419- VERIFY_IS_TRUE (Out[0 ] == static_cast <uint32_t >(MatrixUse::A) || Out[0 ] == static_cast <uint32_t >(MatrixUse::B));
1430+ VERIFY_IS_TRUE (Out[0 ] == static_cast <uint32_t >(MatrixUse::A) ||
1431+ Out[0 ] == static_cast <uint32_t >(MatrixUse::B));
14201432 if (Verbose)
14211433 hlsl_test::LogCommentFmt (L" AccumulatorLayout = %u" , Out[0 ]);
14221434}
0 commit comments