Skip to content
Snippets Groups Projects
  1. Aug 17, 2021
  2. Aug 14, 2021
  3. Aug 09, 2021
  4. Aug 06, 2021
  5. Aug 05, 2021
  6. Aug 01, 2021
  7. Jul 27, 2021
  8. Jul 23, 2021
  9. Jul 19, 2021
  10. Jul 16, 2021
  11. Jul 15, 2021
  12. Jul 02, 2021
    • 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
    • Niklas Haas's avatar
      glsl: refactor spirv compilation · 480dc28f
      Niklas Haas authored
      Rather than fixing/determining the pl_glsl_version at compiler creation
      time, this is now taken dynamically as a compilation parameter. In
      addition to this, the exact API / target version to compile against will
      be inferred from the GLSL description, rather than set explicitly. This
      allows us to take into account some of these limits during shader
      compilation.
      
      Move stuff into the common glsl/ subdir, mostly to allow the creation of
      glsl/utils.h which contains shared helpers between C and C++ that can't
      be placed into spirv.h directly due to C99/C++ incompatibility.
      
      Finally, rename some usage sites for consistency, enabling `stage` to
      always refer to the shader stage, `shader` to refer to the shader
      itself, and `glsl` to refer to the pl_glsl_version struct.
      
      Requires bumping the shaderc dependency. Fortunately, none of the usual
      candidates (debian stable etc.) even *package* ubuntu, so we're fine.
      480dc28f
Loading