Track bound descriptors and mark their contents are frame referenced

This commit is contained in:
baldurk
2016-08-06 18:31:49 +02:00
parent 992c2b56fb
commit a94b6dafb9
5 changed files with 83 additions and 3 deletions
+4 -3
View File
@@ -149,11 +149,12 @@ WrappedID3D12DescriptorHeap::WrappedID3D12DescriptorHeap(ID3D12DescriptorHeap *r
realGPUBase = real->GetGPUDescriptorHandleForHeapStart();
increment = device->GetUnwrappedDescriptorIncrement(desc.Type);
numDescriptors = desc.NumDescriptors;
descriptors = new D3D12Descriptor[desc.NumDescriptors];
descriptors = new D3D12Descriptor[numDescriptors];
RDCEraseMem(descriptors, sizeof(D3D12Descriptor) * desc.NumDescriptors);
for(UINT i = 0; i < desc.NumDescriptors; i++)
RDCEraseMem(descriptors, sizeof(D3D12Descriptor) * numDescriptors);
for(UINT i = 0; i < numDescriptors; i++)
{
// only need to set this once, it's aliased between samp and nonsamp
descriptors[i].samp.heap = this;