Skip to content
Snippets Groups Projects
  1. Apr 22, 2024
  2. Feb 28, 2024
    • Vivek Kasireddy's avatar
      ui/spice: Override the surface's glformat when gl=on is enabled · 46585d51
      Vivek Kasireddy authored
      
      When testing with gl=on on an Intel Host, it was noticed that the
      R and B channels were interchanged while the Guest FB image was
      displayed. This was only seen if the display layer (virtio-gpu)
      did not directly share the dmabuf fd with Spice (i.e, blob=false).
      
      One of the main differences in the case where blob=true vs blob=false
      is that we create the dmabuf fd from a texture in the latter case
      whereas we directly pass the fd from the display layer to Spice in
      the former case. Although, the surface's format (PIXMAN_BE_b8g8r8x8)
      is the same in both cases, the creation of the texture (which involves
      copying data from Pixman image into a GPU buffer) appears to somehow
      result in having the R and B channels interchanged. One way to ensure
      correct behavior is we have glformat=GL_RGBA while creating the texture.
      
      It looks like having glformat=GL_RGBA and gltype = GL_UNSIGNED_BYTE
      should work regardless of the Host's endianness but let us limit
      this change only to this specific use-case for now.
      
      Cc: Gerd Hoffmann <kraxel@redhat.com>
      Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
      Cc: Frediano Ziglio <freddy77@gmail.com>
      Cc: Dongwon Kim <dongwon.kim@intel.com>
      Signed-off-by: default avatarVivek Kasireddy <vivek.kasireddy@intel.com>
      46585d51
    • Vivek Kasireddy's avatar
      ui/console-gl: Add an option to override a surface's glformat · 3dbefc57
      Vivek Kasireddy authored
      
      In some cases where a UI component (e.g, Spice) needs to choose
      a particular glformat for a surface while creating a texture,
      this new GLenum provides an option to do so. One situation
      where this needs to be done is when the Host endianness is
      causing issues such as interchanged R and B channels.
      
      Cc: Gerd Hoffmann <kraxel@redhat.com>
      Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
      Cc: Frediano Ziglio <freddy77@gmail.com>
      Cc: Dongwon Kim <dongwon.kim@intel.com>
      Signed-off-by: default avatarVivek Kasireddy <vivek.kasireddy@intel.com>
      3dbefc57
    • Vivek Kasireddy's avatar
      ui/spice: Submit the gl_draw requests at 60 FPS for remote clients · f8ecdaaa
      Vivek Kasireddy authored
      
      In the specific case where the display layer (virtio-gpu) is using
      dmabuf, and if remote clients are enabled (-spice gl=on,port=xxxx),
      it makes sense to limit the maximum (streaming) rate to 60 FPS
      using the GUI timer. This matches the behavior of GTK UI where the
      display updates are submitted at 60 FPS (assuming the underlying
      mode is WxY@60).
      
      Cc: Gerd Hoffmann <kraxel@redhat.com>
      Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
      Cc: Frediano Ziglio <freddy77@gmail.com>
      Cc: Dongwon Kim <dongwon.kim@intel.com>
      Signed-off-by: default avatarVivek Kasireddy <vivek.kasireddy@intel.com>
      f8ecdaaa
    • Vivek Kasireddy's avatar
      ui/spice: Enable gl=on option for non-local or remote clients · ff794c02
      Vivek Kasireddy authored
      
      Newer versions of Spice server should be able to accept dmabuf
      fds from Qemu for clients that are connected via the network.
      In other words, when this option is enabled, Qemu would share
      a dmabuf fd with Spice which would encode and send the data
      associated with the fd to a client that could be located on
      a different machine.
      
      Cc: Gerd Hoffmann <kraxel@redhat.com>
      Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
      Cc: Frediano Ziglio <freddy77@gmail.com>
      Cc: Dongwon Kim <dongwon.kim@intel.com>
      Signed-off-by: default avatarVivek Kasireddy <vivek.kasireddy@intel.com>
      ff794c02
    • Vivek Kasireddy's avatar
      ui/spice: Add an option for users to provide a preferred codec · 1817f868
      Vivek Kasireddy authored
      
      Giving users an option to choose a particular codec will enable
      them to make an appropriate decision based on their hardware and
      use-case.
      
      Cc: Gerd Hoffmann <kraxel@redhat.com>
      Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
      Cc: Frediano Ziglio <freddy77@gmail.com>
      Cc: Dongwon Kim <dongwon.kim@intel.com>
      Signed-off-by: default avatarVivek Kasireddy <vivek.kasireddy@intel.com>
      1817f868
  3. Jan 05, 2024
Loading