d3d11: add initial implementation
Add a pl_gpu implementation that uses Direct3D 11. This uses SPIRV-Cross to translate shaders from GLSL to HLSL. In its current state, plplay works and the test suite passes with feature level 10_0 and up. (9_x is unlikely to ever pass due to runtime-enforced shader complexity limits.) Missing features include emulated texture formats, cached_program, `pl_gpu_limits.thread_safe`, and HDR/high bit depth support in pl_swapchain, though these shouldn't be too hard to implement. This also updates the GLFW demos to be able to use Direct3D 11 through GLFW_NO_API. Closes #18
Showing
- README.md 7 additions, 5 deletionsREADME.md
- demos/meson.build 9 additions, 0 deletionsdemos/meson.build
- demos/window.c 4 additions, 0 deletionsdemos/window.c
- demos/window_glfw.c 47 additions, 2 deletionsdemos/window_glfw.c
- meson.build 1 addition, 1 deletionmeson.build
- meson_options.txt 3 additions, 0 deletionsmeson_options.txt
- src/common.h 4 additions, 0 deletionssrc/common.h
- src/d3d11/common.h 49 additions, 0 deletionssrc/d3d11/common.h
- src/d3d11/context.c 449 additions, 0 deletionssrc/d3d11/context.c
- src/d3d11/formats.c 256 additions, 0 deletionssrc/d3d11/formats.c
- src/d3d11/formats.h 35 additions, 0 deletionssrc/d3d11/formats.h
- src/d3d11/gpu.c 671 additions, 0 deletionssrc/d3d11/gpu.c
- src/d3d11/gpu.h 232 additions, 0 deletionssrc/d3d11/gpu.h
- src/d3d11/gpu_buf.c 298 additions, 0 deletionssrc/d3d11/gpu_buf.c
- src/d3d11/gpu_pass.c 1114 additions, 0 deletionssrc/d3d11/gpu_pass.c
- src/d3d11/gpu_tex.c 584 additions, 0 deletionssrc/d3d11/gpu_tex.c
- src/d3d11/swapchain.c 368 additions, 0 deletionssrc/d3d11/swapchain.c
- src/d3d11/utils.c 244 additions, 0 deletionssrc/d3d11/utils.c
- src/d3d11/utils.h 79 additions, 0 deletionssrc/d3d11/utils.h
- src/gpu.c 39 additions, 0 deletionssrc/gpu.c
Loading
-
mentioned in merge request !244 (merged)
-
mentioned in commit a69f1e44
Please register or sign in to comment