D3D11: Enable MSAARenderToSingleSampled feature.
Bug: dawn:1710
Change-Id: I95e204786155324c7465302ab8a8527bfbbf2fdc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/144460
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/src/dawn/native/d3d11/DeviceD3D11.cpp b/src/dawn/native/d3d11/DeviceD3D11.cpp
index 7de44ac..7a7c4bc 100644
--- a/src/dawn/native/d3d11/DeviceD3D11.cpp
+++ b/src/dawn/native/d3d11/DeviceD3D11.cpp
@@ -474,6 +474,10 @@
return DeviceBase::GetBufferCopyOffsetAlignmentForDepthStencil();
}
+bool Device::IsResolveTextureBlitWithDrawSupported() const {
+ return true;
+}
+
Ref<TextureBase> Device::CreateD3DExternalTexture(const TextureDescriptor* descriptor,
ComPtr<IUnknown> d3dTexture,
std::vector<Ref<d3d::Fence>> waitFences,
diff --git a/src/dawn/native/d3d11/DeviceD3D11.h b/src/dawn/native/d3d11/DeviceD3D11.h
index 64366e1..d455079 100644
--- a/src/dawn/native/d3d11/DeviceD3D11.h
+++ b/src/dawn/native/d3d11/DeviceD3D11.h
@@ -75,6 +75,7 @@
float GetTimestampPeriodInNS() const override;
bool MayRequireDuplicationOfIndirectParameters() const override;
uint64_t GetBufferCopyOffsetAlignmentForDepthStencil() const override;
+ bool IsResolveTextureBlitWithDrawSupported() const override;
void SetLabelImpl() override;
ResultOrError<Ref<d3d::Fence>> CreateFence(
diff --git a/src/dawn/native/d3d11/PhysicalDeviceD3D11.cpp b/src/dawn/native/d3d11/PhysicalDeviceD3D11.cpp
index b2b1151..9da8f24 100644
--- a/src/dawn/native/d3d11/PhysicalDeviceD3D11.cpp
+++ b/src/dawn/native/d3d11/PhysicalDeviceD3D11.cpp
@@ -138,6 +138,7 @@
EnableFeature(Feature::TextureCompressionBC);
EnableFeature(Feature::SurfaceCapabilities);
EnableFeature(Feature::D3D11MultithreadProtected);
+ EnableFeature(Feature::MSAARenderToSingleSampled);
// To import multi planar textures, we need to at least tier 2 support.
if (mDeviceInfo.supportsSharedResourceCapabilityTier2) {
diff --git a/src/dawn/tests/end2end/MultisampledRenderingTests.cpp b/src/dawn/tests/end2end/MultisampledRenderingTests.cpp
index 4b8fe49..c4e1bd3 100644
--- a/src/dawn/tests/end2end/MultisampledRenderingTests.cpp
+++ b/src/dawn/tests/end2end/MultisampledRenderingTests.cpp
@@ -1531,6 +1531,7 @@
"emulate_store_and_msaa_resolve"}));
DAWN_INSTANTIATE_TEST(MultisampledRenderToSingleSampledTest,
+ D3D11Backend(),
D3D12Backend(),
D3D12Backend({}, {"use_d3d12_resource_heap_tier2"}),
D3D12Backend({}, {"use_d3d12_render_pass"}),