1. 25 Feb, 2019 6 commits
  2. 24 Feb, 2019 7 commits
  3. 22 Feb, 2019 3 commits
    • ReinUsesLisp's avatar
      vk_scheduler: Implement a scheduler · f546fb35
      ReinUsesLisp authored
      The scheduler abstracts command buffer and fence management with an
      interface that's able to do OpenGL-like operations on Vulkan command
      buffers.
      
      It returns by value a command buffer and fence that have to be used for
      subsequent operations until Flush or Finish is executed, after that the
      current execution context (the pair of command buffers and fences) gets
      invalidated a new one must be fetched. Thankfully validation layers will
      quickly detect if this is skipped throwing an error due to modifications
      to a sent command buffer.
      f546fb35
    • bunnei's avatar
      Merge pull request #2138 from ReinUsesLisp/vulkan-memory-manager · 94b27bb8
      bunnei authored
      vk_memory_manager: Implement memory manager
      94b27bb8
    • Lioncash's avatar
      service/nvflinger: Store BufferQueue instances as regular data members · 90528f13
      Lioncash authored
      The NVFlinger service is already passed into services that need to
      guarantee its lifetime, so the BufferQueue instances will already live
      as long as they're needed. Making them std::shared_ptr instances in this
      case is unnecessary.
      90528f13
  4. 21 Feb, 2019 6 commits
  5. 19 Feb, 2019 5 commits
    • Lioncash's avatar
      service/nvflinger: Relocate definitions of Layer and Display to the vi service · 8d5d369b
      Lioncash authored
      These are more closely related to the vi service as opposed to the
      intermediary nvflinger.
      
      This also places them in their relevant subfolder, as future changes to
      these will likely result in subclassing to represent various displays
      and services, as they're done within the service itself on hardware.
      
      The reasoning for prefixing the display and layer source files is to
      avoid potential clashing if two files with the same name are compiled
      (e.g. if 'display.cpp/.h' or 'layer.cpp/.h' is added to another service
      at any point), which MSVC will actually warn against. This prevents that
      case from occurring.
      
      This also presently coverts the std::array introduced within
      f45c25aa back to a std::vector to allow
      the forward declaration of the Display type. Forward declaring a type
      within a std::vector is allowed since the introduction of N4510
      (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4510.html) by
      Zhihao Yuan.
      8d5d369b
    • Markus Wick's avatar
      video_core/dma_pusher: Simplyfy Step() logic. · 6dd40976
      Markus Wick authored
      As fetching command list headers and and the list of command headers is a fixed 1:1 relation now, they can be implemented within a single call.
      This cleans up the Step() logic quite a bit.
      6dd40976
    • Markus Wick's avatar
      video_core/dma_pusher: The full list of headers at once. · 717394c9
      Markus Wick authored
      Fetching every u32 from memory leads to a big overhead. So let's fetch all of them as a block if possible.
      This reduces the Memory::* calls by the dma_pusher by a factor of 10.
      717394c9
    • ReinUsesLisp's avatar
      vk_memory_manager: Implement memory manager · b675c97c
      ReinUsesLisp authored
      A memory manager object handles the memory allocations for a device. It
      allocates chunks of Vulkan memory objects and then suballocates.
      b675c97c
    • bunnei's avatar
      Merge pull request #2122 from ReinUsesLisp/vulkan-resource-manager · 4bce08d4
      bunnei authored
      vk_resource_manager: Implement fence and command buffer allocator
      4bce08d4
  6. 17 Feb, 2019 1 commit
  7. 16 Feb, 2019 8 commits
  8. 15 Feb, 2019 4 commits