From d7b92bee2dcf0f37137a6c9ce658c77e2a98104f Mon Sep 17 00:00:00 2001 From: Chris Mills Date: Thu, 16 Oct 2025 14:43:31 +0100 Subject: [PATCH 1/3] Chromium 138 size requirement changes for GPUBuffers mapped at creation --- api/GPUDevice.json | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/api/GPUDevice.json b/api/GPUDevice.json index 95edac810f819d..204933c87d42c5 100644 --- a/api/GPUDevice.json +++ b/api/GPUDevice.json @@ -393,6 +393,47 @@ "standard_track": true, "deprecated": false } + }, + "rangeerror_if_mappedatcreation_true_and_size_not_4_multiple": { + "__compat": { + "description": "`RangeError` thrown if `mappedAtCreation` is `true` and `size` is not a multiple of `4`.", + "tags": [ + "web-features:webgpu" + ], + "support": { + "chrome": { + "version_added": "138", + "partial_implementation": true, + "notes": "Supported on ChromeOS, macOS, and Windows only." + }, + "chrome_android": { + "version_added": "138" + }, + "deno": { + "version_added": false + }, + "edge": "mirror", + "firefox": { + "version_added": false + }, + "firefox_android": "mirror", + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": false + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror", + "webview_ios": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } } }, "createCommandEncoder": { From a70adad681cf20a71b88175837aa28dc95e5f9f9 Mon Sep 17 00:00:00 2001 From: Chris Mills Date: Fri, 17 Oct 2025 13:46:52 +0100 Subject: [PATCH 2/3] Update api/GPUDevice.json Co-authored-by: Claas Augner <495429+caugner@users.noreply.github.com> --- api/GPUDevice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/GPUDevice.json b/api/GPUDevice.json index 204933c87d42c5..eb2e9e7420fbc6 100644 --- a/api/GPUDevice.json +++ b/api/GPUDevice.json @@ -394,7 +394,7 @@ "deprecated": false } }, - "rangeerror_if_mappedatcreation_true_and_size_not_4_multiple": { + "throws_RangeError_if_mappedAtCreation_and_size_not_multiple_of_4": { "__compat": { "description": "`RangeError` thrown if `mappedAtCreation` is `true` and `size` is not a multiple of `4`.", "tags": [ From 9c75126ec9d6b842f9c609b7c8e5d4ac3574385a Mon Sep 17 00:00:00 2001 From: Chris Mills Date: Mon, 20 Oct 2025 13:44:43 +0100 Subject: [PATCH 3/3] Turn data point into note --- api/GPUDevice.json | 46 ++++------------------------------------------ 1 file changed, 4 insertions(+), 42 deletions(-) diff --git a/api/GPUDevice.json b/api/GPUDevice.json index eb2e9e7420fbc6..f153f50f8ed3c9 100644 --- a/api/GPUDevice.json +++ b/api/GPUDevice.json @@ -348,7 +348,10 @@ "chrome": { "version_added": "113", "partial_implementation": true, - "notes": "Supported on ChromeOS, macOS, and Windows only." + "notes": [ + "Supported on ChromeOS, macOS, and Windows only.", + "Before version 138, this method does not throw a `RangeError` exception when `mappedAtCreation` is true but `size` is not a multiple of 4; it generates a validation error instead." + ] }, "chrome_android": { "version_added": "121" @@ -393,47 +396,6 @@ "standard_track": true, "deprecated": false } - }, - "throws_RangeError_if_mappedAtCreation_and_size_not_multiple_of_4": { - "__compat": { - "description": "`RangeError` thrown if `mappedAtCreation` is `true` and `size` is not a multiple of `4`.", - "tags": [ - "web-features:webgpu" - ], - "support": { - "chrome": { - "version_added": "138", - "partial_implementation": true, - "notes": "Supported on ChromeOS, macOS, and Windows only." - }, - "chrome_android": { - "version_added": "138" - }, - "deno": { - "version_added": false - }, - "edge": "mirror", - "firefox": { - "version_added": false - }, - "firefox_android": "mirror", - "oculus": "mirror", - "opera": "mirror", - "opera_android": "mirror", - "safari": { - "version_added": false - }, - "safari_ios": "mirror", - "samsunginternet_android": "mirror", - "webview_android": "mirror", - "webview_ios": "mirror" - }, - "status": { - "experimental": true, - "standard_track": true, - "deprecated": false - } - } } }, "createCommandEncoder": {