[dawn] Add a ChromiumExperimentalBindless feature.

Completely unimplemented for now.

Bug: 435251399
Change-Id: Idb648ea5d753cc32ab04c645ace8ff85aa1e3b75
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/256214
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn/dawn.json b/src/dawn/dawn.json
index 51d0aa7..0d0d96b 100644
--- a/src/dawn/dawn.json
+++ b/src/dawn/dawn.json
@@ -2345,7 +2345,8 @@
             {"value": 56, "name": "shared fence EGL sync", "tags": ["dawn", "native"]},
             {"value": 57, "name": "dawn device allocator control", "tags": ["dawn"]},
             {"value": 58, "name": "texture component swizzle", "tags": ["dawn"]},
-            {"value": 59, "name": "chromium experimental primitive id", "tags": ["dawn"]}
+            {"value": 59, "name": "chromium experimental primitive id", "tags": ["dawn"]},
+            {"value": 60, "name": "chromium experimental bindless", "tags": ["dawn"]}
         ]
     },
     "filter mode": {
diff --git a/src/dawn/native/Features.cpp b/src/dawn/native/Features.cpp
index 1917ace..b85e8e9 100644
--- a/src/dawn/native/Features.cpp
+++ b/src/dawn/native/Features.cpp
@@ -433,7 +433,10 @@
      {"Supports the \"enable chromium_experimental_primitive_id;\" directive in WGSL",
       "https://dawn.googlesource.com/dawn/+/refs/heads/main/docs/tint/extensions/"
       "chromium_experimental_primitive_id.md",
-      FeatureInfo::FeatureState::Experimental}}};
+      FeatureInfo::FeatureState::Experimental}},
+    {Feature::ChromiumExperimentalBindless,
+     {"Experimental support for the prototype of a bindless extension",
+      "https://hackmd.io/@kangz/bindless-proposal", FeatureInfo::FeatureState::Experimental}}};
 
 }  // anonymous namespace
 
diff --git a/src/dawn/node/binding/Converter.cpp b/src/dawn/node/binding/Converter.cpp
index 59abac4..2bf2711 100644
--- a/src/dawn/node/binding/Converter.cpp
+++ b/src/dawn/node/binding/Converter.cpp
@@ -1723,6 +1723,7 @@
         case wgpu::FeatureName::DawnPartialLoadResolveTexture:
         case wgpu::FeatureName::DawnTexelCopyBufferRowAlignment:
         case wgpu::FeatureName::FlexibleTextureViews:
+        case wgpu::FeatureName::ChromiumExperimentalBindless:
             return false;
     }
     return false;
diff --git a/src/dawn/wire/SupportedFeatures.cpp b/src/dawn/wire/SupportedFeatures.cpp
index 04e50aa..01643e4 100644
--- a/src/dawn/wire/SupportedFeatures.cpp
+++ b/src/dawn/wire/SupportedFeatures.cpp
@@ -122,6 +122,7 @@
         case WGPUFeatureName_TextureFormatsTier2:
         case WGPUFeatureName_TextureComponentSwizzle:
         case WGPUFeatureName_ChromiumExperimentalPrimitiveId:
+        case WGPUFeatureName_ChromiumExperimentalBindless:
             return true;
     }