Remove the `SurfaceCapabilities` feature.
It is no longer necessary now that wgpu::SwapChain has been replaced
with wgpu::Surface that has a ::GetCapabilities method.
Bug: 42241264
Change-Id: I8d099e90d6e613e3ff023f2e19310fe239d8add7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/209094
Reviewed-by: Loko Kung <lokokung@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn/dawn.json b/src/dawn/dawn.json
index f884cdc..34a84e0 100644
--- a/src/dawn/dawn.json
+++ b/src/dawn/dawn.json
@@ -1773,14 +1773,6 @@
"args": [
{"name": "descriptor", "type": "texture descriptor", "annotation": "const*"}
]
- },
- {
- "name": "get supported surface usage",
- "tags": ["dawn", "native"],
- "returns": "texture usage",
- "args": [
- {"name": "surface", "type": "surface"}
- ]
}
]
},
@@ -2590,7 +2582,7 @@
{"value": 2, "name": "dawn native", "tags": ["dawn", "native"]},
{"value": 3, "name": "chromium experimental timestamp query inside passes", "tags": ["dawn"]},
{"value": 4, "name": "implicit device synchronization", "tags": ["dawn", "native"]},
- {"value": 5, "name": "surface capabilities", "tags": ["dawn", "native"]},
+ {"value": 5, "name": "chromium experimental immediate data", "tags": ["dawn"]},
{"value": 6, "name": "transient attachments", "tags": ["dawn"]},
{"value": 7, "name": "MSAA render to single sampled", "tags": ["dawn"]},
{"value": 8, "name": "dual source blending", "tags": ["dawn"]},
@@ -2643,8 +2635,7 @@
{"value": 53, "name": "dawn load resolve texture", "tags": ["dawn"]},
{"value": 54, "name": "dawn partial load resolve texture", "tags": ["dawn"]},
{"value": 55, "name": "multi draw indirect", "tags": ["dawn"]},
- {"value": 56, "name": "clip distances", "tags": ["dawn"]},
- {"value": 57, "name": "chromium experimental immediate data", "tags": ["dawn"]}
+ {"value": 56, "name": "clip distances", "tags": ["dawn"]}
]
},
"filter mode": {
diff --git a/src/dawn/native/Device.cpp b/src/dawn/native/Device.cpp
index 467678d..343ef36 100644
--- a/src/dawn/native/Device.cpp
+++ b/src/dawn/native/Device.cpp
@@ -1630,15 +1630,6 @@
return ReturnToAPI(std::move(result));
}
-wgpu::TextureUsage DeviceBase::APIGetSupportedSurfaceUsage(Surface* surface) {
- wgpu::TextureUsage result;
- if (ConsumedError(GetSupportedSurfaceUsage(surface), &result,
- "calling %s.GetSupportedSurfaceUsage().", this)) {
- return wgpu::TextureUsage::None;
- }
- return result;
-}
-
// For Dawn Wire
BufferBase* DeviceBase::APICreateErrorBuffer(const BufferDescriptor* desc) {
@@ -2371,23 +2362,6 @@
return CreateTextureViewImpl(texture, descriptor);
}
-ResultOrError<wgpu::TextureUsage> DeviceBase::GetSupportedSurfaceUsage(
- const Surface* surface) const {
- GetInstance()->EmitDeprecationWarning(
- "GetSupportedSurfaceUsage is deprecated, use surface.GetCapabilities(adapter).usages.");
-
- DAWN_TRY(ValidateIsAlive());
-
- if (IsValidationEnabled()) {
- DAWN_INVALID_IF(!HasFeature(Feature::SurfaceCapabilities), "%s is not enabled.",
- wgpu::FeatureName::SurfaceCapabilities);
- }
-
- PhysicalDeviceSurfaceCapabilities caps;
- DAWN_TRY_ASSIGN(caps, GetPhysicalDevice()->GetSurfaceCapabilities(GetInstance(), surface));
- return caps.usages;
-}
-
// Other implementation details
DynamicUploader* DeviceBase::GetDynamicUploader() const {
diff --git a/src/dawn/native/Device.h b/src/dawn/native/Device.h
index 9c1419a..17d5c6e 100644
--- a/src/dawn/native/Device.h
+++ b/src/dawn/native/Device.h
@@ -234,8 +234,6 @@
TextureBase* texture,
const TextureViewDescriptor* descriptor = nullptr);
- ResultOrError<wgpu::TextureUsage> GetSupportedSurfaceUsage(const Surface* surface) const;
-
// Implementation of API object creation methods. DO NOT use them in a reentrant manner.
BindGroupBase* APICreateBindGroup(const BindGroupDescriptor* descriptor);
BindGroupLayoutBase* APICreateBindGroupLayout(const BindGroupLayoutDescriptor* descriptor);
@@ -280,8 +278,6 @@
StringView errorMessage);
TextureBase* APICreateTexture(const TextureDescriptor* descriptor);
- wgpu::TextureUsage APIGetSupportedSurfaceUsage(Surface* surface);
-
InternalPipelineStore* GetInternalPipelineStore();
// For Dawn Wire
diff --git a/src/dawn/native/Features.cpp b/src/dawn/native/Features.cpp
index b2e4905..55870e1 100644
--- a/src/dawn/native/Features.cpp
+++ b/src/dawn/native/Features.cpp
@@ -171,12 +171,6 @@
"https://dawn.googlesource.com/dawn/+/refs/heads/main/docs/dawn/features/"
"implicit_device_synchronization.md",
FeatureInfo::FeatureState::Stable}},
- {Feature::SurfaceCapabilities,
- {"Support querying Surface's capabilities such as supporte usage flags. This feature also "
- "enables swap chain to be created with usage other than RenderAttachment.",
- "https://dawn.googlesource.com/dawn/+/refs/heads/main/docs/dawn/features/"
- "surface_capabilities.md",
- FeatureInfo::FeatureState::Stable}},
{Feature::TransientAttachments,
{"Support transient attachments that allow render pass operations to stay in tile memory, "
"avoiding VRAM traffic and potentially avoiding VRAM allocation for the textures.",
diff --git a/src/dawn/native/d3d11/PhysicalDeviceD3D11.cpp b/src/dawn/native/d3d11/PhysicalDeviceD3D11.cpp
index 0c61875..3c02a53 100644
--- a/src/dawn/native/d3d11/PhysicalDeviceD3D11.cpp
+++ b/src/dawn/native/d3d11/PhysicalDeviceD3D11.cpp
@@ -140,7 +140,6 @@
EnableFeature(Feature::Depth32FloatStencil8);
EnableFeature(Feature::DepthClipControl);
EnableFeature(Feature::TextureCompressionBC);
- EnableFeature(Feature::SurfaceCapabilities);
EnableFeature(Feature::D3D11MultithreadProtected);
EnableFeature(Feature::Float32Filterable);
EnableFeature(Feature::DualSourceBlending);
diff --git a/src/dawn/native/d3d12/PhysicalDeviceD3D12.cpp b/src/dawn/native/d3d12/PhysicalDeviceD3D12.cpp
index 9b52f57..f205387 100644
--- a/src/dawn/native/d3d12/PhysicalDeviceD3D12.cpp
+++ b/src/dawn/native/d3d12/PhysicalDeviceD3D12.cpp
@@ -133,7 +133,6 @@
EnableFeature(Feature::IndirectFirstInstance);
EnableFeature(Feature::RG11B10UfloatRenderable);
EnableFeature(Feature::DepthClipControl);
- EnableFeature(Feature::SurfaceCapabilities);
EnableFeature(Feature::Float32Filterable);
EnableFeature(Feature::DualSourceBlending);
EnableFeature(Feature::Unorm16TextureFormats);
diff --git a/src/dawn/native/metal/PhysicalDeviceMTL.mm b/src/dawn/native/metal/PhysicalDeviceMTL.mm
index 9969132..75bf0f9 100644
--- a/src/dawn/native/metal/PhysicalDeviceMTL.mm
+++ b/src/dawn/native/metal/PhysicalDeviceMTL.mm
@@ -716,7 +716,6 @@
EnableFeature(Feature::ShaderF16);
EnableFeature(Feature::RG11B10UfloatRenderable);
EnableFeature(Feature::BGRA8UnormStorage);
- EnableFeature(Feature::SurfaceCapabilities);
EnableFeature(Feature::DualSourceBlending);
EnableFeature(Feature::R8UnormStorage);
EnableFeature(Feature::ShaderModuleCompilationOptions);
diff --git a/src/dawn/native/vulkan/PhysicalDeviceVk.cpp b/src/dawn/native/vulkan/PhysicalDeviceVk.cpp
index 0d35a7d..7e4d673 100644
--- a/src/dawn/native/vulkan/PhysicalDeviceVk.cpp
+++ b/src/dawn/native/vulkan/PhysicalDeviceVk.cpp
@@ -377,7 +377,6 @@
EnableFeature(Feature::MultiPlanarFormatExtendedUsages);
}
- EnableFeature(Feature::SurfaceCapabilities);
EnableFeature(Feature::TransientAttachments);
EnableFeature(Feature::AdapterPropertiesVk);
EnableFeature(Feature::DawnLoadResolveTexture);
diff --git a/src/dawn/node/binding/Converter.cpp b/src/dawn/node/binding/Converter.cpp
index 7244956..88fc4e0 100644
--- a/src/dawn/node/binding/Converter.cpp
+++ b/src/dawn/node/binding/Converter.cpp
@@ -1588,7 +1588,6 @@
case wgpu::FeatureName::SharedTextureMemoryVkDedicatedAllocation:
case wgpu::FeatureName::SharedTextureMemoryZirconHandle:
case wgpu::FeatureName::StaticSamplers:
- case wgpu::FeatureName::SurfaceCapabilities:
case wgpu::FeatureName::TransientAttachments:
case wgpu::FeatureName::YCbCrVulkanSamplers:
case wgpu::FeatureName::DawnLoadResolveTexture:
diff --git a/src/dawn/wire/SupportedFeatures.cpp b/src/dawn/wire/SupportedFeatures.cpp
index 9844b05..a0a23ab 100644
--- a/src/dawn/wire/SupportedFeatures.cpp
+++ b/src/dawn/wire/SupportedFeatures.cpp
@@ -36,7 +36,6 @@
case WGPUFeatureName_Force32:
case WGPUFeatureName_DawnNative:
case WGPUFeatureName_ImplicitDeviceSynchronization:
- case WGPUFeatureName_SurfaceCapabilities:
case WGPUFeatureName_D3D11MultithreadProtected:
case WGPUFeatureName_HostMappedPointer:
case WGPUFeatureName_BufferMapExtendedUsages: