diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2016-11-25 13:11:32 +0100 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2016-11-25 15:15:08 +0000 |
commit | 9fdab4a3619f457f66716c74ea73355453557e52 (patch) | |
tree | a0182156cbd1bc309093c2355e8b330d919df80c /src/plugins/scenegraph/d3d12 | |
parent | 5e6bf607ee1e466eebabb7b8114c9f5e8fc40a9e (diff) |
D3D12: Fix RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH
Change-Id: I531d53c81d5ab19bba22f883bc802ecc8d02590d
Task-number: QTBUG-57234
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/plugins/scenegraph/d3d12')
-rw-r--r-- | src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp b/src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp index 44f79ebea7..caf64ebb8b 100644 --- a/src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp +++ b/src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp @@ -1052,8 +1052,11 @@ ID3D12Resource *QSGD3D12EnginePrivate::createColorBuffer(D3D12_CPU_DESCRIPTOR_HA rtDesc.Flags = D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET; ID3D12Resource *resource = nullptr; + const D3D12_RESOURCE_STATES initialState = samples <= 1 + ? D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE + : D3D12_RESOURCE_STATE_RENDER_TARGET; if (FAILED(device->CreateCommittedResource(&heapProp, D3D12_HEAP_FLAG_NONE, &rtDesc, - D3D12_RESOURCE_STATE_RENDER_TARGET, &clearValue, IID_PPV_ARGS(&resource)))) { + initialState, &clearValue, IID_PPV_ARGS(&resource)))) { qWarning("Failed to create offscreen render target of size %dx%d", size.width(), size.height()); return nullptr; } |