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 <slightly...@chromium.org> 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
            <slightly...@chromium.org> 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

                    geoffl...@google.com


                            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 blink-dev+unsubscr...@chromium.org. 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 blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0040a029-a992-45c7-b31c-16c5e71ed4a3%40chromium.org.

Reply via email to