1. 10 Aug, 2023 2 commits
    • Zebediah Figura's avatar
      wined3d: Implement a copy-on-write scheme for whole buffer uploads. · c6b9aa7a
      Zebediah Figura authored
      For discard maps on deferred contexts, we currently blit from the upload buffer
      to the resource. This is necessary because command lists can be reused and
      submitted multiple times—we cannot simply have the buffer take ownership, as for
      discard maps on immediate contexts.
      
      However, it is very common for applications to use command lists only once
      before throwing them away—in essence taking advantage of the feature only for
      the multithreading advantages it allows.
      
      Therefore we take advantage of this pattern by trying to rename the buffer
      anyway. In order to do this we introduce a refcount for BO pointers. When
      writing to a buffer BO, we first check whether the buffer "owns" the BO—i.e.
      whether it has a refcount of 1—and if not, we create a new BO for the buffer and
      copy the contents of the old BO to the new BO. That is, we perform
      mostly-transparent copy-on-write.
      
      This improves performance, and reduces CPU usage, in Assassin's Creed: Unity.
      c6b9aa7a
    • Zebediah Figura's avatar
  2. 27 Jul, 2023 3 commits
  3. 14 Jul, 2023 1 commit
  4. 23 May, 2023 3 commits
  5. 04 May, 2023 1 commit
  6. 24 Mar, 2023 5 commits
  7. 21 Mar, 2023 5 commits
  8. 16 Mar, 2023 5 commits
  9. 14 Mar, 2023 5 commits
  10. 08 Mar, 2023 5 commits
  11. 06 Mar, 2023 5 commits