LGTM1 On Thursday, September 26, 2024 at 10:52:51 PM UTC+2 Alex Russell wrote:
> Thanks, Ken. I suspected most of this, but thanks for filling in the > background and detail. > > Again, I'm happy to let this go forward, just wanted to clarify how this > can go more smoothly in the future, particularly re: putting this kind of > thing in an Explainer and filing early w/ the TAG. > > Best, > > Alex > > On Wed, Sep 25, 2024 at 3:32 PM Ken Russell <k...@chromium.org> wrote: > >> Hi Alex, >> >> I don't want to speak for Jiawei but would like to provide a little more >> background. This exposes a GPU hardware feature which allows the >> application to specify additional clipping planes (in the form of distances >> from the current vertex to each of those implicitly-specified planes) which >> apply to geometry being drawn. The WebGPU API abstracts over this hardware >> functionality, which is exposed by the underlying graphics APIs such as >> Direct3D, Metal and Vulkan, on top of which WebGPU is implemented. >> >> I have not personally used this functionality, but >> https://github.com/KhronosGroup/WebGL/issues/3109 captures a discussion >> which motivated adding a similar extension to WebGL. The hardware feature >> is faster, and provides higher quality visual results, than attempting to >> emulate its behavior at the user level, which would generally be done by >> discarding individual pixels in the fragment shader. >> https://github.com/gpuweb/gpuweb/issues/390 contains the public >> discussion adding the feature to WebGPU. >> >> It would be a fair amount of work to write up an explainer for every GPU >> hardware feature that the WebGPU working group collectively agrees to add >> either to the core specification or as an optional feature. In this and >> many other cases there is no alternative to be considered; it's basically >> either expose the hardware feature, or not. >> >> -Ken >> >> >> >> On Wed, Sep 25, 2024 at 2:22 PM Alex Russell <slightly...@chromium.org> >> wrote: >> >>> Hey Jiawei, >>> >>> Thanks for filing this intent. It would be good if you opened explicit >>> requests for position from Mozilla. We try not to impute stances based on >>> WG conversations for a lot of reasons, but primarily because other engines >>> have asked us not to. >>> >>> On TAG review, I agree that this is a small feature that doesn't need >>> additional oversight and alignment, and I'll stand in on this one to say it >>> looks OK. >>> >>> That said, it would be good to see an Explainer that outlines the value >>> of the feature and how this will be used in real code to solve an important >>> problem. Particularly if there were other alternatives considered. >>> >>> Also, asking for the TAG to look over something should come well before >>> something lands in spec text, which is why our process recommends you begin >>> that at Intent to Prototype phase. In this case, if you'd reached out when >>> clipping was proposed, you would probably have already produced an >>> explainer and gotten the TAG to indicate that they don't feel they need to >>> review it, saving you time at this step. >>> >>> Best, >>> >>> Alex >>> >>> On Tuesday, September 24, 2024 at 7:25:54 PM UTC-7 jiawe...@intel.com >>> wrote: >>> >>>> Done >>>> >>>> On Wednesday, September 25, 2024 at 8:06:02 AM UTC+8 >>>> vmp...@chromium.org wrote: >>>> >>>>> Hey, >>>>> >>>>> Do you mind filing the reviews for other chips: >>>>> [image: cs.png] >>>>> >>>>> Thanks! >>>>> Vlad >>>>> >>>>> On Mon, Sep 23, 2024 at 11:07 PM Shao, Jiawei <jiawe...@intel.com> >>>>> wrote: >>>>> >>>>>> *Contact emails* >>>>>> >>>>>> jiawe...@intel.com >>>>>> >>>>>> >>>>>> *Explainer* >>>>>> >>>>>> The “clip-distances” GPU feature adds the WGSL built-in variable >>>>>> @builtin(clip_distances) to allow a vertex shader to output user-defined >>>>>> clip distances. https://github.com/gpuweb/gpuweb/pull/4588 >>>>>> >>>>>> >>>>>> *Specification* >>>>>> >>>>>> https://gpuweb.github.io/gpuweb/#dom-gpufeaturename-clip-distances >>>>>> >>>>>> >>>>>> *Summary* >>>>>> >>>>>> Adds the optional GPU feature "clip-distances" that allows setting >>>>>> user-defined clip distances in vertex shader outputs. This technique is >>>>>> particularly useful for the applications that need to clip all vertices >>>>>> in >>>>>> a scene that are beyond a user-defined plane, such as many CAD >>>>>> applications. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> *Blink component* >>>>>> >>>>>> Blink>WebGPU >>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebGPU> >>>>>> >>>>>> >>>>>> *TAG review* >>>>>> >>>>>> None >>>>>> >>>>>> >>>>>> *TAG review status* >>>>>> >>>>>> Pending >>>>>> >>>>>> >>>>>> *Risks* >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> *Interoperability and Compatibility* >>>>>> >>>>>> This feature has been approved in W3C GPU for the Web WG meetings >>>>>> including participants from Safari and Firefox. Related meeting minutes: >>>>>> https://github.com/gpuweb/gpuweb/wiki/GPU-Web-2024-05-29#add-optional-feature-clip-distances-if-there-are-new-questions-4588 >>>>>> >>>>>> >>>>>> >>>>>> *Gecko*: No signal (Mozilla members have approved >>>>>> https://github.com/gpuweb/gpuweb/pull/4588 and requested during >>>>>> weekly standardization meetings that we postpone filing standard >>>>>> positions >>>>>> until we reach Candidate Recommendation (CR) status in Q4) >>>>>> >>>>>> *WebKit*: Positive ( >>>>>> https://github.com/WebKit/standards-positions/issues/294#issuecomment-1877411933 >>>>>> ) >>>>>> >>>>>> *Web developers*: Positive ( >>>>>> https://github.com/gpuweb/gpuweb/issues/390) >>>>>> >>>>>> *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 >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> *Goals for experimentation* >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> *Ongoing technical constraints* >>>>>> >>>>>> 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. All the tests about this feature in WebGPU CTS can be found >>>>>> through the below link: https://github.com/gpuweb/cts/issues/3773 >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> *Flag name on chrome://flags* >>>>>> >>>>>> None >>>>>> >>>>>> >>>>>> *Finch feature name* >>>>>> >>>>>> WebGPU.Enabled:UnsafeFeatures >>>>>> >>>>>> >>>>>> *Requires code in //chrome?* >>>>>> >>>>>> False >>>>>> >>>>>> >>>>>> *Tracking bug* >>>>>> >>>>>> https://issues.chromium.org/issues/358408571 >>>>>> >>>>>> >>>>>> *Estimated milestones* >>>>>> >>>>>> No milestones specified >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> *Link to entry on the Chrome Platform Status* >>>>>> >>>>>> https://chromestatus.com/feature/5141929256550400 >>>>>> >>>>>> 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+...@chromium.org. >>>>>> >>>>> >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM4PR11MB623701939A127A3BA2309335ED682%40DM4PR11MB6237.namprd11.prod.outlook.com >>>>>> >>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM4PR11MB623701939A127A3BA2309335ED682%40DM4PR11MB6237.namprd11.prod.outlook.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 on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6e10c833-c870-4070-939a-b53b4c764c6an%40chromium.org >>> >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6e10c833-c870-4070-939a-b53b4c764c6an%40chromium.org?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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4be99bff-1fdb-4778-907d-bc5acb5a07f9n%40chromium.org.