-
Notifications
You must be signed in to change notification settings - Fork 544
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vulkan backend (first steps) #983
Conversation
☔ The latest upstream changes (presumably #993) made this pull request unmergeable. Please resolve the merge conflicts. |
…uf creation for the launcher
Ok, I merged up and readied the change for merging. It's still from being usable, but is quite a lot of logic already in there - we might as well split it into multiple PRs to avoid the merge hell. Requesting review/merge (after Travis is green, of course). |
Let us know if anyone wants to take a deep look into this PR. Otherwise - I'm merging when CI is green. |
Wonderful! Fasten your seat belts: |
📌 Commit 7e0767b has been approved by |
Vulkan backend (first steps) Closes #629 This is vastly incomplete, far from a working prototype. I'm getting more and more blocked, so figured it wouldn't harm sharing at least what I got so far: - [x] textures with SRV/RTV/UAV - [x] buffers, no views - [ ] programs with reflection - [x] pipeline states - [x] descriptor layouts/sets - [ ] rendering - [ ] resource updates There is a lot of work left to do, and I expect non-trivial changes to get the proper async rendering. E.g. our command buffer may carry multiple Vulkan command buffers and use them in a ring. Need to track when the GPU finishes using resources too. It doesn't help that `winit` doesn't support XCB (only Xlib), so I had to use xcb-rs directly in the meantime. Currently getting this upon running the cube example: >WARNING: Unsupported SPIR-V Capability ASSERT: Scalar FS validation failed! mov(8) vgrf4+2.0:F, vgrf5+2.0:F ../../../../../../../src/mesa/drivers/dri/i965/brw_fs_validate.cpp:47: inst->dst.reg_offset + inst->regs_written <= alloc.sizes[inst->dst.nr]
⚡ Test exempted - status |
984: Fix locking of device lifetime tracker on resource drop r=kvark a=kvark **Connections** Fixes the player hang in gfx-rs#983 **Description** It turns out the current type-level protection from locking device's lifetime tracker is not working properly. TODO is left. **Testing** Tested on the trace from gfx-rs#983 Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
Closes #629
This is vastly incomplete, far from a working prototype. I'm getting more and more blocked, so figured it wouldn't harm sharing at least what I got so far:
There is a lot of work left to do, and I expect non-trivial changes to get the proper async rendering. E.g. our command buffer may carry multiple Vulkan command buffers and use them in a ring. Need to track when the GPU finishes using resources too.
It doesn't help that
winit
doesn't support XCB (only Xlib), so I had to use xcb-rs directly in the meantime.Currently getting this upon running the cube example: