Skip to content
Snippets Groups Projects
  1. Feb 24, 2019
    • ReinUsesLisp's avatar
      vk_stream_buffer: Implement a stream buffer · 33a05976
      ReinUsesLisp authored
      This manages two kinds of streaming buffers: one for unified memory
      models and one for dedicated GPUs. The first one skips the copy from the
      staging buffer to the real buffer, since it creates an unified buffer.
      
      This implementation waits for all fences to finish their operation
      before "invalidating". This is suboptimal since it should allocate
      another buffer or start searching from the beginning. There is room for
      improvement here.
      
      This could also handle AMD's "pinned" memory (a heap with 256 MiB) that
      seems to be designed for buffer streaming.
      33a05976
  2. Feb 22, 2019
    • 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
  3. Feb 19, 2019
  4. Feb 14, 2019
  5. Feb 13, 2019
    • ReinUsesLisp's avatar
      vk_device: Abstract device handling into a class · 8beca060
      ReinUsesLisp authored
      VKDevice contains all the data required to manage and initialize a
      physical device. Its intention is to be passed across Vulkan objects to
      query device-specific data (for example the logical device and the
      dispatch loader).
      8beca060
  6. Feb 12, 2019
    • ReinUsesLisp's avatar
      renderer_vulkan: Add declarations file · 18fe9109
      ReinUsesLisp authored
      This file is intended to be included instead of vulkan/vulkan.hpp. It
      includes declarations of unique handlers using a dynamic dispatcher
      instead of a static one (which would require linking to a Vulkan
      library).
      18fe9109
  7. Feb 10, 2019
    • ReinUsesLisp's avatar
      kepler_compute: Fixup assert and rename engines · 1ddcd0e6
      ReinUsesLisp authored
      When I originally added the compute assert I used the wrong
      documentation. This addresses that.
      
      The dispatch register was tested with homebrew against hardware and is
      triggered by some games (e.g. Super Mario Odyssey). What exactly is
      missing to get a valid program bound by this engine requires more
      investigation.
      1ddcd0e6
  8. Feb 07, 2019
  9. Jan 30, 2019
  10. Jan 15, 2019
  11. Jan 08, 2019
  12. Nov 27, 2018
  13. Nov 25, 2018
  14. Nov 08, 2018
  15. Nov 06, 2018
  16. Oct 30, 2018
  17. Oct 29, 2018
  18. Oct 04, 2018
  19. Sep 12, 2018
  20. Sep 11, 2018
  21. Sep 06, 2018
  22. Sep 05, 2018
    • Markus Wick's avatar
      renderer_opengl: Implement a buffer cache. · 50a806ea
      Markus Wick authored
      The idea of this cache is to avoid redundant uploads. So we are going
      to cache the uploaded buffers within the stream_buffer and just reuse
      the old pointers.
      The next step is to implement a VBO cache on GPU memory, but for now,
      I want to check the overhead of the cache management. Fetching the
      buffer over PCI-E should be quite fast.
      50a806ea
  23. Aug 27, 2018
  24. Jun 18, 2018
  25. Jun 12, 2018
  26. Apr 14, 2018
  27. Apr 01, 2018
    • Subv's avatar
      GPU: Implemented a gpu macro interpreter. · 1ec8d212
      Subv authored
      The Ryujinx macro interpreter and envydis were used as reference.
      
      Macros are programs that are uploaded by the games during boot and can later be called by writing to their method id in a GPU command buffer.
      1ec8d212
  28. Mar 27, 2018
  29. Mar 24, 2018
  30. Mar 20, 2018
Loading