Bug 189955 - [WHLSL] Implement Metal code generation for semantics and buffers
Summary: [WHLSL] Implement Metal code generation for semantics and buffers
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGPU (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Thomas Denney
Depends on:
Blocks: 176199 189202
  Show dependency treegraph
Reported: 2018-09-25 11:09 PDT by Thomas Denney
Modified: 2018-10-13 14:51 PDT (History)
2 users (show)

See Also:

WIP (516.90 KB, patch)
2018-09-28 16:47 PDT, Thomas Denney
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Denney 2018-09-25 11:09:22 PDT
There is no support for the new semantic syntax introduced in https://bugs.webkit.org/show_bug.cgi?id=189134.
Comment 1 Thomas Denney 2018-09-25 11:33:52 PDT
As part of the support for this, I’m going to rewrite the way that code generation for entry points works, so that the following is now true:

* All stage_in parameters are collected into a single struct type with appropriate attributes set based on semantics (e.g. position, other offsets)
* All other parameters (buffers, textures, etc) are separated out with appropriate offsets/attributes determined based on the semantics in the original WHLSL
* Entry points in WHLSL are just compiled as regular Metal functions, as they were before, except that now an additional wrapper method unpacks the new parameters and repacks them in the style expected by WHLSL, and the same is true on the return.
Comment 2 Thomas Denney 2018-09-28 16:47:01 PDT
Created attachment 351141 [details]
Comment 3 Myles C. Maxfield 2018-10-13 14:23:08 PDT
Migrated to https://api.github.com/repos/gpuweb/WHLSL/issues/25
Comment 4 Myles C. Maxfield 2018-10-13 14:51:58 PDT