!FZyQrssSlHEZqrYcOb:matrix.org

In WebGPU we Rust

511 Members
wgpu-hal is here - https://github.com/gfx-rs/wgpu/pull/147144 Servers

Load older messages


SenderMessageTime
25 Jul 2021
@pythonesque:matrix.orgpythonesqueIn case people were wondering about progress23:44:55
26 Jul 2021
@kvark:matrix.orgkvarkalright, I'm going to finish the DX12 sprint on https://github.com/gfx-rs/wgpu/pull/172406:07:15
@kvark:matrix.orgkvarkI'm sure there are bugs hiding, incomplete Naga backend details, etc. But conceptually, we are miles ahead. A few months ago we were running the complex gfx-backend-dx12 on SPIRV-Cross. And now we are on a slick wgpu-hal-dx12 with pure Rust all the way.06:08:36
@kvark:matrix.orgkvarktime to catch up on the numerous issues Veloren team discovered06:09:41
@kvark:matrix.orgkvarkbtw, together DX12 API backend + HLSL shader backend are 8K LOC.06:11:21
@cwfitzgerald:matrix.orgcwfitzgeraldThat's great to hear06:19:15
@cwfitzgerald:matrix.orgcwfitzgerald8k is _tiny_06:19:21
@jonboj:matrix.orgjonboj changed their display name from Jonas Bojesen to jonboj.06:20:42
@kvark:matrix.orgkvarkforgot that I still need that firstVetex/firstInstance logic, so I guess one more thing to do be fore switching off13:36:31
@niklaskorz:matrix.orgniklaskorzFollowing the progress of wgpu has always been super exciting 😄 looking forward to using it for my master thesis next semester13:55:30
@cwfitzgerald:matrix.orgcwfitzgerald
In reply to @kvark:matrix.org
forgot that I still need that firstVetex/firstInstance logic, so I guess one more thing to do be fore switching off
how're you going to deal with indirect?
15:11:58
@kvark:matrix.orgkvarkgreat question!15:12:17
@kangz:matrix.orgKangzWhen doing validation you'd can copy into a larger buffer that also sets a root constant15:16:15
@kvark:matrix.orgkvarkhow do you set it as a root constant if it's in a buffer?15:16:39
@cwfitzgerald:matrix.orgcwfitzgeraldthe validation compute shader would be copying to an internal buffer15:17:21
@kvark:matrix.orgkvarkthe base instance is not allowed in WebGPU in indirect buffers, that's a bit helpful15:17:35
@kvark:matrix.orgkvarkwe'd need the run-time to have a switch: "am I an indirect draw call?" and then picking either the root-overridden value or the other one...15:18:10
@cwfitzgerald:matrix.orgcwfitzgeraldwell wouldn't we be shipping the offset in a root constant anyway15:18:41
@kvark:matrix.orgkvarkwe will, but we can't know this offset for indirect buffer call15:19:02
@kvark:matrix.orgkvarkso we'd have 2 different pieces of data in the shader: one set by root constants, and one coming in a buffer (CBV, I suppose).15:19:27
@kangz:matrix.orgKangzIn D3D12 you can have indirect commands that are several commands. So in this case it would be "SetRootConstant" then "Draw"15:19:54
@kvark:matrix.orgkvarkthe CBV part would be coming from the indirect call itself15:20:00
@cwfitzgerald:matrix.orgcwfitzgeraldyou could use execute indirect's ability to set root constants15:20:02
@kvark:matrix.orgkvark I'm very not excited about using the indirect command buffers for this 15:20:41
@cwfitzgerald:matrix.orgcwfitzgeraldI am also very not excited about inserting validation compute shaders at all, especially for multi-draw-indirect15:23:44
@cwfitzgerald:matrix.orgcwfitzgeraldwhat's your concern with using indirect?15:24:53
@kvark:matrix.orgkvarkI just wasn't sure how it would work15:29:36
@kvark:matrix.orgkvarknow looking at it again, maybe it's ok15:29:43
@kvark:matrix.orgkvarkwe already use the indirect commands for ... indirect draws15:29:55
@kvark:matrix.orgkvarkso it's just a matter of making them more complex15:30:07

There are no newer messages yet.


Back to Room List