[tint] Remove last references to chromium_experimental_dynamic_binding
Removed:
- The enum from wgsl.def
- The markdown document
- A special-case check in the E2E test template
Also updated a few copy/paste instances of {get,has}Binding.
Change-Id: I642d6f5dd09e36988f1cfc2a29e24c80dbb229c2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/283936
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: James Price <jrprice@google.com>
diff --git a/docs/tint/extensions/chromium_experimental_dynamic_binding.md b/docs/tint/extensions/chromium_experimental_dynamic_binding.md
deleted file mode 100644
index 0d6e66d..0000000
--- a/docs/tint/extensions/chromium_experimental_dynamic_binding.md
+++ /dev/null
@@ -1,82 +0,0 @@
-# Chromium Experimental Dynamic Binding
-
-The `chromium_experimental_dynamic_binding` is an experimental extension that provides different
-prototype options to support the WebGPU bindless prototypes.
-
-# Status
-
-This extension is experimental and the syntax is being discussed. No official WebGPU specification
-has been written yet.
-
-# Availability
-
-| Platform | Notes |
-| SPIR-V | Requires `SPV_EXT_descriptor_indexing` extension and `RuntimeDescriptorArray` capability |
-| HLSL | Supported for DXC, not FXC |
-| MSL | Supported (TODO determine if there are Metal version restrictions) |
-| GLSL | Not supported |
-
-Due to limited availability, this will need an `enable` statement to be used. For this experimental
-extension it would be `enable chromium_experimental_dynamic_binding`.
-
-# Specification
-
-## `resource_binding`
-
-* A new `resource_binding` type is added
-* A `resource_binding` cannot be passed as a function parameter. This is because there is no way
- in WGSL to currently write the needed pointer type (e.g. `ptr<handle, resource_binding, write>`).
-* A `resource_binding` can not be accessed with the usual array subscript operators. e.g. the following
- is disallowed:
-
- ```
- var a: resource_binding;
- fn foo() {
- var b = a[0];
- }
- ```
-* Two helper methods `getBinding` and `hasBinding` are provided for accessing a `resource_binding`.
-
-### `hasBinding`
-```
-@must_use fn hasBinding<T>(a: resource_binding, index: I) -> bool
-```
-* `I` is an `i32` or `u32`
-* `T` is a format-less storage texture (e.g. `texture_storage_2d<f32>`), sampled texture, multisampled
- texture, or depth texture.
-
-`hasBinding` returns true if the item a `index` of the array is of type `T`.
-
-### `getBinding`
-```
-@must_use fn getBinding<T>(a: resource_binding, index: I) -> T
-```
-* `I` is an `i32` or `u32`
-* `T` is a format-less storage texture (e.g. `texture_storage_2d<f32>`), sampled texture, multisampled
- texture, or depth texture.
-
-`getBinding` returns the value at `index` of type `T`.
-
-If `index` is outside the bounds of the binding array then a default texture of type `T` will be
-returned. If the item at `index` is not of type `T` then a default texture of type `T` is returned.
-
-### `arrayLength`
-```
-@must_use fn arrayLength(a: resource_binding) -> u32
-```
-Returns the length of the array.
-
-# Example usage
-
-## `resource_binding`
-```
-enable chromium_experimental_dynamic_binding;
-
-@group(0) @binding(0) var textures : resource_binding;
-
-@fragment fn fs() {
- if (hasBinding<texture_2d<f32>>(textures, 0)) {
- let tex = textureLoad(getBinding<texture_2d<f32>>(textures, 0));
- }
-}
-```
diff --git a/src/dawn/tests/end2end/ResourceTableTests.cpp b/src/dawn/tests/end2end/ResourceTableTests.cpp
index dfe1659..0fb6f17 100644
--- a/src/dawn/tests/end2end/ResourceTableTests.cpp
+++ b/src/dawn/tests/end2end/ResourceTableTests.cpp
@@ -564,7 +564,7 @@
std::vector<TextureDescForTypeIDCase> cases;
// TODO(https://issues.chromium.org/473354065): Add tests of filterable vs. unfilterable floats
- // when get/hasBinding is able to make the difference.
+ // when get/hasResource is able to make the difference.
// Regular 1D textures.
cases.push_back({
@@ -783,7 +783,7 @@
table.Update(i, &resource);
}
- // Test hasBinding returning for each of the supported WGSL types, against each texture.
+ // Test hasResource returning for each of the supported WGSL types, against each texture.
for (auto wgslType : kWgslSampledTextureTypes) {
std::vector<bool> expected;
for (auto textureCase : textureCases) {
@@ -795,7 +795,7 @@
}
// Test that calling hasResource() with values outside of the resource table size returns false.
-TEST_P(ResourceTableTests, HasBindingOOBIsFalse) {
+TEST_P(ResourceTableTests, HasResourceOOBIsFalse) {
// Create the test pipeline
wgpu::ShaderModule module = utils::CreateShaderModule(device, R"(
enable chromium_experimental_resource_table;
diff --git a/src/tint/cmd/bench/enums_wgsl_bench.cc b/src/tint/cmd/bench/enums_wgsl_bench.cc
index da5014d..6ec2ead 100644
--- a/src/tint/cmd/bench/enums_wgsl_bench.cc
+++ b/src/tint/cmd/bench/enums_wgsl_bench.cc
@@ -152,97 +152,90 @@
"chromium_experimencal_barycentric_coord",
"chromium_experimental_Oarycentric_coord",
"chrttmium_experimental_bv__rycentric_KKoord",
- "chrxxmium_8perimental_dynamic_5inding",
- "__hromFumexperimental_ynqqmic_binding",
- "chromium_xperimentqql_dynamic_binding",
- "chromium_experimental_dynamic_binding",
- "chromum_experim33ntal_dynam66c_biOding",
- "chromium_QQxperimental_6y9amic_ttoonding",
- "chromium_experimenta_dynamic_bin66ing",
- "hromxum_experimental_zzr66mebufferOfetch",
- "chromium_experimental_framebyyffer_fetch",
- "chrmium_experimental_fraeHHuffer_feZch",
+ "chromium_epxxrimenta8_framebuffer_fe5ch",
+ "chromim_experimental_frame__uffer_qqtcF",
+ "chromium_exerimental_fqqamebuffer_fetch",
"chromium_experimental_framebuffer_fetch",
- "chromium_expeimeWWtal_framebuq4fer_fetch",
- "chromium_experimental_fOOamebuffer_etch",
- "chroomium_experimntalhframebuffr_fetcY",
- "chomium_experiental_pixel_loca",
- "chromum_experimental_pixel_lFcal",
- "chromium_expewimentalpixel_local",
+ "h66omiu33_experimenOal_framebuffer_fetch",
+ "ch6ottiumooexperQQmental_frameb9ffer_fetch",
+ "chomium_experimen66al_framebuffer_fetch",
+ "chrmiuO_exp66rimentalzzpixxl_local",
+ "chromium_experimental_yyixel_local",
+ "hromiZ_experimZnHHal_pixel_local",
"chromium_experimental_pixel_local",
- "chromffum_expeKmentG_pixel_local",
- "chromiuq_KKxperimental_pixel_local",
- "chromium_eFpe3imental_mmixel_local",
- "chromium_experimental_reource_table",
- "chromium_experimentalresourcq_table",
- "chromium_ebbprimental_resource_table",
+ "chromium_e44peimental_WWixel_qocal",
+ "chromiu_experimenOOal_pixel_local",
+ "chromYum_expoorienal_pihel_local",
+ "chromium_experiental_resorce_tabl",
+ "chromiumFexpermental_resource_table",
+ "chromium_experiental_resourcw_table",
"chromium_experimental_resource_table",
- "chromium_expirimental_resource_tabe",
- "chromium_experimentl_resoOOrce_tablq",
- "chromium_experimental_TTvvsource_table",
- "chromium_experimental_subgrouFF_matrix",
- "chromifm_experimenta00PsubgroQp_mtrix",
- "chromium_experPmental_subgroup_matrix",
+ "chromKum_experimenta_resoure_tablff",
+ "chromium_experimental_resouKqce_table",
+ "chromium_expeFimental_res3urce_mmable",
+ "chromium_experimental_subgroup_mtrix",
+ "chromium_experimental_subgoqp_matrix",
+ "chromium_ebperimental_subgroub_matrix",
"chromium_experimental_subgroup_matrix",
- "cssomium_experimental_subgroup_mat77ix",
- "chromium_exbberimenCal_subgroup_mRRtrix",
- "chromium_experimental_subgroup_mXXtrix",
- "chromium_expqrimental_CCubgOOoup_size_OOontol",
- "chromim_experimentaL_subgroup_size_contuol",
- "chromiuX_experimental_subgroup_size_control",
+ "ciiomim_experimental_subgroup_matrix",
+ "chromOOum_experimeqtal_subgroup_matix",
+ "chrovvium_experimentalTTsubgroup_matrix",
+ "chromium_experiFFental_subgroup_size_control",
+ "fh00omQuP_experimental_subgrup_size_control",
+ "chPomium_experimental_subgroup_size_control",
"chromium_experimental_subgroup_size_control",
- "chromium_experimental_subgroup_size_contol",
- "chromium_exerimentlqqsubgroup_size_ontOol",
- "chromium_experimental_subgroup_size_contr22l",
- "chromiuXX_interzza_graphity",
- "chromPum_internal_grapVite",
- "chromum_internal_grCphitnn",
+ "chrmium_experimental_subgrssup_size77control",
+ "chromiubb_eCperimental_subRRroup_size_control",
+ "chromium_experimentalXXsubgroup_size_control",
+ "chromium_inqerOCCal_OOaphite",
+ "chrmium_Lntesnal_guaphite",
+ "chromium_internal_gXaphite",
"chromium_internal_graphite",
- "chromium_nqqeAAnal_gHHphite",
- "chromium_interal_graphite",
- "chrmium_intfrnl_graphitKK",
- "chromiul_intenal_inggut_Pttachmets",
- "chromium_internal_input_attachmens",
- "cTTrom4uc_internal_input_attachmNnts",
+ "cromium_internal_graphite",
+ "chromiOm_inerqqal_gahite",
+ "chr22mium_internal_graphite",
+ "chzzomium0inteXXny_input_attachments",
+ "chromium_internalVVinpP_aitachments",
+ "chnnomium_internalCinput_attachmnts",
"chromium_internal_input_attachments",
- "phromium_77nternal_input_attalhments",
- "chromium_inteNNzzl_npug_attachments",
- "chromim_intXXrnal_inpuutatbbachments",
- "cli_distances",
- "cliK_diQa88es",
- "cli9_qisances",
+ "chrHHmim_inqqernalinput_attachmentAA",
+ "chromium_internal_input_attchments",
+ "chromiuf_internal_input_KKachments",
+ "clipditaPcggs",
+ "clip_istances",
+ "4lip_disTTaNcec",
"clip_distances",
- "clip_dis11ances",
- "clip_ds22Fniies",
- "clip_distnce77",
- "du2_source_blenNNing",
- "dual_source_blenVVing",
- "WW11al_sourcewblenFing",
+ "cli_distpp7lces",
+ "cgzip_dstancNs",
+ "uulip_bitanXXes",
+ "dual_soure_blending",
+ "dualsoQrce_bled88nK",
+ "dual_souce_blend9qg",
"dual_source_blending",
- "dual_souwwceblending",
- "dual_sDurce_blending",
- "duKl_souce_blending",
- "1PP1h",
- "f1",
- "f1YY",
+ "dual_source_bl11nding",
+ "Fuaii_source_bl22ding",
+ "dual_soure_b77ending",
+ "NN6",
+ "VV16",
+ "Fw11W",
"f16",
- "1tkk",
- "rr16",
- "fWW6",
- "prmitive_iYdex",
- "primfLiqe_ndex",
- "vvrmitive_22nduux",
+ "ww6",
+ "fD6",
+ "fK",
+ "primif11ve_inPPeh",
+ "prmitive_index",
+ "primitive_indeYY",
"primitive_index",
- "piitive_index",
- "primtive_indeY",
- "pEimityYYe_inde77",
- "Muoodrous",
- "subMMrous",
- "subgrou55s",
+ "pHHimittveikkdex",
+ "rrrimitive_index",
+ "pWWimitive_ndssx",
+ "suYroups",
+ "sbgroqpL",
+ "sfbv22rouus",
"subgroups",
- "Ngroups",
- "subgro33p",
- "subgroup3",
+ "subgous",
+ "suYgrous",
+ "subyr77upEY",
};
for (auto _ : state) {
for (auto* str : kStrings) {
diff --git a/src/tint/cmd/fuzz/wgsl/dictionary.txt b/src/tint/cmd/fuzz/wgsl/dictionary.txt
index f7d83b2..881f0e1 100644
--- a/src/tint/cmd/fuzz/wgsl/dictionary.txt
+++ b/src/tint/cmd/fuzz/wgsl/dictionary.txt
@@ -166,7 +166,6 @@
"centroid"
"chromium_disable_uniformity_analysis"
"chromium_experimental_barycentric_coord"
-"chromium_experimental_dynamic_binding"
"chromium_experimental_framebuffer_fetch"
"chromium_experimental_pixel_local"
"chromium_experimental_resource_table"
diff --git a/src/tint/lang/wgsl/enums.cc b/src/tint/lang/wgsl/enums.cc
index bdb9017..9ce47b9 100644
--- a/src/tint/lang/wgsl/enums.cc
+++ b/src/tint/lang/wgsl/enums.cc
@@ -54,9 +54,6 @@
if (str == "chromium_experimental_barycentric_coord") {
return Extension::kChromiumExperimentalBarycentricCoord;
}
- if (str == "chromium_experimental_dynamic_binding") {
- return Extension::kChromiumExperimentalDynamicBinding;
- }
if (str == "chromium_experimental_framebuffer_fetch") {
return Extension::kChromiumExperimentalFramebufferFetch;
}
@@ -103,8 +100,6 @@
return "chromium_disable_uniformity_analysis";
case Extension::kChromiumExperimentalBarycentricCoord:
return "chromium_experimental_barycentric_coord";
- case Extension::kChromiumExperimentalDynamicBinding:
- return "chromium_experimental_dynamic_binding";
case Extension::kChromiumExperimentalFramebufferFetch:
return "chromium_experimental_framebuffer_fetch";
case Extension::kChromiumExperimentalPixelLocal:
diff --git a/src/tint/lang/wgsl/enums.h b/src/tint/lang/wgsl/enums.h
index aaad14f..a3de573 100644
--- a/src/tint/lang/wgsl/enums.h
+++ b/src/tint/lang/wgsl/enums.h
@@ -116,7 +116,6 @@
kUndefined,
kChromiumDisableUniformityAnalysis,
kChromiumExperimentalBarycentricCoord,
- kChromiumExperimentalDynamicBinding,
kChromiumExperimentalFramebufferFetch,
kChromiumExperimentalPixelLocal,
kChromiumExperimentalResourceTable,
@@ -152,7 +151,6 @@
constexpr std::string_view kExtensionStrings[] = {
"chromium_disable_uniformity_analysis",
"chromium_experimental_barycentric_coord",
- "chromium_experimental_dynamic_binding",
"chromium_experimental_framebuffer_fetch",
"chromium_experimental_pixel_local",
"chromium_experimental_resource_table",
@@ -171,7 +169,6 @@
static constexpr Extension kAllExtensions[] = {
Extension::kChromiumDisableUniformityAnalysis,
Extension::kChromiumExperimentalBarycentricCoord,
- Extension::kChromiumExperimentalDynamicBinding,
Extension::kChromiumExperimentalFramebufferFetch,
Extension::kChromiumExperimentalPixelLocal,
Extension::kChromiumExperimentalResourceTable,
diff --git a/src/tint/lang/wgsl/enums_test.cc b/src/tint/lang/wgsl/enums_test.cc
index 4a4b8cf..5f2c79e 100644
--- a/src/tint/lang/wgsl/enums_test.cc
+++ b/src/tint/lang/wgsl/enums_test.cc
@@ -218,7 +218,6 @@
static constexpr ExtensionCase kValidExtensionCases[] = {
{"chromium_disable_uniformity_analysis", Extension::kChromiumDisableUniformityAnalysis},
{"chromium_experimental_barycentric_coord", Extension::kChromiumExperimentalBarycentricCoord},
- {"chromium_experimental_dynamic_binding", Extension::kChromiumExperimentalDynamicBinding},
{"chromium_experimental_framebuffer_fetch", Extension::kChromiumExperimentalFramebufferFetch},
{"chromium_experimental_pixel_local", Extension::kChromiumExperimentalPixelLocal},
{"chromium_experimental_resource_table", Extension::kChromiumExperimentalResourceTable},
@@ -240,45 +239,42 @@
{"chomium_experiooetal_barcentric_coord", Extension::kUndefined},
{"chromium_experimentl_barycentzzc_coord", Extension::kUndefined},
{"chromium_expperimental1barycentric_coori", Extension::kUndefined},
- {"chromium_experimental_dyXXamic_binding", Extension::kUndefined},
- {"chromi55m_eIIperimental_dynnami99_binding", Extension::kUndefined},
- {"chroSSium_experiaaYntal_dynamic_binrrHHng", Extension::kUndefined},
- {"chromum_xperimentalframebuffHrkkfetch", Extension::kUndefined},
- {"chrojium_xRReimental_frgmebuffer_fetch", Extension::kUndefined},
- {"hromium_experimental_ramebbffer_fetch", Extension::kUndefined},
- {"chromium_experimentjl_pixel_local", Extension::kUndefined},
- {"chroium_experimental_pixel_local", Extension::kUndefined},
- {"cromium_qxperimental_pixl_local", Extension::kUndefined},
- {"chromium_experimetal_resource_NNable", Extension::kUndefined},
- {"chrvvmium_experimentl_resource_tble", Extension::kUndefined},
- {"chromium_experiental_resource_taQQle", Extension::kUndefined},
- {"hromium_exprimertal_subgroup_ffatrix", Extension::kUndefined},
- {"chromium_ejperimental_subgroup_matrix", Extension::kUndefined},
- {"chromium_expewim8n2al_subgroupNNmatrix", Extension::kUndefined},
- {"chromium_experimental_sbgroup_size_control", Extension::kUndefined},
- {"chromium_experimental_subgroup_size_conrrrol", Extension::kUndefined},
- {"chromium_expGrimental_subgroup_size_control", Extension::kUndefined},
- {"chromium_internalFFgraphite", Extension::kUndefined},
- {"chroium_interEal_aphite", Extension::kUndefined},
- {"chromirrm_inernal_graphite", Extension::kUndefined},
- {"chromium_internal_inpu_attahments", Extension::kUndefined},
- {"chomium_internDlXinputJJattachments", Extension::kUndefined},
- {"ch8omium_interal_input_attacmets", Extension::kUndefined},
- {"clip_ksa11ce", Extension::kUndefined},
- {"cli_distances", Extension::kUndefined},
- {"Jlp_distances", Extension::kUndefined},
- {"dual_source_clending", Extension::kUndefined},
- {"dual_sOurce_blending", Extension::kUndefined},
- {"dualKKs__urce_blttvnding", Extension::kUndefined},
- {"xx8", Extension::kUndefined},
- {"__F", Extension::kUndefined},
- {"f1q", Extension::kUndefined},
- {"33r6mitive_Ondex", Extension::kUndefined},
- {"p9imitiQQtt_6oodex", Extension::kUndefined},
- {"prmit66ve_index", Extension::kUndefined},
- {"zzxbO6rops", Extension::kUndefined},
- {"subgyyoups", Extension::kUndefined},
- {"HHugroZs", Extension::kUndefined},
+ {"chXXomium_experimental_framebuffer_fetch", Extension::kUndefined},
+ {"chr99mi55m_experiIIennnal_framebuffer_fetch", Extension::kUndefined},
+ {"chromiumSSerrperimenaaal_fraHHebuffer_fetYh", Extension::kUndefined},
+ {"homHumkkeperimental_pixel_local", Extension::kUndefined},
+ {"chromim_egperimental_pRRjel_loal", Extension::kUndefined},
+ {"cromiumbexperimental_pixellocal", Extension::kUndefined},
+ {"chromium_experimjntal_resource_table", Extension::kUndefined},
+ {"cromium_experimental_resource_table", Extension::kUndefined},
+ {"chromiu_qxperimetal_resource_table", Extension::kUndefined},
+ {"chromium_experimental_sNbgroup_matrix", Extension::kUndefined},
+ {"chromium_exprimenta_suvvgroup_matrix", Extension::kUndefined},
+ {"chromium_experimentaQQ_sbgroup_matrix", Extension::kUndefined},
+ {"chromium_expermental_subgour_sizff_control", Extension::kUndefined},
+ {"chromium_experimental_subgroup_size_cjntrol", Extension::kUndefined},
+ {"chro8ium_expe2imeNNtal_subgroup_size_cwwtrol", Extension::kUndefined},
+ {"chromium_internl_graphite", Extension::kUndefined},
+ {"chromium_irrternal_graphite", Extension::kUndefined},
+ {"cGromium_internal_graphite", Extension::kUndefined},
+ {"chromium_internal_input_attFFchments", Extension::kUndefined},
+ {"chromium_iEteral_input_attahment", Extension::kUndefined},
+ {"chrmium_internal_inprrt_attachments", Extension::kUndefined},
+ {"lip_distanes", Extension::kUndefined},
+ {"DXp_diJJtances", Extension::kUndefined},
+ {"cl8pdistane", Extension::kUndefined},
+ {"dul_okrc_blen11ing", Extension::kUndefined},
+ {"dua_source_blending", Extension::kUndefined},
+ {"duJl_source_blendig", Extension::kUndefined},
+ {"c16", Extension::kUndefined},
+ {"fO6", Extension::kUndefined},
+ {"_KKttvv", Extension::kUndefined},
+ {"pr8mitive_nxxex", Extension::kUndefined},
+ {"primitveFqqd__x", Extension::kUndefined},
+ {"priitive_indeqq", Extension::kUndefined},
+ {"subgr6u33O", Extension::kUndefined},
+ {"s96grQttupoo", Extension::kUndefined},
+ {"sugro66ps", Extension::kUndefined},
};
using ExtensionParseTest = testing::TestWithParam<ExtensionCase>;
@@ -338,63 +334,63 @@
};
static constexpr LanguageFeatureCase kInvalidLanguageFeatureCases[] = {
- {"WWufer_viq4w", LanguageFeature::kUndefined},
- {"buffeOO_iew", LanguageFeature::kUndefined},
- {"bYohfr_vew", LanguageFeature::kUndefined},
- {"cromiu_prit", LanguageFeature::kUndefined},
- {"chomium_priFt", LanguageFeature::kUndefined},
- {"whromiu_print", LanguageFeature::kUndefined},
- {"chromium_tGsKingefferimental", LanguageFeature::kUndefined},
- {"chrqmium_testKKng_experimental", LanguageFeature::kUndefined},
- {"chromium_Fmmsting_experi3ental", LanguageFeature::kUndefined},
- {"chromium_tesing_shipped", LanguageFeature::kUndefined},
- {"chromqum_testing_shiped", LanguageFeature::kUndefined},
- {"chromium_tbbstng_shipped", LanguageFeature::kUndefined},
- {"chromium_testing_shiped_wth_killswiitch", LanguageFeature::kUndefined},
- {"chomium_testing_shqpped_with_killswitOOh", LanguageFeature::kUndefined},
- {"chromium_testing_sTTipvved_with_killswitch", LanguageFeature::kUndefined},
- {"chromium_testing_unimpFFemented", LanguageFeature::kUndefined},
- {"chrofium_testnQ_uP00mplemented", LanguageFeature::kUndefined},
- {"chromium_testiPg_unimplemented", LanguageFeature::kUndefined},
- {"chsomium_testing_unsafe77experimental", LanguageFeature::kUndefined},
- {"chromium_tebbting_unsafe_expeCimentRRl", LanguageFeature::kUndefined},
- {"chromium_testing_unsafe_experimentaXX", LanguageFeature::kUndefined},
- {"fragmqntdepCCOOO", LanguageFeature::kUndefined},
- {"frasment_eutL", LanguageFeature::kUndefined},
- {"fXagment_depth", LanguageFeature::kUndefined},
- {"immediate_address_spac", LanguageFeature::kUndefined},
- {"immeiaOe_areqqs_space", LanguageFeature::kUndefined},
- {"immed22ate_address_space", LanguageFeature::kUndefined},
- {"packe0_zzy8_inXXeger_dot_produc", LanguageFeature::kUndefined},
- {"packed_4x8_inteier_doVPproduct", LanguageFeature::kUndefined},
- {"pacCed_x8_integenn_dot_product", LanguageFeature::kUndefined},
- {"pintHH_qqomposite_aAAcess", LanguageFeature::kUndefined},
- {"ointer_composite_access", LanguageFeature::kUndefined},
- {"poiterKKcomposie_acfess", LanguageFeature::kUndefined},
- {"readonly_ggnd_readwrite_sPorage_xturel", LanguageFeature::kUndefined},
- {"readonly_and_readwrite_storage_texture", LanguageFeature::kUndefined},
- {"readcnly_and_reaNwrite_stTTrag4_textures", LanguageFeature::kUndefined},
- {"slzepp7_bining_array", LanguageFeature::kUndefined},
- {"sgzed_bndigNNzarray", LanguageFeature::kUndefined},
- {"sized_indibbg_XXrauu", LanguageFeature::kUndefined},
- {"subgrou_id", LanguageFeature::kUndefined},
- {"KbQrou88id", LanguageFeature::kUndefined},
- {"sub9ropqid", LanguageFeature::kUndefined},
- {"subgroup_uniform11ty", LanguageFeature::kUndefined},
- {"subgr22ip_unifFrmity", LanguageFeature::kUndefined},
- {"su77roup_uniformity", LanguageFeature::kUndefined},
- {"texNNl_buf2rs", LanguageFeature::kUndefined},
- {"texel_buffeVVs", LanguageFeature::kUndefined},
- {"te11elwbWWfFers", LanguageFeature::kUndefined},
- {"textue_and_samplerwwlet", LanguageFeature::kUndefined},
- {"texture_aDd_sampler_let", LanguageFeature::kUndefined},
- {"texture_aKdsampler_let", LanguageFeature::kUndefined},
- {"unifPPf11_buffer_standard_lryouh", LanguageFeature::kUndefined},
- {"uniform_buffer_stndard_layout", LanguageFeature::kUndefined},
- {"uniform_buffer_standard_layouYY", LanguageFeature::kUndefined},
- {"VnrtstricHHedkkpointer_paraeters", LanguageFeature::kUndefined},
- {"urrrestricted_pointer_parameters", LanguageFeature::kUndefined},
- {"unreWWtricted_pointess_paraeters", LanguageFeature::kUndefined},
+ {"bufxr66vieOz", LanguageFeature::kUndefined},
+ {"yyuffer_view", LanguageFeature::kUndefined},
+ {"uffeZZHiew", LanguageFeature::kUndefined},
+ {"cWW4romiuqprint", LanguageFeature::kUndefined},
+ {"chromium_rOOnt", LanguageFeature::kUndefined},
+ {"oohomYum_phnt", LanguageFeature::kUndefined},
+ {"chromium_testin_experienal", LanguageFeature::kUndefined},
+ {"chromium_tesFig_experimental", LanguageFeature::kUndefined},
+ {"chromium_testing_expewimentl", LanguageFeature::kUndefined},
+ {"chromiumtestinGKhippeff", LanguageFeature::kUndefined},
+ {"chrqKmium_testing_shipped", LanguageFeature::kUndefined},
+ {"cFromium_test3ng_shmmpped", LanguageFeature::kUndefined},
+ {"chromium_testing_shipped_wit_killswitch", LanguageFeature::kUndefined},
+ {"chromum_testing_shipqed_with_killswitch", LanguageFeature::kUndefined},
+ {"chromium_testing_shipped_with_killbbbtch", LanguageFeature::kUndefined},
+ {"chromiim_testing_unimplemnted", LanguageFeature::kUndefined},
+ {"chromiumOOtestqngunimplemented", LanguageFeature::kUndefined},
+ {"chromium_testivvg_unimplementTTd", LanguageFeature::kUndefined},
+ {"chroFFium_testing_unsafe_experimental", LanguageFeature::kUndefined},
+ {"chromiuftesting_uPsaQe_00xperimental", LanguageFeature::kUndefined},
+ {"chPomium_testing_unsafe_experimental", LanguageFeature::kUndefined},
+ {"fragment_77epsh", LanguageFeature::kUndefined},
+ {"RRrbbgment_Cepth", LanguageFeature::kUndefined},
+ {"fXXagment_depth", LanguageFeature::kUndefined},
+ {"imedOOatq_addrOOssCCspace", LanguageFeature::kUndefined},
+ {"imediLts_address_space", LanguageFeature::kUndefined},
+ {"immediate_addresX_space", LanguageFeature::kUndefined},
+ {"packed_4x8_intege_dot_product", LanguageFeature::kUndefined},
+ {"packed_48_intqqgO_do_product", LanguageFeature::kUndefined},
+ {"packed_4x8_integer_dot_produc22", LanguageFeature::kUndefined},
+ {"ointer_cympo0ite_aXzzcess", LanguageFeature::kUndefined},
+ {"poiiVVe_composiPe_access", LanguageFeature::kUndefined},
+ {"pointercompositennaccCss", LanguageFeature::kUndefined},
+ {"readonly_and_AeawriteqqstorageHHtextures", LanguageFeature::kUndefined},
+ {"readonly_and_readwrite_storge_textures", LanguageFeature::kUndefined},
+ {"reaonly_and_redwrite_storageKKtexturef", LanguageFeature::kUndefined},
+ {"szegg_bidPng_lrray", LanguageFeature::kUndefined},
+ {"sized_binding_arry", LanguageFeature::kUndefined},
+ {"sizec_biTT4ing_aNray", LanguageFeature::kUndefined},
+ {"pp7bgloup_id", LanguageFeature::kUndefined},
+ {"sNNbgzzp_id", LanguageFeature::kUndefined},
+ {"suubbgXXupid", LanguageFeature::kUndefined},
+ {"ubgroup_uniformity", LanguageFeature::kUndefined},
+ {"sbgKoup_88nfoQmity", LanguageFeature::kUndefined},
+ {"subgrou9_uniforqiy", LanguageFeature::kUndefined},
+ {"texel_buf11ers", LanguageFeature::kUndefined},
+ {"Fie22el_bffers", LanguageFeature::kUndefined},
+ {"teel_buffer77", LanguageFeature::kUndefined},
+ {"texturN_and_sampler_l2t", LanguageFeature::kUndefined},
+ {"textureVVand_sampler_let", LanguageFeature::kUndefined},
+ {"texture_Fnd_sa11WWler_wet", LanguageFeature::kUndefined},
+ {"wwniform_buffer_standad_layout", LanguageFeature::kUndefined},
+ {"uniform_buffer_sDandard_layout", LanguageFeature::kUndefined},
+ {"uniform_uffer_standarK_layout", LanguageFeature::kUndefined},
+ {"uhrestricted_PPoi11ter_parametrrf", LanguageFeature::kUndefined},
+ {"urestricted_pointer_parameters", LanguageFeature::kUndefined},
+ {"unrestricted_pointer_paYYameters", LanguageFeature::kUndefined},
};
using LanguageFeatureParseTest = testing::TestWithParam<LanguageFeatureCase>;
diff --git a/src/tint/lang/wgsl/inspector/inspector.cc b/src/tint/lang/wgsl/inspector/inspector.cc
index 321395f..2612740 100644
--- a/src/tint/lang/wgsl/inspector/inspector.cc
+++ b/src/tint/lang/wgsl/inspector/inspector.cc
@@ -714,8 +714,8 @@
return;
}
- // A texture of `sem::Call` means we're dealing with a `getBinding` or
- // `hasBinding` call. Skip it.
+ // A texture of `sem::Call` means we're dealing with a `getResource` or
+ // `hasResource` call. Skip it.
if (call->Arguments()[size_t(texture_index)]->Is<sem::Call>()) {
return;
}
diff --git a/src/tint/lang/wgsl/reader/parser/enable_directive_test.cc b/src/tint/lang/wgsl/reader/parser/enable_directive_test.cc
index d5a2584..e589f65 100644
--- a/src/tint/lang/wgsl/reader/parser/enable_directive_test.cc
+++ b/src/tint/lang/wgsl/reader/parser/enable_directive_test.cc
@@ -203,7 +203,7 @@
// Error when unknown extension found
EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), R"(1:8: expected extension
-Possible values: 'chromium_disable_uniformity_analysis', 'chromium_experimental_barycentric_coord', 'chromium_experimental_dynamic_binding', 'chromium_experimental_framebuffer_fetch', 'chromium_experimental_pixel_local', 'chromium_experimental_resource_table', 'chromium_experimental_subgroup_matrix', 'chromium_experimental_subgroup_size_control', 'chromium_internal_graphite', 'chromium_internal_input_attachments', 'clip_distances', 'dual_source_blending', 'f16', 'primitive_index', 'subgroups')");
+Possible values: 'chromium_disable_uniformity_analysis', 'chromium_experimental_barycentric_coord', 'chromium_experimental_framebuffer_fetch', 'chromium_experimental_pixel_local', 'chromium_experimental_resource_table', 'chromium_experimental_subgroup_matrix', 'chromium_experimental_subgroup_size_control', 'chromium_internal_graphite', 'chromium_internal_input_attachments', 'clip_distances', 'dual_source_blending', 'f16', 'primitive_index', 'subgroups')");
auto program = p->program();
auto& ast = program.AST();
EXPECT_EQ(ast.Enables().Length(), 0u);
diff --git a/src/tint/lang/wgsl/resolver/validator.cc b/src/tint/lang/wgsl/resolver/validator.cc
index 367e3d3..59bdf9e 100644
--- a/src/tint/lang/wgsl/resolver/validator.cc
+++ b/src/tint/lang/wgsl/resolver/validator.cc
@@ -465,15 +465,6 @@
return false;
}
- if (t->Count()->Is<core::type::RuntimeArrayCount>()) {
- if (!enabled_extensions_.Contains(wgsl::Extension::kChromiumExperimentalDynamicBinding)) {
- AddError(source) << "use of a runtime " << style::Attribute("binding_array")
- << " requires enabling extension "
- << style::Code("chromium_experimental_dynamic_binding");
- return false;
- }
- }
-
if (!t->Count()->Is<core::type::ConstantArrayCount>()) {
AddError(source) << "binding_array count must be a constant expression";
return false;
diff --git a/src/tint/lang/wgsl/wgsl.def b/src/tint/lang/wgsl/wgsl.def
index 4f7cc48..baee42c 100644
--- a/src/tint/lang/wgsl/wgsl.def
+++ b/src/tint/lang/wgsl/wgsl.def
@@ -99,8 +99,6 @@
chromium_experimental_subgroup_matrix
// A Chromium-specific extension for barycentric_coord support
chromium_experimental_barycentric_coord
- // A Chromium-specific extension for dynamic binding
- chromium_experimental_dynamic_binding
// A Chromium-specific extension for resource table
chromium_experimental_resource_table
// A Chromium-specific extension for the attribute `subgroup_size`
diff --git a/test/tint/builtins/gen/gen.wgsl.tmpl b/test/tint/builtins/gen/gen.wgsl.tmpl
index 2bea147..1df4484 100644
--- a/test/tint/builtins/gen/gen.wgsl.tmpl
+++ b/test/tint/builtins/gen/gen.wgsl.tmpl
@@ -13,7 +13,7 @@
{{- /* For each permutation of each overload of each function... */ -}}
{{- range $I.Sem.Builtins -}}
-{{ if and (and (and (and (not (HasPrefix .Name "_")) (not (HasPrefix .Name "getBinding"))) (not (HasPrefix .Name "getResource"))) (not (HasPrefix .Name "bufferView"))) (not (HasPrefix .Name "bufferLength")) }}
+{{ if and (and (and (not (HasPrefix .Name "_")) (not (HasPrefix .Name "getResource"))) (not (HasPrefix .Name "bufferView"))) (not (HasPrefix .Name "bufferLength")) }}
{{- range .Overloads -}}
{{- range $I.Permute . -}}
{{- /* Generate a ./literal/<function>/<permuataion-hash>.wgsl file using
@@ -326,7 +326,7 @@
enable subgroups;
{{ end -}}
-{{- /* Emit 'enable chromium_experimental_dynamic_binding' if required */ -}}
+{{- /* Emit 'enable chromium_experimental_resource_table' if required */ -}}
{{- if or (HasPrefix $builtin_name "getResource") (HasPrefix $builtin_name "hasResource")}}
enable chromium_experimental_resource_table;
{{ end -}}