10 Dec 2023 |
absulit | and that doesn't work, but if I use it like in your example with an array<vec4f, 6> it does work | 21:17:00 |
absulit | there's something in the alignment and in the size that I don't quite get | 21:17:20 |
absulit | The warning says:
Tint WGSL reader failure: :2:8 error: uniform storage requires that array elements are aligned to 16 bytes, but array element of type 'f32' has a stride of 4 bytes. Consider using a vector or struct as the element type instead. test5:array<f32, 4>, ^^^^^^^^^^^^^
:1:1 note: see layout of struct: /* align(4) size(16) / struct Params { / offset( 0) align(4) size(16) / test5 : array<f32, 4>; / */ };
| 21:19:01 |
absulit | So I don't know what am doing wrong here, is not like adding some padding at the end fixes it | 21:20:40 |
Theo Paris | I'm not sure if this is the best place to ask (There's no webkit matrix channel or discord server that I can find...) but I am trying to enable webgpu with an experimental webkitsettings feature from the C api and it doesn't seem to work. The webkit webgpu samples page from github.io still says "WebGPU is not Enabled". I am using a linux machine so maybe it is only supported on macos/safari (https://caniuse.com/?search=webgpu). | 23:47:23 |
11 Dec 2023 |
Conor OMalley |  Download a7129864359b79dfad4c44a7c589d9fb.png | 01:21:45 |
Conor OMalley | how come I can't see the second flag:
i have the latest version of chrome | 01:21:50 |
scott_michaud_riv | You can toggle timestamps on the render and compute passes, although you'll need to pass a command-line argument (or use Canary or Dev apparently). https://www.chromium.org/getting-involved/dev-channel/
const device = await adapter.requestDevice({requiredFeatures: ["timestamp-query"],});
The specific field is "timestampWrites" on GPUCommandEncoder::beginRenderPass()
https://developer.mozilla.org/en-US/docs/Web/API/GPUCommandEncoder/beginRenderPass
From there it's 1) Making sure that the render pass times is as big as expected (ie: is it really the GPU? Probably, but double-check) and 2) Fiddle with parameters (in your code) and see what makes the biggest impact (even if the output gets messed up)
From there we can think about why the biggest impact things are big impact.
| 01:26:51 |
scott_michaud_riv | As of launch it's ChromeOS, Windows, and macOS (Google Chrome) only (for stable).
https://developer.chrome.com/blog/webgpu-release
Not sure about Dev/Canary/etc., and whether anything has changed since the blog post. | 01:29:59 |
scott_michaud_riv | No idea what that flag is talking about, but timestamp-query is enabled on Stable with the following command-line command (on macOS... the arguments should be the same elsewhere but with a different path to Chrome)
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --enable-dawn-features=allow_unsafe_apis
| 01:42:33 |
Conor OMalley | Redacted or Malformed Event | 01:55:48 |
Conor OMalley | ty that worked for me, so does nobody see this falg
| 01:58:23 |
Conor OMalley | * ty that worked for me, so does nobody see this flag? | 01:58:29 |
Conor OMalley |  Download 3446346e99bde4966c86dbe300e6ebd0.png | 02:12:57 |
Conor OMalley | ayy | 02:13:03 |
scott_michaud_riv |  Download image.png | 02:45:08 |
scott_michaud_riv | Hmm. Since upgrading to Chrome 120 (which may just be a coincidence) I stopped getting the Memory graphs on the Performance tab of Chrome's profiler (ex: JS Heap). | 02:45:11 |
scott_michaud_riv | (Not WebGPU related but yeah.) | 02:45:33 |
scott_michaud_riv | And Beta and Canary both say `error: missing new binding points for texture_external at binding {0,0}
- While calling [Device].CreateRenderPipeline`
| 02:59:19 |
scott_michaud_riv | * And Beta and Canary both say `error: missing new binding points for texture_external at binding {0,0}
- While calling [Device].CreateRenderPipeline`
((This one is related to WebGPU))
| 03:15:01 |
scott_michaud_riv | * And Beta and Canary both say `error: missing new binding points for texture_external at binding {0,0}
- While calling [Device].CreateRenderPipeline`
((This one is related to WebGPU))
Just in case, it persists after a reboot, and regular Chrome compiles the pipeline just fine.
| 03:15:28 |
scott_michaud_riv | * And Beta and Canary both say `error: missing new binding points for texture_external at binding {0,0}
- While calling [Device].CreateRenderPipeline`
((This one is related to WebGPU))
Just in case, it persists after a reboot, and regular Chrome compiles the pipelines just fine.
| 03:15:33 |
scott_michaud_riv | On the plus side, Canary has the graph again, although Stable and Beta do not. | 03:19:06 |
scott_michaud_riv |  Download image.png | 03:19:07 |
scott_michaud_riv | It's O(n/p). n refers to the number of elements, which is a different variable from the number of processors.
Of course p >= n can happen, but they are two distinct variables. | 04:49:26 |
scott_michaud_riv | * It's O(n/p). n refers to the number of elements, which is a different variable from the number of processors (p).
Of course p >= n can happen, but they are two distinct variables.
| 04:49:36 |
scott_michaud_riv | In order for p to affect n's complexity, then p would have to scale with n's complexity in some way. p is just a very big constant (for a specific device). | 04:50:46 |
scott_michaud_riv | * It's O(n/p). n refers to the number of elements, which is a different variable from the number of processors (p).
Of course p >= n can happen, but they are two distinct variables. If you allow n to keep growing then it will keep growing without any regard to p.
| 04:53:04 |
scott_michaud_riv | * It's O(n/p). n refers to the number of work-item / elements, which is a different variable from the number of processors (p).
Of course p >= n can happen, but they are two distinct variables. If you allow n to keep growing then it will keep growing without any regard to p.
| 04:53:56 |
scott_michaud_riv | * It's O(n/p). n refers to the number of work-item elements, which is a different variable from the number of processors (p).
Of course p >= n can happen, but they are two distinct variables. If you allow n to keep growing then it will keep growing without any regard to p.
| 04:54:03 |