mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-07-13 16:45:56 +00:00
D3D12: Remove ComPtr from d3d12::Device::GetD3D12Device()
Accessing the d3d device using COM needlessly refcounts. This is a particular issue in areas that frequently access the d3d device like Populate(). BUG=dawn:155 Change-Id: I24e83093623afd02fa592d8ec0c404b4571c374b Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19703 Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
This commit is contained in:
parent
3741f7373c
commit
319672791e
@ -44,7 +44,7 @@ namespace dawn_native { namespace d3d12 {
|
||||
|
||||
const auto& bindingOffsets = bgl->GetBindingOffsets();
|
||||
|
||||
ID3D12Device* d3d12Device = device->GetD3D12Device().Get();
|
||||
ID3D12Device* d3d12Device = device->GetD3D12Device();
|
||||
|
||||
// It's not necessary to create descriptors in the descriptor heap for dynamic resources.
|
||||
// This is because they are created as root descriptors which are never heap allocated.
|
||||
@ -162,7 +162,7 @@ namespace dawn_native { namespace d3d12 {
|
||||
const BindGroupLayout* bgl = ToBackend(GetLayout());
|
||||
const Serial pendingSerial = device->GetPendingCommandSerial();
|
||||
|
||||
ID3D12Device* d3d12Device = device->GetD3D12Device().Get();
|
||||
ID3D12Device* d3d12Device = device->GetD3D12Device();
|
||||
|
||||
// CPU bindgroups are sparsely allocated across CPU heaps. Instead of doing
|
||||
// simple copies per bindgroup, a single non-simple copy could be issued.
|
||||
|
@ -309,7 +309,7 @@ namespace dawn_native { namespace d3d12 {
|
||||
DAWN_TRY_ASSIGN(rtvHeap,
|
||||
allocator->AllocateCPUHeap(D3D12_DESCRIPTOR_HEAP_TYPE_RTV, rtvCount));
|
||||
ASSERT(rtvHeap.Get() != nullptr);
|
||||
ID3D12Device* d3dDevice = device->GetD3D12Device().Get();
|
||||
ID3D12Device* d3dDevice = device->GetD3D12Device();
|
||||
unsigned int rtvIndex = 0;
|
||||
for (uint32_t i :
|
||||
IterateBitSet(renderPass->attachmentState->GetColorAttachmentsMask())) {
|
||||
|
@ -135,8 +135,8 @@ namespace dawn_native { namespace d3d12 {
|
||||
ShutDownBase();
|
||||
}
|
||||
|
||||
ComPtr<ID3D12Device> Device::GetD3D12Device() const {
|
||||
return mD3d12Device;
|
||||
ID3D12Device* Device::GetD3D12Device() const {
|
||||
return mD3d12Device.Get();
|
||||
}
|
||||
|
||||
ComPtr<ID3D12CommandQueue> Device::GetCommandQueue() const {
|
||||
|
@ -59,7 +59,7 @@ namespace dawn_native { namespace d3d12 {
|
||||
Serial GetLastSubmittedCommandSerial() const final override;
|
||||
MaybeError TickImpl() override;
|
||||
|
||||
ComPtr<ID3D12Device> GetD3D12Device() const;
|
||||
ID3D12Device* GetD3D12Device() const;
|
||||
ComPtr<ID3D12CommandQueue> GetCommandQueue() const;
|
||||
ID3D12SharingContract* GetSharingContract() const;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user