webgpu.h: Remove EnumerateFeatures()
Now that GetFeatures() has been added, we can safely remove the
deprecated EnumerateFeatures().
Bug: 368672123
Change-Id: Ia8a4b377ff9b41219543f3a1071aacfe05d07998
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/215514
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Fr <beaufort.francois@gmail.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn/dawn.json b/src/dawn/dawn.json
index 5450df5..d719a2c 100644
--- a/src/dawn/dawn.json
+++ b/src/dawn/dawn.json
@@ -155,14 +155,6 @@
]
},
{
- "name": "enumerate features",
- "tags": ["deprecated"],
- "returns": "size_t",
- "args": [
- {"name": "features", "type": "feature name", "annotation": "*"}
- ]
- },
- {
"name": "get features",
"returns": "void",
"args": [
@@ -1567,14 +1559,6 @@
]
},
{
- "name": "enumerate features",
- "tags": ["deprecated"],
- "returns": "size_t",
- "args": [
- {"name": "features", "type": "feature name", "annotation": "*"}
- ]
- },
- {
"name": "get features",
"returns": "void",
"args": [
diff --git a/src/dawn/dawn_wire.json b/src/dawn/dawn_wire.json
index f95a1ca..ba541a9 100644
--- a/src/dawn/dawn_wire.json
+++ b/src/dawn/dawn_wire.json
@@ -224,7 +224,6 @@
"AdapterGetInstance",
"AdapterGetLimits",
"AdapterHasFeature",
- "AdapterEnumerateFeatures",
"AdapterRequestDevice",
"AdapterRequestDeviceF",
"AdapterRequestDevice2",
@@ -248,7 +247,6 @@
"DeviceGetFeatures",
"DeviceGetLimits",
"DeviceHasFeature",
- "DeviceEnumerateFeatures",
"DevicePopErrorScope",
"DevicePopErrorScopeF",
"DevicePopErrorScope2",
diff --git a/src/dawn/native/Adapter.cpp b/src/dawn/native/Adapter.cpp
index be0cca3..c2f0e70 100644
--- a/src/dawn/native/Adapter.cpp
+++ b/src/dawn/native/Adapter.cpp
@@ -224,10 +224,6 @@
return mSupportedFeatures.IsEnabled(feature);
}
-size_t AdapterBase::APIEnumerateFeatures(wgpu::FeatureName* features) const {
- return mSupportedFeatures.EnumerateFeatures(features);
-}
-
void AdapterBase::APIGetFeatures(wgpu::SupportedFeatures* features) const {
this->APIGetFeatures(reinterpret_cast<SupportedFeatures*>(features));
}
diff --git a/src/dawn/native/Adapter.h b/src/dawn/native/Adapter.h
index 28b5bcf..bcf4a06 100644
--- a/src/dawn/native/Adapter.h
+++ b/src/dawn/native/Adapter.h
@@ -63,7 +63,6 @@
wgpu::Status APIGetLimits(SupportedLimits* limits) const;
wgpu::Status APIGetInfo(AdapterInfo* info) const;
bool APIHasFeature(wgpu::FeatureName feature) const;
- size_t APIEnumerateFeatures(wgpu::FeatureName* features) const;
void APIGetFeatures(SupportedFeatures* features) const;
void APIGetFeatures(wgpu::SupportedFeatures* features) const;
void APIRequestDevice(const DeviceDescriptor* descriptor,
diff --git a/src/dawn/native/Device.cpp b/src/dawn/native/Device.cpp
index eea04ac..423889c 100644
--- a/src/dawn/native/Device.cpp
+++ b/src/dawn/native/Device.cpp
@@ -2009,10 +2009,6 @@
return mEnabledFeatures.IsEnabled(feature);
}
-size_t DeviceBase::APIEnumerateFeatures(wgpu::FeatureName* features) const {
- return mEnabledFeatures.EnumerateFeatures(features);
-}
-
void DeviceBase::APIGetFeatures(wgpu::SupportedFeatures* features) const {
this->APIGetFeatures(reinterpret_cast<SupportedFeatures*>(features));
}
diff --git a/src/dawn/native/Device.h b/src/dawn/native/Device.h
index 4f9b327..2b0708f 100644
--- a/src/dawn/native/Device.h
+++ b/src/dawn/native/Device.h
@@ -288,7 +288,6 @@
AHardwareBufferProperties* properties);
wgpu::Status APIGetLimits(SupportedLimits* limits) const;
bool APIHasFeature(wgpu::FeatureName feature) const;
- size_t APIEnumerateFeatures(wgpu::FeatureName* features) const;
void APIGetFeatures(wgpu::SupportedFeatures* features) const;
void APIGetFeatures(SupportedFeatures* features) const;
wgpu::Status APIGetAdapterInfo(AdapterInfo* adapterInfo) const;
diff --git a/src/dawn/native/Features.cpp b/src/dawn/native/Features.cpp
index f0c3944..52d2964 100644
--- a/src/dawn/native/Features.cpp
+++ b/src/dawn/native/Features.cpp
@@ -421,17 +421,6 @@
return f != Feature::InvalidEnum && IsEnabled(f);
}
-size_t FeaturesSet::EnumerateFeatures(wgpu::FeatureName* features) const {
- for (Feature f : IterateBitSet(featuresBitSet)) {
- wgpu::FeatureName feature = ToAPI(f);
- if (features != nullptr) {
- *features = feature;
- features += 1;
- }
- }
- return featuresBitSet.count();
-}
-
std::vector<const char*> FeaturesSet::GetEnabledFeatureNames() const {
std::vector<const char*> enabledFeatureNames(featuresBitSet.count());
diff --git a/src/dawn/native/Features.h b/src/dawn/native/Features.h
index d97d0b5..915b137 100644
--- a/src/dawn/native/Features.h
+++ b/src/dawn/native/Features.h
@@ -56,9 +56,6 @@
void EnableFeature(wgpu::FeatureName feature);
bool IsEnabled(Feature feature) const;
bool IsEnabled(wgpu::FeatureName feature) const;
- // Returns |count|, the number of features. Writes out all |count| values if |features| is
- // non-null.
- size_t EnumerateFeatures(wgpu::FeatureName* features) const;
std::vector<const char*> GetEnabledFeatureNames() const;
void ToSupportedFeatures(SupportedFeatures* supportedFeatures) const;
};
diff --git a/src/dawn/tests/unittests/native/DeviceCreationTests.cpp b/src/dawn/tests/unittests/native/DeviceCreationTests.cpp
index cc62cd0..1c59873 100644
--- a/src/dawn/tests/unittests/native/DeviceCreationTests.cpp
+++ b/src/dawn/tests/unittests/native/DeviceCreationTests.cpp
@@ -164,15 +164,10 @@
wgpu::Device device = unsafeAdapter.CreateDevice(&deviceDescriptor);
EXPECT_NE(device, nullptr);
- ASSERT_EQ(1u, device.EnumerateFeatures(nullptr));
- wgpu::FeatureName enabledFeature;
- device.EnumerateFeatures(&enabledFeature);
- EXPECT_EQ(enabledFeature, featureName);
-
wgpu::SupportedFeatures supportedFeatures;
device.GetFeatures(&supportedFeatures);
ASSERT_EQ(1u, supportedFeatures.featureCount);
- EXPECT_EQ(enabledFeature, supportedFeatures.features[0]);
+ EXPECT_EQ(featureName, supportedFeatures.features[0]);
}
// Test creating device with AllowUnsafeApis enabled in device toggle descriptor will
@@ -189,15 +184,10 @@
wgpu::Device device = adapter.CreateDevice(&deviceDescriptor);
EXPECT_NE(device, nullptr);
- ASSERT_EQ(1u, device.EnumerateFeatures(nullptr));
- wgpu::FeatureName enabledFeature;
- device.EnumerateFeatures(&enabledFeature);
- EXPECT_EQ(enabledFeature, featureName);
-
wgpu::SupportedFeatures supportedFeatures;
device.GetFeatures(&supportedFeatures);
ASSERT_EQ(1u, supportedFeatures.featureCount);
- EXPECT_EQ(enabledFeature, supportedFeatures.features[0]);
+ EXPECT_EQ(featureName, supportedFeatures.features[0]);
}
// Test on adapter with AllowUnsafeApis disabled.
@@ -205,15 +195,10 @@
wgpu::Device device = unsafeAdapter.CreateDevice(&deviceDescriptor);
EXPECT_NE(device, nullptr);
- ASSERT_EQ(1u, device.EnumerateFeatures(nullptr));
- wgpu::FeatureName enabledFeature;
- device.EnumerateFeatures(&enabledFeature);
- EXPECT_EQ(enabledFeature, featureName);
-
wgpu::SupportedFeatures supportedFeatures;
device.GetFeatures(&supportedFeatures);
ASSERT_EQ(1u, supportedFeatures.featureCount);
- EXPECT_EQ(enabledFeature, supportedFeatures.features[0]);
+ EXPECT_EQ(featureName, supportedFeatures.features[0]);
}
}
diff --git a/src/dawn/tests/unittests/validation/ShaderModuleValidationTests.cpp b/src/dawn/tests/unittests/validation/ShaderModuleValidationTests.cpp
index 9400eca..3b59c80 100644
--- a/src/dawn/tests/unittests/validation/ShaderModuleValidationTests.cpp
+++ b/src/dawn/tests/unittests/validation/ShaderModuleValidationTests.cpp
@@ -791,9 +791,11 @@
std::vector<wgpu::FeatureName> GetAllFeatures() {
std::vector<wgpu::FeatureName> requiredFeatures;
- const size_t featureCount = adapter.EnumerateFeatures(nullptr);
- requiredFeatures.resize(featureCount);
- adapter.EnumerateFeatures(requiredFeatures.data());
+ wgpu::SupportedFeatures supportedFeatures;
+ adapter.GetFeatures(&supportedFeatures);
+ for (uint32_t i = 0; i < supportedFeatures.featureCount; ++i) {
+ requiredFeatures.push_back(supportedFeatures.features[i]);
+ }
return requiredFeatures;
}
};
diff --git a/src/dawn/wire/client/Adapter.cpp b/src/dawn/wire/client/Adapter.cpp
index 2547eac..9dfa04b 100644
--- a/src/dawn/wire/client/Adapter.cpp
+++ b/src/dawn/wire/client/Adapter.cpp
@@ -150,10 +150,6 @@
return mLimitsAndFeatures.HasFeature(feature);
}
-size_t Adapter::EnumerateFeatures(WGPUFeatureName* features) const {
- return mLimitsAndFeatures.EnumerateFeatures(features);
-}
-
void Adapter::GetFeatures(WGPUSupportedFeatures* features) const {
mLimitsAndFeatures.ToSupportedFeatures(features);
}
diff --git a/src/dawn/wire/client/Adapter.h b/src/dawn/wire/client/Adapter.h
index c21d7f2..cfdebfd 100644
--- a/src/dawn/wire/client/Adapter.h
+++ b/src/dawn/wire/client/Adapter.h
@@ -47,7 +47,6 @@
WGPUStatus GetLimits(WGPUSupportedLimits* limits) const;
bool HasFeature(WGPUFeatureName feature) const;
- size_t EnumerateFeatures(WGPUFeatureName* features) const;
void SetLimits(const WGPUSupportedLimits* limits);
void SetFeatures(const WGPUFeatureName* features, uint32_t featuresCount);
void SetInfo(const WGPUAdapterInfo* info);
diff --git a/src/dawn/wire/client/Device.cpp b/src/dawn/wire/client/Device.cpp
index ddf4bef..3883cb2 100644
--- a/src/dawn/wire/client/Device.cpp
+++ b/src/dawn/wire/client/Device.cpp
@@ -337,10 +337,6 @@
return mLimitsAndFeatures.HasFeature(feature);
}
-size_t Device::EnumerateFeatures(WGPUFeatureName* features) const {
- return mLimitsAndFeatures.EnumerateFeatures(features);
-}
-
void Device::GetFeatures(WGPUSupportedFeatures* features) const {
mLimitsAndFeatures.ToSupportedFeatures(features);
}
diff --git a/src/dawn/wire/client/Device.h b/src/dawn/wire/client/Device.h
index edc7c68..15f0e03 100644
--- a/src/dawn/wire/client/Device.h
+++ b/src/dawn/wire/client/Device.h
@@ -97,7 +97,6 @@
WGPUStatus GetLimits(WGPUSupportedLimits* limits) const;
bool HasFeature(WGPUFeatureName feature) const;
- size_t EnumerateFeatures(WGPUFeatureName* features) const;
void GetFeatures(WGPUSupportedFeatures* features) const;
WGPUStatus GetAdapterInfo(WGPUAdapterInfo* info) const;
WGPUAdapter GetAdapter() const;
diff --git a/src/dawn/wire/client/LimitsAndFeatures.cpp b/src/dawn/wire/client/LimitsAndFeatures.cpp
index 803480a..790fb8c 100644
--- a/src/dawn/wire/client/LimitsAndFeatures.cpp
+++ b/src/dawn/wire/client/LimitsAndFeatures.cpp
@@ -74,16 +74,6 @@
return mFeatures.contains(feature);
}
-size_t LimitsAndFeatures::EnumerateFeatures(WGPUFeatureName* features) const {
- if (features != nullptr) {
- for (WGPUFeatureName f : mFeatures) {
- *features = f;
- ++features;
- }
- }
- return mFeatures.size();
-}
-
void LimitsAndFeatures::ToSupportedFeatures(WGPUSupportedFeatures* supportedFeatures) const {
if (!supportedFeatures) {
return;
diff --git a/src/dawn/wire/client/LimitsAndFeatures.h b/src/dawn/wire/client/LimitsAndFeatures.h
index 4c4933f..3034407 100644
--- a/src/dawn/wire/client/LimitsAndFeatures.h
+++ b/src/dawn/wire/client/LimitsAndFeatures.h
@@ -41,7 +41,6 @@
WGPUStatus GetLimits(WGPUSupportedLimits* limits) const;
bool HasFeature(WGPUFeatureName feature) const;
- size_t EnumerateFeatures(WGPUFeatureName* features) const;
void ToSupportedFeatures(WGPUSupportedFeatures* supportedFeatures) const;
void SetLimits(const WGPUSupportedLimits* limits);
diff --git a/third_party/emdawnwebgpu/library_webgpu.js b/third_party/emdawnwebgpu/library_webgpu.js
index e406c18..8390709 100644
--- a/third_party/emdawnwebgpu/library_webgpu.js
+++ b/third_party/emdawnwebgpu/library_webgpu.js
@@ -2484,7 +2484,7 @@
// --------------------------------------------------------------------------
};
-// Inverted index used by EnumerateFeatures/HasFeature
+// Inverted index used by GetFeatures/HasFeature
LibraryWebGPU.$WebGPU.FeatureNameString2Enum = {};
for (var value in LibraryWebGPU.$WebGPU.FeatureName) {
LibraryWebGPU.$WebGPU.FeatureNameString2Enum[LibraryWebGPU.$WebGPU.FeatureName[value]] = value;