LGTM2 On 10/23/24 12:57 PM, 'Geoff Lang' via blink-dev wrote:
On Wednesday, October 23, 2024 at 8:21:22 AM UTC-7 Yoav Weiss wrote:Can y'all flip the review bits for privacy/security/enterprise/testing/debuggability? Done!On Wed, Oct 23, 2024 at 11:23 AM Alex Russell <[email protected]> wrote:Thanks for the explanation, Geoff. We discussed at today's OWNERS meeting, and with that conversation I'm comfortable with the change. LGTM1 On Wednesday, October 23, 2024 at 8:21:22 AM UTC-7 Yoav Weiss wrote: Can y'all flip the review bits for privacy/security/enterprise/testing/debuggability? On Thursday, October 17, 2024 at 12:05:03 PM UTC-7 Geoff Lang wrote: I'll describe a use case that become better/possible: The user creates a texture with the 'bgra8unorm' format but as an additional view format of 'rgba8unorm-srgb': const texture = device.createTexture({ size: [4, 4], format: 'rgba8unorm', usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.STORAGE_BINDING, viewFormats: ['rgba8unorm-srgb'], }); const view = texture.createView({ format: 'rgba8unorm-srgb', }); If the user creates this view of this texture using the 'rgba8unorm-srgb' format, it won't be usable as a storage texture despite requesting the texture having STORAGE_BINDING usage because 'rgba8unorm-srgb' does not support this usage. By adding a usage field to view creation, the browser can do validation up-front that the usage is compatible and allow users to specify even smaller subsets of usage that are specific to how the view will be used: const view = texture.createView({ format: 'rgba8unorm-srgb', usage: GPUTextureUsage.RENDER_ATTACHMENT, }); This also mirrors how other graphics APIs work, usage flags are also creation parameters to view creation. It allows more optimizations at the graphics driver level. There's some more discussion in this github issue: https://github.com/gpuweb/gpuweb/issues/4426 Let me know if there's anything else you want to know or if I should write this up somewhere else. Thanks, Geoff On Thu, Oct 17, 2024 at 6:20 AM Alex Russell <[email protected]> wrote: Is there a description somewhere of what problem this solves? I'm having trouble grokking why this is useful. Best, Alex On Thursday, October 17, 2024 at 12:54:20 AM UTC+5:30 Chromestatus wrote: Contact emails [email protected] Explainer None Specification https://github.com/gpuweb/gpuweb/commit/b39d86d356eb759d7564bc7c808ca62fce8bbf3e Summary Adds an optional field to WebGPU texture view creation to request a subset of the usage flags from the source texture. By default, texture view usage inherits from the source texture but there are view formats which can be incompatible with the full set of inherited usages. Adding a usage field to texture view creation allows the user request a subset of the source texture's usages that are valid with the view format and specific to their intended usage of the texture view. WebGPU implementations can also optimize the creation of low level resources and improve performance when using views with more specialized usage flags. Blink component Blink>WebGPU <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebGPU> TAG review None TAG review status Not applicable Risks Interoperability and Compatibility This feature has been approved in W3C GPU for the Web WG meetings including participants from Safari and Firefox: https://github.com/gpuweb/gpuweb/wiki/GPU-Web-2024-07-24#createtexture-does-not-validate-viewformats-against-usage-4426 /Gecko/: No signal /WebKit/: Closed Without a Position (https://github.com/WebKit/standards-positions/issues/294#issuecomment-1877411933) /Web developers/: No signals /Other signals/: WebView application risks Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? None Debuggability None Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? No All platforms will eventually have support. Will immediately be available on Android, Android WebView, ChromeOS, Mac, and Windows, where hardware support is available. Linux is planned to have WebGPU support in the future, so this feature will become available when WebGPU does. Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>? Yes WebGPU/WGSL have a conformance test suite (https://github.com/gpuweb/cts) that is regularly pulled into Chromium and part of the testing of Dawn/Tint in Chromium. While the CTS can be embedded in WPT, the WebGPU team opted to keep it separate in Chromium testing to use a customized harness for robustness and performance. Tests were added in this PR: https://github.com/gpuweb/cts/commit/1746bcbc10a809cbadb3b131675b885ed08d9da5 Flag name on chrome://flags None Finch feature name WebGPU.Enabled:UnsafeFeatures Requires code in //chrome? False Tracking bug https://bugs.chromium.org/363903526 Estimated milestones No milestones specified Anticipated spec changes Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way). None Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5155252832305152?gate=5152335609987072 This intent message was generated by Chrome Platform Status <https://chromestatus.com>. --You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2BPGBXss7ZTcRh_fWH%2BkfXKZ0usj_fV6u-W8HEuOEST_z6EFog%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2BPGBXss7ZTcRh_fWH%2BkfXKZ0usj_fV6u-W8HEuOEST_z6EFog%40mail.gmail.com?utm_medium=email&utm_source=footer>.
-- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0040a029-a992-45c7-b31c-16c5e71ed4a3%40chromium.org.
