Sender | Message | Time |
---|---|---|
2 Feb 2023 | ||
Hi, I'm new to gpu programming, started learning GPGPU programming using The I was able to put-together the following with my limited understanding of wgpu.
Is the above correct? If yes, would I also be right to say - mapping host buffers in wgpu does not involve adding any commands to the GPU command queue. | 17:37:18 | |
* Hi, I'm new to gpu programming, started learning GPGPU programming using The I was able to put-together the following with my limited understanding of wgpu.
Is the above correct? If yes, would I also be right to say - mapping host buffers in wgpu does not involve adding any commands to the GPU command queue. | 17:38:17 | |
* Hi, I'm new to gpu programming, started learning GPGPU programming using The I was able to put-together the following with my limited understanding of wgpu.
Is the above correct? If yes, would I also be right to say - mapping host buffers in wgpu does not involve adding any commands to the GPU command queue. | 17:45:54 | |
That sounds about right | 18:16:52 | |
The only thing I'd say is that the thing that does the last bullet point is a call to device.maintain (an internal call) which is called by both poll and submit | 18:22:01 | |
If a buffer can be mapped by the CPU, it's probably allocated on the CPU side, it's just that the GPU also has the ability to read/write from it across the PCIe bus | 18:25:42 | |
I believe this is the case for all buffers allocated by wgpu today. | 18:25:53 | |
any recommendations for reading material. Some of these concepts are pretty new to me. I noticed WebGPU is an in-progress standard and detailed documentation is sparse | 18:26:15 | |
at a high level it's really similar to vulkan, so references for that are okay as long as you're aware which features are missing/different | 18:30:18 | |
but there is a webgpu best practices site I like to look at too, and some examples of more complicated things on GitHub too | 18:30:55 | |
* any recommendations for reading material. Some of these concepts are pretty new to me. I noticed WebGPU is an in-progress standard and detailed documentation is sparse | 18:30:57 | |
In reply to @jasperrlz:matrix.orgInteresting | 18:35:16 | |
The map/unmap checks are just making sure that the GPU doesn't have the ability to read/write to the buffer at the same time | 18:37:04 | |
Vulkan/D3D12 don't do these checks, you have to take care of the data races yourself | 18:37:28 | |
In reply to @codetoilet:matrix.orgIs this the one -https://github.com/toji/webgpu-best-practices | 18:37:54 | |
I think so yeah | 18:39:34 | |
I'm also pretty new to the modern rendering apis and I found it useful when in the growing pains of my renderer | 18:40:03 | |
Thank you | 18:40:50 | |
20:09:05 | ||
20:09:24 | ||
I know there is a downlevel flag for compute. What else was gles 3.0 using again that meant we couldn't use gles 2.0 in wgpu? | 20:31:47 | |
In reply to @i509vcb:matrix.orgUniform buffers | 20:33:04 | |
We would have to completely changed the binding model | 20:33:21 | |
I guess we could go push constants only which would be a little weird | 20:33:39 | |
I was going to try to take wgpu for a spin on a downlevel config on asahi linux but I guess uniform buffers kind of block that. (Compute isn't implemented yet pretty much) | 20:35:08 | |
Full gles 3 will happen anyways eventually, so I probably won't need such a thing | 20:37:14 | |
Gles 3.0 can run on basically anything at this point | 20:43:34 | |
Yeah it's pretty much everywhere, especially with Mesa doing all the api side stuff | 20:47:00 | |
I'll definitely be one of the first to try out vulkan when that driver develops on the arm macs on Linux | 20:47:24 | |
I've heard that vkcube (somewhat modified) does work on the experimental driver | 20:48:04 |