@@ -244,7 +244,6 @@ class DXDevice : public offloadtest::Device {
244244 ComPtr<ID3D12Resource> Upload;
245245 ComPtr<ID3D12Resource> Buffer;
246246 ComPtr<ID3D12Resource> Readback;
247- // In unmapped cases, the Heap lifetime needs to be preserved
248247 ComPtr<ID3D12Heap> Heap;
249248 ResourceSet (ComPtr<ID3D12Resource> Upload, ComPtr<ID3D12Resource> Buffer,
250249 ComPtr<ID3D12Resource> Readback,
@@ -524,7 +523,7 @@ class DXDevice : public offloadtest::Device {
524523 addUploadEndBarrier (IS, Destination, R.isReadWrite ());
525524 }
526525
527- llvm::Expected<ResourceBundle> createUnmappedSRV (Resource &R,
526+ llvm::Expected<ResourceBundle> createReservedSRV (Resource &R,
528527 InvocationState &IS) {
529528 ResourceBundle Bundle;
530529 const uint32_t BufferSize = R.size ();
@@ -537,8 +536,10 @@ class DXDevice : public offloadtest::Device {
537536 for (const auto &ResData : R.BufferPtr ->Data ) {
538537 llvm::outs () << " Creating SRV: { Size = " << BufferSize
539538 << " , Register = t" << R.DXBinding .Register + RegOffset
540- << " , Space = " << R.DXBinding .Space
541- << " , TilesMapped = " << R.TilesMapped << " }\n " ;
539+ << " , Space = " << R.DXBinding .Space ;
540+ if (R.TilesMapped )
541+ llvm::outs () << " , TilesMapped = " << *R.TilesMapped ;
542+ llvm::outs () << " }\n " ;
542543
543544 // Reserved SRV resource
544545 ComPtr<ID3D12Resource> Buffer;
@@ -563,7 +564,7 @@ class DXDevice : public offloadtest::Device {
563564 return Err;
564565
565566 // Tile mapping setup (optional if NumTiles > 0)
566- UINT NumTiles = static_cast <UINT>(R.TilesMapped );
567+ UINT NumTiles = static_cast <UINT>(* R.TilesMapped );
567568 ComPtr<ID3D12Heap> Heap; // optional, only created if NumTiles > 0
568569
569570 if (NumTiles > 0 ) {
@@ -633,8 +634,8 @@ class DXDevice : public offloadtest::Device {
633634 return Bundle;
634635 }
635636
636- llvm::Expected<ResourceBundle> createMappedSRV (Resource &R,
637- InvocationState &IS) {
637+ llvm::Expected<ResourceBundle> createCommittedSRV (Resource &R,
638+ InvocationState &IS) {
638639 ResourceBundle Bundle;
639640
640641 const D3D12_HEAP_PROPERTIES HeapProp =
@@ -685,9 +686,9 @@ class DXDevice : public offloadtest::Device {
685686 }
686687
687688 llvm::Expected<ResourceBundle> createSRV (Resource &R, InvocationState &IS) {
688- if (R.TilesMapped != - 1 )
689- return createUnmappedSRV (R, IS);
690- return createMappedSRV (R, IS);
689+ if (R.TilesMapped )
690+ return createReservedSRV (R, IS);
691+ return createCommittedSRV (R, IS);
691692 }
692693
693694 // returns the next available HeapIdx
@@ -712,7 +713,7 @@ class DXDevice : public offloadtest::Device {
712713 return HeapIdx;
713714 }
714715
715- llvm::Expected<ResourceBundle> createUnmappedUAV (Resource &R,
716+ llvm::Expected<ResourceBundle> createReservedUAV (Resource &R,
716717 InvocationState &IS) {
717718 ResourceBundle Bundle;
718719 const uint32_t BufferSize = getUAVBufferSize (R);
@@ -740,8 +741,10 @@ class DXDevice : public offloadtest::Device {
740741 llvm::outs () << " Creating UAV: { Size = " << BufferSize
741742 << " , Register = u" << R.DXBinding .Register + RegOffset
742743 << " , Space = " << R.DXBinding .Space
743- << " , HasCounter = " << R.HasCounter
744- << " , TilesMapped = " << R.TilesMapped << " }\n " ;
744+ << " , HasCounter = " << R.HasCounter ;
745+ if (R.TilesMapped )
746+ llvm::outs () << " , TilesMapped = " << *R.TilesMapped ;
747+ llvm::outs () << " }\n " ;
745748
746749 // Reserved UAV resource
747750 ComPtr<ID3D12Resource> Buffer;
@@ -776,7 +779,7 @@ class DXDevice : public offloadtest::Device {
776779 return Err;
777780
778781 // Tile mapping setup (optional if NumTiles > 0)
779- UINT NumTiles = static_cast <UINT>(R.TilesMapped );
782+ UINT NumTiles = static_cast <UINT>(* R.TilesMapped );
780783 ComPtr<ID3D12Heap> Heap; // optional, only created if NumTiles > 0
781784
782785 if (NumTiles > 0 ) {
@@ -846,8 +849,8 @@ class DXDevice : public offloadtest::Device {
846849 return Bundle;
847850 }
848851
849- llvm::Expected<ResourceBundle> createFullyMappedUAV (Resource &R,
850- InvocationState &IS) {
852+ llvm::Expected<ResourceBundle> createCommittedUAV (Resource &R,
853+ InvocationState &IS) {
851854 ResourceBundle Bundle;
852855 const uint32_t BufferSize = getUAVBufferSize (R);
853856
@@ -924,9 +927,9 @@ class DXDevice : public offloadtest::Device {
924927 }
925928
926929 llvm::Expected<ResourceBundle> createUAV (Resource &R, InvocationState &IS) {
927- if (R.TilesMapped != - 1 )
928- return createUnmappedUAV (R, IS);
929- return createFullyMappedUAV (R, IS);
930+ if (R.TilesMapped )
931+ return createReservedUAV (R, IS);
932+ return createCommittedUAV (R, IS);
930933 }
931934
932935 // returns the next available HeapIdx
@@ -943,8 +946,11 @@ class DXDevice : public offloadtest::Device {
943946 for (const ResourceSet &RS : ResBundle) {
944947 llvm::outs () << " UAV: HeapIdx = " << HeapIdx << " EltSize = " << EltSize
945948 << " NumElts = " << NumElts
946- << " HasCounter = " << R.HasCounter
947- << " TilesMapped = " << R.TilesMapped << " \n " ;
949+ << " HasCounter = " << R.HasCounter ;
950+ if (R.TilesMapped )
951+ llvm::outs () << " , TilesMapped = " << *R.TilesMapped ;
952+ llvm::outs () << " }\n " ;
953+
948954 D3D12_CPU_DESCRIPTOR_HANDLE UAVHandle = UAVHandleHeapStart;
949955 UAVHandle.ptr += HeapIdx * DescHandleIncSize;
950956 ID3D12Resource *CounterBuffer = R.HasCounter ? RS.Buffer .Get () : nullptr ;
@@ -959,7 +965,7 @@ class DXDevice : public offloadtest::Device {
959965 return (Sz + 255u ) & 0xFFFFFFFFFFFFFF00 ;
960966 }
961967
962- llvm::Expected<ResourceBundle> createUnmappedCBV (Resource &R,
968+ llvm::Expected<ResourceBundle> createReservedCBV (Resource &R,
963969 InvocationState &IS) {
964970 ResourceBundle Bundle;
965971
@@ -983,8 +989,10 @@ class DXDevice : public offloadtest::Device {
983989 for (const auto &ResData : R.BufferPtr ->Data ) {
984990 llvm::outs () << " Creating CBV: { Size = " << BufferSize
985991 << " , Register = b" << R.DXBinding .Register + RegOffset
986- << " , Space = " << R.DXBinding .Space
987- << " , TilesMapped = " << R.TilesMapped << " }\n " ;
992+ << " , Space = " << R.DXBinding .Space ;
993+ if (R.TilesMapped )
994+ llvm::outs () << " , TilesMapped = " << *R.TilesMapped ;
995+ llvm::outs () << " }\n " ;
988996
989997 // Reserved CBV resource
990998 ComPtr<ID3D12Resource> Buffer;
@@ -1008,7 +1016,7 @@ class DXDevice : public offloadtest::Device {
10081016 return Err;
10091017
10101018 // Tile mapping setup (optional if NumTiles > 0)
1011- UINT NumTiles = static_cast <UINT>(R.TilesMapped );
1019+ UINT NumTiles = static_cast <UINT>(* R.TilesMapped );
10121020 ComPtr<ID3D12Heap> Heap; // optional, only created if NumTiles > 0
10131021
10141022 if (NumTiles > 0 ) {
@@ -1078,8 +1086,8 @@ class DXDevice : public offloadtest::Device {
10781086 return Bundle;
10791087 }
10801088
1081- llvm::Expected<ResourceBundle> createFullyMappedCBV (Resource &R,
1082- InvocationState &IS) {
1089+ llvm::Expected<ResourceBundle> createCommittedCBV (Resource &R,
1090+ InvocationState &IS) {
10831091 ResourceBundle Bundle;
10841092
10851093 const size_t CBVSize = getCBVSize (R.size ());
@@ -1147,9 +1155,9 @@ class DXDevice : public offloadtest::Device {
11471155 }
11481156
11491157 llvm::Expected<ResourceBundle> createCBV (Resource &R, InvocationState &IS) {
1150- if (R.TilesMapped != - 1 )
1151- return createUnmappedCBV (R, IS);
1152- return createFullyMappedCBV (R, IS);
1158+ if (R.TilesMapped )
1159+ return createReservedCBV (R, IS);
1160+ return createCommittedCBV (R, IS);
11531161 }
11541162
11551163 // returns the next available HeapIdx
0 commit comments