Make Dawn's feature name casing match WebGPU (- instead of _)
Bug: dawn:550
Change-Id: I1017b4a2e93a75925e8762f2d09ace9a8d5d7b49
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/65802
Reviewed-by: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: François Beaufort <fbeaufort@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn_native/Features.cpp b/src/dawn_native/Features.cpp
index 7b0e8a9..2ec7ec3 100644
--- a/src/dawn_native/Features.cpp
+++ b/src/dawn_native/Features.cpp
@@ -32,7 +32,7 @@
static constexpr FeatureEnumAndInfoList kFeatureNameAndInfoList = {
{{Feature::TextureCompressionBC,
- {"texture_compression_bc", "Support Block Compressed (BC) texture formats",
+ {"texture-compression-bc", "Support Block Compressed (BC) texture formats",
"https://bugs.chromium.org/p/dawn/issues/detail?id=42"},
&WGPUDeviceProperties::textureCompressionBC},
{Feature::TextureCompressionETC2,
@@ -48,20 +48,20 @@
"https://bugs.chromium.org/p/dawn/issues/detail?id=955"},
&WGPUDeviceProperties::textureCompressionASTC},
{Feature::ShaderFloat16,
- {"shader_float16",
+ {"shader-float16",
"Support 16bit float arithmetic and declarations in uniform and storage buffers",
"https://bugs.chromium.org/p/dawn/issues/detail?id=426"},
&WGPUDeviceProperties::shaderFloat16},
{Feature::PipelineStatisticsQuery,
- {"pipeline_statistics_query", "Support Pipeline Statistics Query",
+ {"pipeline-statistics-query", "Support Pipeline Statistics Query",
"https://bugs.chromium.org/p/dawn/issues/detail?id=434"},
&WGPUDeviceProperties::pipelineStatisticsQuery},
{Feature::TimestampQuery,
- {"timestamp_query", "Support Timestamp Query",
+ {"timestamp-query", "Support Timestamp Query",
"https://bugs.chromium.org/p/dawn/issues/detail?id=434"},
&WGPUDeviceProperties::timestampQuery},
{Feature::DepthClamping,
- {"depth_clamping", "Clamp depth to [0, 1] in NDC space instead of clipping",
+ {"depth-clamping", "Clamp depth to [0, 1] in NDC space instead of clipping",
"https://bugs.chromium.org/p/dawn/issues/detail?id=716"},
&WGPUDeviceProperties::depthClamping},
{Feature::DawnInternalUsages,
@@ -72,7 +72,7 @@
"dawn_internal_usages.md"},
&WGPUDeviceProperties::dawnInternalUsages},
{Feature::MultiPlanarFormats,
- {"multiplanar_formats",
+ {"multiplanar-formats",
"Import and use multi-planar texture formats with per plane views",
"https://bugs.chromium.org/p/dawn/issues/detail?id=551"},
&WGPUDeviceProperties::multiPlanarFormats}}};
@@ -145,6 +145,23 @@
if (iter != mFeatureNameToEnumMap.cend()) {
return kFeatureNameAndInfoList[static_cast<size_t>(iter->second)].feature;
}
+
+ // TODO(dawn:550): Remove this fallback logic when Chromium is updated.
+ constexpr std::array<std::pair<const char*, const char*>, 6>
+ kReplacementsForDeprecatedNames = {{
+ {"texture_compression_bc", "texture-compression-bc"},
+ {"depth_clamping", "depth-clamping"},
+ {"pipeline_statistics_query", "pipeline-statistics-query"},
+ {"shader_float16", "shader-float16"},
+ {"timestamp_query", "timestamp-query"},
+ {"multiplanar_formats", "multiplanar-formats"},
+ }};
+ for (const auto& replacement : kReplacementsForDeprecatedNames) {
+ if (strcmp(featureName, replacement.first) == 0) {
+ return FeatureNameToEnum(replacement.second);
+ }
+ }
+
return Feature::InvalidEnum;
}
diff --git a/src/dawn_native/Format.h b/src/dawn_native/Format.h
index f509cfe..1e27987 100644
--- a/src/dawn_native/Format.h
+++ b/src/dawn_native/Format.h
@@ -26,7 +26,7 @@
// About multi-planar formats.
//
-// Dawn supports additional multi-planar formats when the multiplanar_formats extension is enabled.
+// Dawn supports additional multi-planar formats when the multiplanar-formats extension is enabled.
// When enabled, Dawn treats planar data as sub-resources (ie. 1 sub-resource == 1 view == 1 plane).
// A multi-planar format name encodes the channel mapping and order of planes. For example,
// R8BG8Biplanar420Unorm is YUV 4:2:0 where Plane 0 = R8, and Plane 1 = BG8.
diff --git a/src/dawn_node/binding/GPUAdapter.cpp b/src/dawn_node/binding/GPUAdapter.cpp
index d7b1d14..82fc7b1 100644
--- a/src/dawn_node/binding/GPUAdapter.cpp
+++ b/src/dawn_node/binding/GPUAdapter.cpp
@@ -109,16 +109,16 @@
for (auto required : descriptor.requiredFeatures) {
switch (required) {
case interop::GPUFeatureName::kDepthClamping:
- desc.requiredFeatures.emplace_back("depth_clamping");
+ desc.requiredFeatures.emplace_back("depth-clamping");
continue;
case interop::GPUFeatureName::kPipelineStatisticsQuery:
- desc.requiredFeatures.emplace_back("pipeline_statistics_query");
+ desc.requiredFeatures.emplace_back("pipeline-statistics-query");
continue;
case interop::GPUFeatureName::kTextureCompressionBc:
- desc.requiredFeatures.emplace_back("texture_compression_bc");
+ desc.requiredFeatures.emplace_back("texture-compression-bc");
continue;
case interop::GPUFeatureName::kTimestampQuery:
- desc.requiredFeatures.emplace_back("timestamp_query");
+ desc.requiredFeatures.emplace_back("timestamp-query");
continue;
case interop::GPUFeatureName::kDepth24UnormStencil8:
case interop::GPUFeatureName::kDepth32FloatStencil8:
diff --git a/src/tests/end2end/BufferZeroInitTests.cpp b/src/tests/end2end/BufferZeroInitTests.cpp
index f37ac91..dc414c6 100644
--- a/src/tests/end2end/BufferZeroInitTests.cpp
+++ b/src/tests/end2end/BufferZeroInitTests.cpp
@@ -48,8 +48,8 @@
protected:
std::vector<const char*> GetRequiredFeatures() override {
std::vector<const char*> requiredFeatures = {};
- if (SupportsFeatures({"timestamp_query"})) {
- requiredFeatures.push_back("timestamp_query");
+ if (SupportsFeatures({"timestamp-query"})) {
+ requiredFeatures.push_back("timestamp-query");
}
return requiredFeatures;
}
@@ -1315,7 +1315,7 @@
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsAMD());
// Skip if timestamp feature is not supported on device
- DAWN_TEST_UNSUPPORTED_IF(!SupportsFeatures({"timestamp_query"}));
+ DAWN_TEST_UNSUPPORTED_IF(!SupportsFeatures({"timestamp-query"}));
// crbug.com/dawn/940: Does not work on Mac 11.0+. Backend validation changed.
DAWN_TEST_UNSUPPORTED_IF(IsMacOS() && !IsMacOS(10));
diff --git a/src/tests/end2end/CompressedTextureFormatTests.cpp b/src/tests/end2end/CompressedTextureFormatTests.cpp
index c756743..0d0f769 100644
--- a/src/tests/end2end/CompressedTextureFormatTests.cpp
+++ b/src/tests/end2end/CompressedTextureFormatTests.cpp
@@ -42,9 +42,9 @@
protected:
std::vector<const char*> GetRequiredFeatures() override {
const wgpu::TextureFormat format = GetParam().mTextureFormat;
- if (utils::IsBCTextureFormat(format) && SupportsFeatures({"texture_compression_bc"})) {
+ if (utils::IsBCTextureFormat(format) && SupportsFeatures({"texture-compression-bc"})) {
mIsFormatSupported = true;
- return {"texture_compression_bc"};
+ return {"texture-compression-bc"};
}
if (utils::IsETC2TextureFormat(format) && SupportsFeatures({"texture-compression-etc2"})) {
mIsFormatSupported = true;
@@ -1150,11 +1150,11 @@
class CompressedTextureFormatSpecificTest : public DawnTest {
protected:
std::vector<const char*> GetRequiredFeatures() override {
- mIsBCFormatSupported = SupportsFeatures({"texture_compression_bc"});
+ mIsBCFormatSupported = SupportsFeatures({"texture-compression-bc"});
std::vector<const char*> features;
if (mIsBCFormatSupported) {
- features.emplace_back("texture_compression_bc");
+ features.emplace_back("texture-compression-bc");
}
return features;
}
diff --git a/src/tests/end2end/D3D12VideoViewsTests.cpp b/src/tests/end2end/D3D12VideoViewsTests.cpp
index 6d793e9..28a7e39 100644
--- a/src/tests/end2end/D3D12VideoViewsTests.cpp
+++ b/src/tests/end2end/D3D12VideoViewsTests.cpp
@@ -69,12 +69,12 @@
}
std::vector<const char*> GetRequiredFeatures() override {
- mIsMultiPlanarFormatsSupported = SupportsFeatures({"multiplanar_formats"});
+ mIsMultiPlanarFormatsSupported = SupportsFeatures({"multiplanar-formats"});
if (!mIsMultiPlanarFormatsSupported) {
return {};
}
- return {"multiplanar_formats"};
+ return {"multiplanar-formats"};
}
bool IsMultiPlanarFormatsSupported() const {
diff --git a/src/tests/end2end/NonzeroTextureCreationTests.cpp b/src/tests/end2end/NonzeroTextureCreationTests.cpp
index c00cceb..494e03b 100644
--- a/src/tests/end2end/NonzeroTextureCreationTests.cpp
+++ b/src/tests/end2end/NonzeroTextureCreationTests.cpp
@@ -77,15 +77,15 @@
std::vector<const char*> GetRequiredFeatures() override {
if (GetParam().mFormat == wgpu::TextureFormat::BC1RGBAUnorm &&
- SupportsFeatures({"texture_compression_bc"})) {
- return {"texture_compression_bc"};
+ SupportsFeatures({"texture-compression-bc"})) {
+ return {"texture-compression-bc"};
}
return {};
}
void Run() {
DAWN_TEST_UNSUPPORTED_IF(GetParam().mFormat == wgpu::TextureFormat::BC1RGBAUnorm &&
- !SupportsFeatures({"texture_compression_bc"}));
+ !SupportsFeatures({"texture-compression-bc"}));
// TODO(crbug.com/dawn/667): Work around the fact that some platforms do not support
// reading from Snorm textures.
diff --git a/src/tests/end2end/PrimitiveStateTests.cpp b/src/tests/end2end/PrimitiveStateTests.cpp
index 1bc48bb..c9a4c16 100644
--- a/src/tests/end2end/PrimitiveStateTests.cpp
+++ b/src/tests/end2end/PrimitiveStateTests.cpp
@@ -24,7 +24,7 @@
protected:
void SetUp() override {
DawnTest::SetUp();
- DAWN_TEST_UNSUPPORTED_IF(!SupportsFeatures({"depth_clamping"}));
+ DAWN_TEST_UNSUPPORTED_IF(!SupportsFeatures({"depth-clamping"}));
wgpu::TextureDescriptor renderTargetDescriptor;
renderTargetDescriptor.size = {kRTSize, kRTSize};
@@ -69,8 +69,8 @@
std::vector<const char*> GetRequiredFeatures() override {
std::vector<const char*> requiredFeatures = {};
- if (SupportsFeatures({"depth_clamping"})) {
- requiredFeatures.push_back("depth_clamping");
+ if (SupportsFeatures({"depth-clamping"})) {
+ requiredFeatures.push_back("depth-clamping");
}
return requiredFeatures;
}
diff --git a/src/tests/end2end/QueryTests.cpp b/src/tests/end2end/QueryTests.cpp
index 20bd392..6a6708d 100644
--- a/src/tests/end2end/QueryTests.cpp
+++ b/src/tests/end2end/QueryTests.cpp
@@ -454,13 +454,13 @@
DawnTest::SetUp();
// Skip all tests if pipeline statistics feature is not supported
- DAWN_TEST_UNSUPPORTED_IF(!SupportsFeatures({"pipeline_statistics_query"}));
+ DAWN_TEST_UNSUPPORTED_IF(!SupportsFeatures({"pipeline-statistics-query"}));
}
std::vector<const char*> GetRequiredFeatures() override {
std::vector<const char*> requiredFeatures = {};
- if (SupportsFeatures({"pipeline_statistics_query"})) {
- requiredFeatures.push_back("pipeline_statistics_query");
+ if (SupportsFeatures({"pipeline-statistics-query"})) {
+ requiredFeatures.push_back("pipeline-statistics-query");
}
return requiredFeatures;
@@ -523,13 +523,13 @@
DawnTest::SetUp();
// Skip all tests if timestamp feature is not supported
- DAWN_TEST_UNSUPPORTED_IF(!SupportsFeatures({"timestamp_query"}));
+ DAWN_TEST_UNSUPPORTED_IF(!SupportsFeatures({"timestamp-query"}));
}
std::vector<const char*> GetRequiredFeatures() override {
std::vector<const char*> requiredFeatures = {};
- if (SupportsFeatures({"timestamp_query"})) {
- requiredFeatures.push_back("timestamp_query");
+ if (SupportsFeatures({"timestamp-query"})) {
+ requiredFeatures.push_back("timestamp-query");
}
return requiredFeatures;
}
diff --git a/src/tests/end2end/ShaderFloat16Tests.cpp b/src/tests/end2end/ShaderFloat16Tests.cpp
index cc16086..f675b29 100644
--- a/src/tests/end2end/ShaderFloat16Tests.cpp
+++ b/src/tests/end2end/ShaderFloat16Tests.cpp
@@ -20,12 +20,12 @@
class ShaderFloat16Tests : public DawnTest {
protected:
std::vector<const char*> GetRequiredFeatures() override {
- mIsShaderFloat16Supported = SupportsFeatures({"shader_float16"});
+ mIsShaderFloat16Supported = SupportsFeatures({"shader-float16"});
if (!mIsShaderFloat16Supported) {
return {};
}
- return {"shader_float16"};
+ return {"shader-float16"};
}
bool IsShaderFloat16Supported() const {
diff --git a/src/tests/end2end/TextureZeroInitTests.cpp b/src/tests/end2end/TextureZeroInitTests.cpp
index 07799b5..fd22849 100644
--- a/src/tests/end2end/TextureZeroInitTests.cpp
+++ b/src/tests/end2end/TextureZeroInitTests.cpp
@@ -1720,12 +1720,12 @@
}
std::vector<const char*> GetRequiredFeatures() override {
- mIsBCFormatSupported = SupportsFeatures({"texture_compression_bc"});
+ mIsBCFormatSupported = SupportsFeatures({"texture-compression-bc"});
if (!mIsBCFormatSupported) {
return {};
}
- return {"texture_compression_bc"};
+ return {"texture-compression-bc"};
}
bool IsBCFormatSupported() const {
diff --git a/src/tests/unittests/validation/CopyCommandsValidationTests.cpp b/src/tests/unittests/validation/CopyCommandsValidationTests.cpp
index c6e166a..a086e14 100644
--- a/src/tests/unittests/validation/CopyCommandsValidationTests.cpp
+++ b/src/tests/unittests/validation/CopyCommandsValidationTests.cpp
@@ -2047,7 +2047,7 @@
protected:
WGPUDevice CreateTestDevice() override {
dawn_native::DeviceDescriptor descriptor;
- descriptor.requiredFeatures = {"texture_compression_bc", "texture-compression-etc2",
+ descriptor.requiredFeatures = {"texture-compression-bc", "texture-compression-etc2",
"texture-compression-astc"};
return adapter.CreateDevice(&descriptor);
}
diff --git a/src/tests/unittests/validation/QueryValidationTests.cpp b/src/tests/unittests/validation/QueryValidationTests.cpp
index c877a36..7f2d0c2 100644
--- a/src/tests/unittests/validation/QueryValidationTests.cpp
+++ b/src/tests/unittests/validation/QueryValidationTests.cpp
@@ -226,7 +226,7 @@
protected:
WGPUDevice CreateTestDevice() override {
dawn_native::DeviceDescriptor descriptor;
- descriptor.requiredFeatures.push_back("timestamp_query");
+ descriptor.requiredFeatures.push_back("timestamp-query");
descriptor.forceDisabledToggles.push_back("disallow_unsafe_apis");
return adapter.CreateDevice(&descriptor);
}
@@ -430,7 +430,7 @@
protected:
WGPUDevice CreateTestDevice() override {
dawn_native::DeviceDescriptor descriptor;
- descriptor.requiredFeatures.push_back("pipeline_statistics_query");
+ descriptor.requiredFeatures.push_back("pipeline-statistics-query");
// TODO(crbug.com/1177506): Pipeline statistic query is an unsafe API, disable disallowing
// unsafe APIs to test it.
descriptor.forceDisabledToggles.push_back("disallow_unsafe_apis");
diff --git a/src/tests/unittests/validation/QueueWriteTextureValidationTests.cpp b/src/tests/unittests/validation/QueueWriteTextureValidationTests.cpp
index 6efdb0e..cbe8bb8 100644
--- a/src/tests/unittests/validation/QueueWriteTextureValidationTests.cpp
+++ b/src/tests/unittests/validation/QueueWriteTextureValidationTests.cpp
@@ -558,7 +558,7 @@
protected:
WGPUDevice CreateTestDevice() override {
dawn_native::DeviceDescriptor descriptor;
- descriptor.requiredFeatures = {"texture_compression_bc", "texture-compression-etc2",
+ descriptor.requiredFeatures = {"texture-compression-bc", "texture-compression-etc2",
"texture-compression-astc"};
return adapter.CreateDevice(&descriptor);
}
diff --git a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
index 911cd50..da8f66c 100644
--- a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
+++ b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
@@ -1125,7 +1125,7 @@
protected:
WGPUDevice CreateTestDevice() override {
dawn_native::DeviceDescriptor descriptor;
- descriptor.requiredFeatures = {"depth_clamping"};
+ descriptor.requiredFeatures = {"depth-clamping"};
return adapter.CreateDevice(&descriptor);
}
};
diff --git a/src/tests/unittests/validation/TextureValidationTests.cpp b/src/tests/unittests/validation/TextureValidationTests.cpp
index 56b4990..e9180a9 100644
--- a/src/tests/unittests/validation/TextureValidationTests.cpp
+++ b/src/tests/unittests/validation/TextureValidationTests.cpp
@@ -569,7 +569,7 @@
protected:
WGPUDevice CreateTestDevice() override {
dawn_native::DeviceDescriptor descriptor;
- descriptor.requiredFeatures = {"texture_compression_bc", "texture-compression-etc2",
+ descriptor.requiredFeatures = {"texture-compression-bc", "texture-compression-etc2",
"texture-compression-astc"};
return adapter.CreateDevice(&descriptor);
}
diff --git a/src/tests/unittests/validation/UnsafeAPIValidationTests.cpp b/src/tests/unittests/validation/UnsafeAPIValidationTests.cpp
index 6e22dcc..7bb9e19 100644
--- a/src/tests/unittests/validation/UnsafeAPIValidationTests.cpp
+++ b/src/tests/unittests/validation/UnsafeAPIValidationTests.cpp
@@ -110,8 +110,8 @@
protected:
WGPUDevice CreateTestDevice() override {
dawn_native::DeviceDescriptor descriptor;
- descriptor.requiredFeatures.push_back("pipeline_statistics_query");
- descriptor.requiredFeatures.push_back("timestamp_query");
+ descriptor.requiredFeatures.push_back("pipeline-statistics-query");
+ descriptor.requiredFeatures.push_back("timestamp-query");
descriptor.forceEnabledToggles.push_back("disallow_unsafe_apis");
return adapter.CreateDevice(&descriptor);
}
diff --git a/src/tests/unittests/validation/VideoViewsValidationTests.cpp b/src/tests/unittests/validation/VideoViewsValidationTests.cpp
index b799901..7c8c5f5 100644
--- a/src/tests/unittests/validation/VideoViewsValidationTests.cpp
+++ b/src/tests/unittests/validation/VideoViewsValidationTests.cpp
@@ -22,7 +22,7 @@
protected:
WGPUDevice CreateTestDevice() override {
dawn_native::DeviceDescriptor descriptor;
- descriptor.requiredFeatures = {"multiplanar_formats"};
+ descriptor.requiredFeatures = {"multiplanar-formats"};
return adapter.CreateDevice(&descriptor);
}
diff --git a/src/tests/white_box/D3D12ResourceHeapTests.cpp b/src/tests/white_box/D3D12ResourceHeapTests.cpp
index 5586082..e944ce2 100644
--- a/src/tests/white_box/D3D12ResourceHeapTests.cpp
+++ b/src/tests/white_box/D3D12ResourceHeapTests.cpp
@@ -27,12 +27,12 @@
}
std::vector<const char*> GetRequiredFeatures() override {
- mIsBCFormatSupported = SupportsFeatures({"texture_compression_bc"});
+ mIsBCFormatSupported = SupportsFeatures({"texture-compression-bc"});
if (!mIsBCFormatSupported) {
return {};
}
- return {"texture_compression_bc"};
+ return {"texture-compression-bc"};
}
bool IsBCFormatSupported() const {