aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp')
-rw-r--r--src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp5
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;
}