Changes

Jump to: navigation, search

Community:SummerOfCode18

533 bytes added, 17:04, 29 January 2018
Updated gfx-rs proposal with a timeline
|-
| D3D11 backend for gfx-rs HAL
| [https://github.com/gfx-rs/gfx gfx-rs] is a graphics abstraction library written in Rust and currently used for prototyping and investigation of [https://www.khronos.org/blog/khronos-announces-the-vulkan-portability-initiative Vulkan Portability] and [https://www.w3.org/community/gpu/ WebGPU] by Mozilla. The Hardware Abstraction Layer (HAL) of gfx-rs currently supports Vulkan, D3D12, Metal, and OpenGL. We want it to be powering [https://github.com/servo/webrender/ WebRender] for Firefox Quantum and Servo, and since WebRender currently runs on D3D11 (through [https://chromium.googlesource.com/angle/angle/+/master/README.md Angle]), we need to provide a native D3D11 backend. The implementation can be based off the existing D3D11 backend of code in [https://github.com/gfx-rs/gfx/tree/pre-ll/src/backend/dx11 gfx-rs pre-HAL], and the main challenge is porting the code, optimizing, and testing ensuring itcan successfully run the reference test suite.
| Candidates should be familiar with Rust as well as low-level graphics development. Not having D3D11-specific experience is acceptable, given the willingness to learn it and a properly setup Windows development environment.
| Dzmitry Malyshau (Mozilla)
| Dzmitry Malyshau (Mozilla)
| Proposal Timeline:* Before April 20: setup the Windows environment for DirectX development; run the examples and reference tests with existing Vulkan/DX12/GL backends; get in contact with developers on [https://gitter.im/gfx-rs is one of the foundational projects in Rust gamedev/graphicsgfx Gitter].* April 20 – May 23: get familiar with gfx-rs HAL architecture, with rich history attempt to fix small entry-level issues and wide range /or write an application/library on top of usersit. We have an active community that encourages learning and curiosity in how graphics works down to * May 23 – May 30: setup the hardware. This is not a Mozilla projectbackend skeleton with bits of actual logic, such as device initialization, but and have it may become a key component in Firefox Quantum for building on CI.* June 1 – July 5: implement the ability DX11 logic necessary to run natively on different platforms, while utilizing the fine-grained control of `quad` example and pass the basic graphics/reference tests.* July 6 - July 31: implement support for compute workloads and tessellation; benchmark the new backend against DX12; pass the full reference test suite.* Aug 1 - Aug 16: determine the list of capabilities that need to be exposed by , merge it with GL backend legacy capabilities, expose to the low-level APIsreference tests.
|-
| Servo: Prototype ways of splitting up the script crate
13
edits

Navigation menu