I am trying to render a textured quad. If I just use a heap of type D3D12_HEAP_TYPE_UPLOAD then I can see the texture perfectly. But I want to use a heap of type D3D12_HEAP_TYPE_DEFAULT and use a D3D12_HEAP_TYPE_UPLOAD to copy the data to it.
So everything works when I call:
- CreateCommittedResource(&CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_UPLOAD)... IID_PPV_ARGS(&textureUpload));
- textureUpload->WriteToSubresource(...
- device->CreateDescriptorHeap(...
- device->CreateShaderResourceView(textureUpload.Get()...
With this I see my texture just fine. But when I try to do it like so, I just get a black quad:
- CreateCommittedResource(&CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_DEFAULT)... IID_PPV_ARGS(&texture));
- CreateCommittedResource(&CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_UPLOAD)... IID_PPV_ARGS(&textureUpload));
- UpdateSubresources(commandList, texture.Get(), textureUpload.Get()...
- commandList->ResourceBarrier(...
- device->CreateDescriptorHeap(...
- device->CreateShaderResourceView(texture.Get()...
Is there something blatantly wrong that I'm doing??