Skip to content
Snippets Groups Projects
  1. Sep 22, 2024
    • Dmitry Osipenko's avatar
      wip: Support passing fences from guest to host · fa5e9166
      Dmitry Osipenko authored
      
      Support passing guest fences to host for waiting by using new
      VIRTIO_GPU_CMD_SUBMIT_3D command field 'num_in_fences' that replaces
      previousy unused padding field. The in-fence IDs are prepended to the
      cmdbuf data. The new corresponding VIRTIO_GPU_F_FENCE_PASSING feature
      is added as well, it must be supported by guest in order to activate
      fence passing on host.
      
      Fence passing allows virglrenderer contexts to share fences on host
      instead of doing it on guest side, removing significant overhead of
      host-guest roundtrips. In particular this improves performance of GL/VK
      interoperability by more than two times for applications that are bound
      by the inter-context synchronization overhead. This functionality will
      also allow to pass GPU fence directly to a kernel display driver for
      syncing framebuffer flips with completion of a GPU job using explicit
      fencing.
      
      Signed-off-by: default avatarDmitry Osipenko <dmitry.osipenko@collabora.com>
      fa5e9166
    • Dmitry Osipenko's avatar
      virtio-gpu: Support DRM context · 31dc7218
      Dmitry Osipenko authored
      
      Add support for DRM native contexts to VirtIO-GPU that are be enabled
      using new GL device option "drm=true". Unlike Virgl and Venus contexts that
      operate on application level, DRM native contexts work on a kernel UAPI level.
      The lower level access results in a simple and lightweight context
      implementations that yield better GPU performance. With native context,
      host GPU is presented as native one on guest, requiring little modification
      to existing userspace GPU drivers.
      
      Signed-off-by: default avatarDmitry Osipenko <dmitry.osipenko@collabora.com>
      31dc7218
    • Dmitry Osipenko's avatar
      virtio-gpu: Support asynchronous fencing · 9b1dc70d
      Dmitry Osipenko authored
      
      Support asynchronous fencing feature of virglrenderer. It allows Qemu to
      handle fence as soon as it's signalled instead of periodically polling
      fence status. This feature is required for enabling DRM context support
      in Qemu. DRM context doesn't support legacy fencing.
      
      Signed-off-by: default avatarDmitry Osipenko <dmitry.osipenko@collabora.com>
      9b1dc70d
    • Dmitry Osipenko's avatar
      virtio-gpu: Handle virgl fence creation errors · dfd9c7f8
      Dmitry Osipenko authored
      
      Print out error messages when virgl fence creation fails to aid debugging
      of the fencing bugs.
      
      Signed-off-by: default avatarDmitry Osipenko <dmitry.osipenko@collabora.com>
      dfd9c7f8
  2. Sep 16, 2024
  3. Sep 15, 2024
    • Peter Maydell's avatar
      Merge tag 'hw-misc-20240913' of https://github.com/philmd/qemu into staging · ea9cdbcf
      Peter Maydell authored
      Misc HW & UI patches
      
      - Remove deprecated SH4 SHIX machine TC58128 NAND EEPROM (Phil)
      - Remove deprecated CRIS target (Phil)
      - Remove deprecated RISC-V 'any' CPU type (Phil)
      - Add fifo8_peek_buf() to correctly handle FIFO wraparound (Mark)
      - Minor cleanups in Designware PCIe, PL011 and loongson IPI models (Phil)
      - Fixes in TI TMP105 temperature (Guenter)
      - Convert Sun ESCC and ADB mouses to QemuInputHandler (Mark)
      - Prevent heap overflow in VIRTIO sound device (Volker)
      - Cleanups around g_assert_not_reached() call (Pierrick)
      - Add Clément as VT-d reviewer (Clément)
      - Prevent stuck modifier keys and unexpected text input on Windows (Volker)
      - Explicitly set SDL2 swap interval when OpenGL is enabled (Gert)
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmbkoOUACgkQ4+MsLN6t
      # wN56SBAA1nYl5YTI0BwvToKysoNIJ5aTgDEbT87XYTatKYyWYlN5W1yrAeMcuwFO
      # Rw8edtn2YY89ZMG/LPcY1h6+nI2qVMpuOzNP3ve4D+eM6AMUMX0bzeqXndUind7c
      # 1kTcV7Wctfk34zzs5B9GIU0WswSSbL3FeETS47ySNg6J7GbVWIu41dh52oeg8XWa
      # Zfw0FZDt7hSAbsUckBIC9/Nbh0hucxBnQevQLkVb6u8O0yX3wV2OZRIC7+NkvHkH
      # ZLPT8lg197PitH0NouUJI5oMv5Ty3PXGHtrIAKvts+fGBpWL+XzEtQmT8RzqgxTl
      # 9Z6C/PvfMHNtA7BE66D4iLOKBPpV0RCUDOAGsfcWy5GuklzeUy03DxZ/2xO8XERm
      # TP0EP0nt2YddnELX7H65b78gJkPvnhME/MtA6Y6R7uxAA8gawZVWZQ1oDGUBNGDI
      # zJ62Cu4nYPwpGiewwb+ZTkjeiaYddJsPNsE8f8d4XZCpTwpIM/oYzJapxedBwjrg
      # a4eAWiy7xIvvGPxWN7IQPosGYcyO6zhbI+iAbxp1xmWsX0TPgLUcJtK9+pklqWS7
      # 9ucrvkq5XRZSJMaGF0LZuZH7Qx6us7m0rik5wG96d8qrIXRpi8kXfWxI17SWQkGa
      # cG91u+FrKmfBr+yD7Q1gVbaYzkD+X1hPkQmSVmnlNS+5axrnSYQ=
      # =sPwb
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Fri 13 Sep 2024 21:30:29 BST
      # gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
      # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full]
      # Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE
      
      * tag 'hw-misc-20240913' of https://github.com/philmd/qemu
      
      : (60 commits)
        ui: remove break after g_assert_not_reached()
        ui/sdl2: set swap interval explicitly when OpenGL is enabled
        ui/sdl2: ignore GUI keys in SDL_TEXTINPUT handler
        ui/sdl2: release all modifiers
        system: replace assert(0) with g_assert_not_reached()
        hw/pci-host: remove break after g_assert_not_reached()
        hw/misc: remove break after g_assert_not_reached()
        hw/gpio: remove break after g_assert_not_reached()
        hw/watchdog: replace assert(0) with g_assert_not_reached()
        hw/core: replace assert(0) with g_assert_not_reached()
        hw/char: replace assert(0) with g_assert_not_reached()
        hw/input/adb-mouse: convert to use QemuInputHandler
        hw/char/escc: convert Sun mouse to use QemuInputHandler
        hw/sensor/tmp105: Lower 4 bit of limit registers are always 0
        hw/sensor/tmp105: OS (one-shot) bit in config register always returns 0
        hw/sensor/tmp105: Pass 'oneshot' argument to tmp105_alarm_update()
        hw/sensor/tmp105: Use registerfields API
        hw/sensor/tmp105: Coding style fixes
        tests/unit: Comment FIFO8 tests
        tests/unit: Expand test_fifo8_peek_buf_wrap() coverage
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      ea9cdbcf
  4. Sep 13, 2024
Loading