webgpu: Remove WGSLFeatureName enum in IDL
Spec issue: https://github.com/gpuweb/gpuweb/issues/5057
Change-Id: Ifb9698a5304b48a49c93410cbff293809fde50eb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6218233
Commit-Queue: Fr <beaufort.francois@gmail.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1414860}
diff --git a/third_party/blink/renderer/bindings/generated_in_modules.gni b/third_party/blink/renderer/bindings/generated_in_modules.gni
index 62b8dca..7d331a6 100644
--- a/third_party/blink/renderer/bindings/generated_in_modules.gni
+++ b/third_party/blink/renderer/bindings/generated_in_modules.gni
@@ -1886,8 +1886,6 @@
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_webgl_power_preference.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_well_known_directory.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_well_known_directory.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_wgsl_feature_name.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_wgsl_feature_name.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_write_command_type.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_write_command_type.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_depth_data_format.cc",
diff --git a/third_party/blink/renderer/modules/webgpu/dawn_enum_conversions.cc b/third_party/blink/renderer/modules/webgpu/dawn_enum_conversions.cc
index 0799a37..3ba7694 100644
--- a/third_party/blink/renderer/modules/webgpu/dawn_enum_conversions.cc
+++ b/third_party/blink/renderer/modules/webgpu/dawn_enum_conversions.cc
@@ -32,7 +32,6 @@
#include "third_party/blink/renderer/bindings/modules/v8/v8_gpu_texture_view_dimension.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_gpu_vertex_format.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_gpu_vertex_step_mode.h"
-#include "third_party/blink/renderer/bindings/modules/v8/v8_wgsl_feature_name.h"
#include "third_party/blink/renderer/platform/graphics/graphics_types.h"
namespace blink {
@@ -1026,50 +1025,30 @@
NOTREACHED();
}
-bool FromDawnEnum(wgpu::WGSLLanguageFeatureName dawn_enum,
- V8WGSLFeatureName* result) {
+const char* FromDawnEnum(wgpu::WGSLLanguageFeatureName dawn_enum) {
switch (dawn_enum) {
case wgpu::WGSLLanguageFeatureName::ReadonlyAndReadwriteStorageTextures:
- *result = V8WGSLFeatureName(
- V8WGSLFeatureName::Enum::kReadonlyAndReadwriteStorageTextures);
- return true;
+ return "readonly_and_readwrite_storage_textures";
case wgpu::WGSLLanguageFeatureName::Packed4x8IntegerDotProduct:
- *result = V8WGSLFeatureName(
- V8WGSLFeatureName::Enum::kPacked4X8IntegerDotProduct);
- return true;
+ return "packed_4x8_integer_dot_product";
case wgpu::WGSLLanguageFeatureName::UnrestrictedPointerParameters:
- *result = V8WGSLFeatureName(
- V8WGSLFeatureName::Enum::kUnrestrictedPointerParameters);
- return true;
+ return "unrestricted_pointer_parameters";
case wgpu::WGSLLanguageFeatureName::PointerCompositeAccess:
- *result =
- V8WGSLFeatureName(V8WGSLFeatureName::Enum::kPointerCompositeAccess);
- return true;
+ return "pointer_composite_access";
+ // Non-standard.
case wgpu::WGSLLanguageFeatureName::ChromiumTestingUnimplemented:
- *result = V8WGSLFeatureName(
- V8WGSLFeatureName::Enum::kChromiumTestingUnimplemented);
- return true;
+ return "chromium_testing_unimplemented";
case wgpu::WGSLLanguageFeatureName::ChromiumTestingUnsafeExperimental:
- *result = V8WGSLFeatureName(
- V8WGSLFeatureName::Enum::kChromiumTestingUnsafeExperimental);
- return true;
+ return "chromium_testing_unsafe_experimental";
case wgpu::WGSLLanguageFeatureName::ChromiumTestingExperimental:
- *result = V8WGSLFeatureName(
- V8WGSLFeatureName::Enum::kChromiumTestingExperimental);
- return true;
+ return "chromium_testing_experimental";
case wgpu::WGSLLanguageFeatureName::ChromiumTestingShippedWithKillswitch:
- *result = V8WGSLFeatureName(
- V8WGSLFeatureName::Enum::kChromiumTestingShippedWithKillswitch);
- return true;
+ return "chromium_testing_shipped_with_killswitch";
case wgpu::WGSLLanguageFeatureName::ChromiumTestingShipped:
- *result =
- V8WGSLFeatureName(V8WGSLFeatureName::Enum::kChromiumTestingShipped);
- return true;
-
- default:
- return false;
+ return "chromium_testing_shipped";
}
+ return nullptr;
}
} // namespace blink
diff --git a/third_party/blink/renderer/modules/webgpu/dawn_enum_conversions.h b/third_party/blink/renderer/modules/webgpu/dawn_enum_conversions.h
index 0121d367..ea72491 100644
--- a/third_party/blink/renderer/modules/webgpu/dawn_enum_conversions.h
+++ b/third_party/blink/renderer/modules/webgpu/dawn_enum_conversions.h
@@ -32,7 +32,6 @@
class V8GPUFrontFace;
class V8GPUTextureAspect;
class V8GPUErrorFilter;
-class V8WGSLFeatureName;
enum class PredefinedColorSpace;
// Convert WebGPU bitfield values to Dawn enums. These have the same value.
@@ -78,8 +77,7 @@
V8GPUBufferMapState FromDawnEnum(wgpu::BufferMapState dawn_enum);
const char* FromDawnEnum(wgpu::BackendType dawn_enum);
const char* FromDawnEnum(wgpu::AdapterType dawn_enum);
-[[nodiscard]] bool FromDawnEnum(wgpu::WGSLLanguageFeatureName dawn_enum,
- V8WGSLFeatureName* result);
+const char* FromDawnEnum(wgpu::WGSLLanguageFeatureName dawn_enum);
} // namespace blink
diff --git a/third_party/blink/renderer/modules/webgpu/wgsl_language_features.cc b/third_party/blink/renderer/modules/webgpu/wgsl_language_features.cc
index d116b601..272c0b3 100644
--- a/third_party/blink/renderer/modules/webgpu/wgsl_language_features.cc
+++ b/third_party/blink/renderer/modules/webgpu/wgsl_language_features.cc
@@ -11,10 +11,8 @@
WGSLLanguageFeatures::WGSLLanguageFeatures(
const std::vector<wgpu::WGSLLanguageFeatureName>& features) {
for (const auto& dawn_feature : features) {
- V8WGSLFeatureName v8_feature{
- V8WGSLFeatureName::Enum::kPointerCompositeAccess};
- if (FromDawnEnum(dawn_feature, &v8_feature)) {
- features_.insert(v8_feature.AsString());
+ if (const char* feature = FromDawnEnum(dawn_feature)) {
+ features_.insert(feature);
}
}
}
diff --git a/third_party/blink/renderer/modules/webgpu/wgsl_language_features.h b/third_party/blink/renderer/modules/webgpu/wgsl_language_features.h
index 9f9c347..f2a161ccb 100644
--- a/third_party/blink/renderer/modules/webgpu/wgsl_language_features.h
+++ b/third_party/blink/renderer/modules/webgpu/wgsl_language_features.h
@@ -9,7 +9,6 @@
#include "third_party/blink/renderer/bindings/core/v8/iterable.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_sync_iterator_wgsl_language_features.h"
-#include "third_party/blink/renderer/bindings/modules/v8/v8_wgsl_feature_name.h"
#include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
#include "third_party/blink/renderer/platform/graphics/gpu/webgpu_cpp.h"
#include "third_party/blink/renderer/platform/wtf/hash_set.h"
diff --git a/third_party/blink/renderer/modules/webgpu/wgsl_language_features.idl b/third_party/blink/renderer/modules/webgpu/wgsl_language_features.idl
index 018830e..af482a2 100644
--- a/third_party/blink/renderer/modules/webgpu/wgsl_language_features.idl
+++ b/third_party/blink/renderer/modules/webgpu/wgsl_language_features.idl
@@ -4,20 +4,6 @@
// https://gpuweb.github.io/gpuweb/
-enum WGSLFeatureName {
- "readonly_and_readwrite_storage_textures",
- "packed_4x8_integer_dot_product",
- "unrestricted_pointer_parameters",
- "pointer_composite_access",
-
- // Non-standard.
- "chromium_testing_unimplemented",
- "chromium_testing_unsafe_experimental",
- "chromium_testing_experimental",
- "chromium_testing_shipped_with_killswitch",
- "chromium_testing_shipped",
-};
-
[
Exposed=(Window, Worker),
SecureContext