1. 19 Aug, 2017 4 commits
    • wwylele's avatar
      pica/primitive_assembly: Handle winding for GS primitive · 36981a5a
      wwylele authored
      hwtest shows that, although GS always emit a group of three vertices as one primitive, it still respects to the topology type, as if the three vertices are input into the primitive assembler independently and sequentially. It is also shown that the winding flag in SETEMIT only takes effect for Shader topology type, which is believed to be the actual difference between List and Shader (hence removed the TODO). However, only Shader topology type is observed in official games when GS is in use, so the other mode seems to be just unintended usage.
      36981a5a
    • wwylele's avatar
      correct constness · bb63ae30
      wwylele authored
      bb63ae30
    • wwylele's avatar
      28128348
    • wwylele's avatar
      pica/shader: extend UnitState for GS · 46c6973d
      wwylele authored
      Among four shader units in pica, a special unit can be configured to run both VS and GS program. GSUnitState represents this unit, which extends UnitState (which represents the other three normal units) with extra state for primitive emitting. It uses lots of raw pointers to represent internal structure in order to keep it standard layout type for JIT to access.
      This unit doesn't handle triangle winding (inverting) itself; instead, it calls a WindingSetter handler. This will be explained in the following commits
      46c6973d
  2. 09 Aug, 2017 6 commits
  3. 08 Aug, 2017 1 commit
  4. 07 Aug, 2017 1 commit
  5. 05 Aug, 2017 2 commits
  6. 04 Aug, 2017 8 commits
  7. 03 Aug, 2017 1 commit
  8. 02 Aug, 2017 3 commits
  9. 01 Aug, 2017 1 commit
  10. 31 Jul, 2017 1 commit
  11. 29 Jul, 2017 2 commits
  12. 28 Jul, 2017 1 commit
  13. 27 Jul, 2017 3 commits
  14. 26 Jul, 2017 3 commits
  15. 24 Jul, 2017 2 commits
  16. 23 Jul, 2017 1 commit