212: More consistent descriptor passing r=kvark a=porky11
also use pointer for descriptor in `wgpu_command_encoder_begin_render_pass` for consistency reasons
Co-authored-by: Fabio Krapohl <fabio.u.krapohl@fau.de>
211: More consistent naming of pointer-size-pairs r=kvark a=porky11
* always plural form without _ptr suffix for pointers
* always same name as pointer for size, but with _length suffix
* special case: single size applies to multiple pointers => only use length as name
Co-authored-by: Fabio Krapohl <fabio.u.krapohl@fau.de>
* always plural form without _ptr suffix for pointers
* always same name as pointer for size, but with _length suffix
* special case: single size applies to multiple pointers => only use length as name
208: Ensure wait_for_fences is never called on 0 fences r=kvark a=rukai
I don't see any reason why self.active should never be empty.
This fixes the validation errors but not the slowdown of https://github.com/gfx-rs/wgpu/issues/207
I presume the slowdown was causing self.active to clear.
Co-authored-by: Rukai <rubickent@gmail.com>
201: Add uniform buffer offset alignment constant r=kvark a=cloudhead
Fixes#158
Also needs to be exposed in `wgpu-rs`.
Happy to change the var name to something different or shorter.
Co-authored-by: Alexis Sellier <alexis@monadic.xyz>
195: Fix tracking and improve draw call validation r=grovesNL a=kvark
Fixes#196
## Validation
Note: the most difficult bit is still missing - we need to know the maximum index in an index buffer. This is not meant to be done in this PR though, the logic is good enough on its own.
## Tracking
Implements a custom iterator with Drop.
Also, reset tracking of resources when a command buffer is done.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
194: Fix compute pass barriers r=grovesNL a=kvark
Fixes#193 (supposedly)
@m4b would you be able to confirm?
Basic idea is that we treat commands inside a compute pass to follow the same rule as transfer commands. We could even go as far as alias `type ComputePassEncoderId = CommandEncoderId`, but I thought maybe we can still take advantage of a separate type. Currently it gets both the backend command buffer and the tracker from the primary encoder, only to return them back in place when the pass is done.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
192: add necessary windows lib files for vulkan, dx12, dx11 r=kvark a=Napokue
Introduce new argument BACKEND to specify the back-end framework in the hello_triangle_c CMake script. I will update the other examples, hello_remote_c & hello_compute_c (working on this one) in a future PR.
fix#188
Co-authored-by: Timo de Kort <dekort.timo@gmail.com>
191: Use required option for glfw3 r=kvark a=grovesNL
This is minor, but we should force glfw3 to be required for the native hello_triangle example.
Co-authored-by: Joshua Groves <josh@joshgroves.com>
187: Change dynamic and vertex buffer offsets to u64 r=cormac-obrien a=kvark
This change makes offsets consistent across the board.
cc @cormac-obrien
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
182: Update Makefile r=kvark a=Napokue
More Windows compliant and change "wgpu-bindings" directory to the newly named directory "ffi". Also added some variables.
Co-authored-by: Timo de Kort <tdk@quadira.com>
179: Fix semaphore iteration on submit r=kvark a=kvark
Fixes#167
It's a bit silly: we used to do important work in a generated iterator, but the implementation of dx12 isn't complete enough and doesn't use our iterator at all. It should be fixed on both sides.
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>