!MFogdGJfnZLrDmgkBN:matrix.org

WebGPU

676 Members
The future of graphics and compute on the Web! Related rooms: https://matrix.to/#/#webgraphics:matrix.org46 Servers

Load older messages


SenderMessageTime
10 Dec 2023
@absulit:matrix.orgabsulitand that doesn't work, but if I use it like in your example with an array<vec4f, 6> it does work21:17:00
@absulit:matrix.orgabsulitthere's something in the alignment and in the size that I don't quite get21:17:20
@absulit:matrix.orgabsulit

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:matrix.orgabsulitSo I don't know what am doing wrong here, is not like adding some padding at the end fixes it21:20:40
@creepinson:matrix.orgTheo 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
@conorpo:matrix.orgConor OMalleya7129864359b79dfad4c44a7c589d9fb.png
Download a7129864359b79dfad4c44a7c589d9fb.png
01:21:45
@conorpo:matrix.orgConor OMalleyhow come I can't see the second flag: i have the latest version of chrome01:21:50
@scott_michaud_riv:matrix.orgscott_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:matrix.orgscott_michaud_rivAs 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:matrix.orgscott_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
@conorpo:matrix.orgConor OMalleyRedacted or Malformed Event01:55:48
@conorpo:matrix.orgConor OMalleyty that worked for me, so does nobody see this falg 01:58:23
@conorpo:matrix.orgConor OMalley * ty that worked for me, so does nobody see this flag? 01:58:29
@conorpo:matrix.orgConor OMalley3446346e99bde4966c86dbe300e6ebd0.png
Download 3446346e99bde4966c86dbe300e6ebd0.png
02:12:57
@conorpo:matrix.orgConor OMalleyayy02:13:03
@scott_michaud_riv:matrix.orgscott_michaud_rivimage.png
Download image.png
02:45:08
@scott_michaud_riv:matrix.orgscott_michaud_rivHmm. 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:matrix.orgscott_michaud_riv(Not WebGPU related but yeah.)02:45:33
@scott_michaud_riv:matrix.orgscott_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:matrix.orgscott_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:matrix.orgscott_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:matrix.orgscott_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:matrix.orgscott_michaud_rivOn the plus side, Canary has the graph again, although Stable and Beta do not.03:19:06
@scott_michaud_riv:matrix.orgscott_michaud_rivimage.png
Download image.png
03:19:07
@scott_michaud_riv:matrix.orgscott_michaud_rivIt'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:matrix.orgscott_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:matrix.orgscott_michaud_rivIn 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:matrix.orgscott_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:matrix.orgscott_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:matrix.orgscott_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

There are no newer messages yet.


Back to Room ListRoom Version: 5