1. 30 Dec, 2019 1 commit
  2. 29 Dec, 2019 1 commit
  3. 28 Dec, 2019 1 commit
  4. 27 Dec, 2019 1 commit
  5. 26 Dec, 2019 1 commit
  6. 25 Dec, 2019 3 commits
  7. 24 Dec, 2019 1 commit
  8. 23 Dec, 2019 2 commits
    • ReinUsesLisp's avatar
      fixed_pipeline_state: Define structure and loaders · 4a3026b1
      ReinUsesLisp authored
      The intention behind this hasheable structure is to describe the state
      of fixed function pipeline state that gets compiled to a single graphics
      pipeline state object. This is all dynamic state in OpenGL but Vulkan
      wants it in an immutable state, even if hardware can edit it freely.
      
      In this commit the structure is defined in an optimized state (it uses
      booleans, has paddings and many data entries that can be packed to
      single integers). This is intentional as an initial implementation that
      is easier to debug, implement and review. It will be optimized in later
      stages, or it might change if Vulkan gets more dynamic states.
      4a3026b1
    • ReinUsesLisp's avatar
      maxwell_3d: Add depth bounds registers · 5770418f
      ReinUsesLisp authored
      5770418f
  9. 22 Dec, 2019 10 commits
  10. 21 Dec, 2019 3 commits
  11. 20 Dec, 2019 2 commits
  12. 19 Dec, 2019 12 commits
  13. 18 Dec, 2019 2 commits
    • ReinUsesLisp's avatar
      gl_rasterizer: Implement RASTERIZE_ENABLE · da0aa4da
      ReinUsesLisp authored
      RASTERIZE_ENABLE is the opposite of GL_RASTERIZER_DISCARD. Implement it
      naturally using this.
      
      NVN games expect rasterize to be enabled by default, reflect that in our
      initial GPU state.
      da0aa4da
    • ReinUsesLisp's avatar
      shader/memory: Implement LDG.U8 and unaligned U8 loads · ae8d4b6c
      ReinUsesLisp authored
      LDG can load single bytes instead of full integers or packs of integers.
      These have the advantage of loading bytes that are not aligned to 4
      bytes.
      
      To emulate these this commit gets the byte being referenced (by doing
      "address & 3" and then using that to extract the byte from the loaded
      integer:
      
      result = bitfieldExtract(loaded_integer, (address % 4) * 8, 8)
      ae8d4b6c