People
Repo info
Activity
  • 08:35
    jeancf closed #2959
  • 08:35
    jeancf commented #2959
  • 08:09
    aleksijuvani commented #2959
  • 07:59
    Lokathor edited #2956
  • 07:41
    rukai commented #2959
  • 07:38
    jeancf opened #2959
  • 07:14
    omni-viral commented #2956
  • Aug 15 22:40
    Lokathor commented #2956
  • Aug 15 22:38
    simonrepp commented #2956
  • Aug 15 19:36
    Lokathor labeled #2958
  • Aug 15 19:36
    Lokathor labeled #2958
  • Aug 15 19:36
    Lokathor opened #2958
  • Aug 15 19:06
    Lokathor labeled #2957
  • Aug 15 19:06
    Lokathor labeled #2957
  • Aug 15 19:06
    Lokathor labeled #2957
  • Aug 15 19:06
    Lokathor labeled #2957
  • Aug 15 19:06
    Lokathor opened #2957
  • Aug 15 19:03
    Lokathor labeled #2956
  • Aug 15 19:03
    Lokathor labeled #2956
  • Aug 15 19:03
    Lokathor labeled #2956
Dzmitry Malyshau
@kvark
holy smokes, 1.5K removed LOC in #2948 :fearful:
Yatekii
@Yatekii
woha cool :D
Timo de Kort
@Napokue
Great job! :) @kvark
Zakarum
@omni-viral
@grovesNL grovesNL/glow#31 r?
Zakarum
@omni-viral
@kvark gfx-rs/gfx#2949 r?
Zakarum
@omni-viral
Dzmitry Malyshau
@kvark
somewhat straightforward issue for anybody looking to help: gfx-rs/gfx#2950
Zakarum
@omni-viral
@kvark gfx-rs/gfx#2949 re r?
@grovesNL grovesNL/glow#31 re r?
Seivan Heidari
@seivan

@kvark So I’ve worked on a shader module for a while, and soon done with the macros (God I hate working with AST libraries)

Now I’m trying to figure out the best way of dealing with both mutating buffers and submission.

You suggested a while ago, to limit the amount of submits.
Out of curiosity is there a distinction in terms of performance/best practices between submitting on one finished CommandBuffer, vs submitting a list of CommandBuffers?
One submit, but multiple command buffers.

Sorry if the use of CommandBuffer is wrong, but I’m not sure what to call them.
Seivan Heidari
@seivan

My plan ahead is collect copy_buffer_to_buffer() calls in an CommandEncoder
Until rendering time is upon us and then submit everything that has changed in one go.
So there would be a global encoder created at start of a game loop.
update() is called where user mutates sprites and shader values. Internally it just calls copy_buffer_to_buffer()
But it won’t be submitted until before render() is called.

Technically one should be able to do those concurrently as CommandEncoder is Sync + Send?

Dzmitry Malyshau
@kvark
Less submissions are better. We do tracking per submission, so providing a list of command buffers allows to save a bit of CPU time and make tracking more coarse
Seivan Heidari
@seivan
So a list of command buffers is better than a single one ?
Afaik copy_buffer_to_buffer() does not borrow, so you can have multiple of those calls in a single encoder. But you’re saying several CommandBuffersmeans you can track resource usage better?
Is there a limit of Encoders or CommandBuffers?
In that case, I guess each ShaderModule would have its own encoder, and finalize into a command buffer and submit everything in one go.
Dzmitry Malyshau
@kvark
I'm not saying that multiple command buffers is better than one. I'm saying that multiple command buffers in a single submission is better than multiple submissions.
no limit
Seivan Heidari
@seivan
Yeah but in my case I have an opportunity of doing a single one and get all my buffers updated before rendering.
But that wouldn’t give wgpu the info for doing resource tracking I presume.
Dzmitry Malyshau
@kvark
uploading memory in Vulkan style is not quite available in WebGPU yet
Seivan Heidari
@seivan
Oh ok. I am just trying to figure out the best approach to collect all updates on data and submit to the gpu.
I guess doing on demand basis is not a good idea because it would generate a submit per value changed.
Instead I mutate everything CPU side, and collect CommandBuffers to submit before rendering.
Dzmitry Malyshau
@kvark
(this is not a wgpu room btw)
PSA for everyone: the alternative swapchain model is ready for a merge in #2882 . It allows bug-less resizing and simpler window-system integration on all backends, very useful for WebGPU, but not so much for gfx-portability.
Aleksi Juvani
@aleksijuvani
heck yea
Dzmitry Malyshau
@kvark
can't believe it happened!
it's going to be a while till we can use in in wgpu-native though, since that relies on published gfx-hal...
Dag Ågren
@DagAgren
Nice!
So I am looking for someone who is good at Rust on iOS to help me figure out how to build a static library for iOS.
The library in question is wgpu-native, but we didn't have much luck in that channel getting it to work so I am hoping to find someone who'd know what to do.
Parts of the build seem to be building for macOS rather than iOS when trying to crosscompile.
Dzmitry Malyshau
@kvark
@aleksijuvani @mtak- @JohnColanduoni @scoopr ^ just a wide broadcast in case any of you have experience/capacity to assist
Dag Ågren
@DagAgren
I posted some info in gfx-rs/wgpu#260, the most relevant stuff is right at the end.
Dzmitry Malyshau
@kvark
Dag Ågren
@DagAgren
So maybe I need a RUSTFLAGS=”–sysroot ..." to build correctly for iOS?
Dzmitry Malyshau
@kvark
yeah
that's what the error says anyway ;)
Dag Ågren
@DagAgren
It seems it should be picked automatically but somehow it isn't.
Don't know what it should be set to, if anything.
Dzmitry Malyshau
@kvark
did you read the blog post?..
Dag Ågren
@DagAgren
I had a look but couldn't find much I could apply.
Running cargo build with some -v tells me that it is trying to build a dependency, and my target string is nowhere in the command line it is invoking.
So cargo is losing my target somewhere along the line? How does that happen?
That command has lots of "x86_64-apple-darwin" in it and no "aarch64-apple-ios" which is what I specified.
Dzmitry Malyshau
@kvark
@DagAgren could you contribute a change to our Travis CI script, so that iOS target is cross-compiled from macOS?
I think it would be great as a sort of documentation and proof that the path works
Aleksi Juvani
@aleksijuvani
@kvark is this not already the case?
Aleksi Juvani
@aleksijuvani
oohh wgpu, not gfx-hal
Dzmitry Malyshau
@kvark
sorry, my bad, I didn't realize we are in gfx-rs room :sweat_smile:
Dzmitry Malyshau
@kvark
@omni-viral can we have rendy-memory and rendy-descriptor using gfx-0.3 published ?