Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
caleb winston
@calebwin
does having COPY_DST or COPY_SRC or both as buffer usage flags make a difference in terms of performance?
m4b
@m4b
Isn’t a compute index variable also renamed like that ?
Eg this one, maybe I’m misremembering but I was reading docs and had to rename it to Index (instead of ID) https://www.opengl.org/sdk/docs/manglsl/docbook4/xhtml/gl_LocalInvocationID.xml
caleb winston
@calebwin
if there is a difference - is COPY_DST or COPY_SRC better? are both equally bad? (in terms of performance/efficiency)
Dzmitry Malyshau
@kvark
Hard to tell for sure, but roughly speaking I don't think either would make a difference in perf
Tristam MacDonald
@swiftcoder
Do we have way to specify combined image samplers, or strictly have to use separate samplers?
Dzmitry Malyshau
@kvark
strictly separate
Tristam MacDonald
@swiftcoder
Gotcha. The error when one doesn't specify a sampler is a bit opaque - I just got an unwrap() Other when creating the render pipeline
Dzmitry Malyshau
@kvark
yeah, we are missing the whole bag of validation related to the shader (both the fact that the program is correct, and that the binding model matches the pipeline layout). gfx-rs/wgpu#269
caleb winston
@calebwin
okay - also, since wgpu doesn't have a thing like push constants, would you recommend just using a buffer for each constant? (this is for a compute shader)
Dzmitry Malyshau
@kvark
Put all the constants in one giant buffer
Josh Groves
@grovesNL
@glalonde sure I can try to make a release sometime soon. Currently you should still be able to override the spirv_cross dependency to the latest git commit if you need the update
glalonde
@glalonde
@grovesNL okay, thanks, I'll give that a try
matrixbot
@matrixbot
kangz Hello :3
(upstream API/implementations discussions for anybody interested)
Tristam MacDonald
@swiftcoder
I take it gfx-rs/wgpu#269 will be easier to solve once we are in a position to migrate the spirv parsing entirely into rust?
Dzmitry Malyshau
@kvark
yeah, but I don't think this has to be blocked. One can just hook up https://github.com/PENGUINLIONG/spirq-rs and get the validation happening today, and that would be the best course of action for us.
When Javelin is usable, there will be a process of integrating it in the gfx-rs backends first, and some time after that we'll start using it from wgpu
Dzmitry Malyshau
@kvark
there is a ton of issues
matrixbot
@matrixbot
Kangz How do you plan to do the GPU benchmarking ?
Kangz We don't have timestamp queries :(
Tristam MacDonald
@swiftcoder
is there a dedicated equivalent to this channel on matrix?
Dzmitry Malyshau
@kvark

gfx:matrix.org

Tristam MacDonald
@swiftcoder
oh, I meant one for webgpu-rs, as opposed to gfx-rs in general
Dzmitry Malyshau
@kvark
@Kangz found wgpu-bench? ;)
There is a room for WebGPU API - https://matrix.to/#/%23WebGPU%3Amatrix.org
And the general room for gfx-rs, but no specific wgpu room, at least for now.
matrixbot
@matrixbot
Kangz You mentioned it just above so I looked at it. We have some perf tests too. Bingroup creation is slooooow
Dzmitry Malyshau
@kvark
Kangz: haha, right. We'll need to add GPU timings as native-only feature for now.
matrixbot
@matrixbot

yanchith Hey there!

I am encountering some problems with RenderPass::set_viewport() and would like to know what values are allowed, at least for x, y, w and h. I've got 2 problems overall:

  • I can easily get the implementation to segfault if I input arbitrary numbers (but say within 10x of the target texture width/height).
  • Should providing negative w and h reverse the rendered result on the X and Y axes? It seems to do so with h, but not with w - for negative w I just get a black texture.

Is RenderPass::set_viewport() more or less an equivalent of glViewport(), or am I missing something?

matrixbot
@matrixbot
yanchith (If it matters, this was the vulkan backend)
Kangz It is the equivalent of glViewport yes. The upstream webgpu spec hasn't worked out the exact validation rules but I know Vulkan doesn't like when the viewport you set is outside of the 3x3 original viewport centered on the framebuffer. Also it requires Vulkan 1.1 or an extension to allow flipping Y
matrixbot
@matrixbot
yanchith I see! Thanks! Your explanation matches my discoveries, I think I'll add my own validations around this.
Dzmitry Malyshau
@kvark
Why are you guys in this room? :)
matrixbot
@matrixbot
yanchith lol, which one should we be in? here https://riot.im/app/#/room/#wgpu:matrix.org ?
Dzmitry Malyshau
@kvark
Yeah, or the gfx matrix one
Layl Bongers
@layl_gitlab
Thought someone may enjoy seeing this
It doesn't embed but oh well
I made a little brush engine on top of WGPU
matrixbot
@matrixbot
yanchith ❤️
matrixbot
@matrixbot
Kangz Nice !
Dzmitry Malyshau
@kvark
neat!
Lukas Wirth
@Veykril
This message was deleted
Layl Bongers
@layl_gitlab
I've been trying to debug an issue relating to WGPU slowing down concurrent rendering to the lowest update rate window. I've got both a 144hz and 60hz screen so that made this issue jump out at me. I think I've found the issue though.
Am I right in thinking that, in swap_chain_present, if queue.present_surface blocks, it still has the write locks acquired and those will have other threads wait?
I've been confused about how the Tokens work so I wanted to verify
Dzmitry Malyshau
@kvark
yes, indeed! That's an interesting discovery