Skip to content
  • James Ross-Gowan's avatar
    d3d11: add initial implementation · be32ca68
    James Ross-Gowan authored
    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
    be32ca68