Skip to content
Snippets Groups Projects
  • Volker Rümelin's avatar
    09053670
    ui/gtk-gl-area: create the requested GL context version · 09053670
    Volker Rümelin authored
    
    Since about 2018 virglrenderer (commit fa835b0f88 "vrend: don't
    hardcode context version") tries to open the highest available GL
    context version. This is done by creating the known GL context
    versions from the highest to the lowest until (*create_gl_context)
    returns a context != NULL.
    
    This does not work properly with
    the current QEMU gd_gl_area_create_context() function, because
    gdk_gl_context_realize() on Wayland creates a version 3.0 legacy
    context if the requested GL context version can't be created.
    
    In order for virglrenderer to find the highest available GL
    context version, return NULL if the created context version is
    lower than the requested version.
    
    This fixes the following error:
    QEMU started with -device virtio-vga-gl -display gtk,gl=on.
    Under Wayland, the guest window remains black and the following
    information can be seen on the host.
    
    gl_version 30 - compat profile
    (qemu:5978): Gdk-WARNING **: 16:19:01.533:
      gdk_gl_context_set_required_version
      - GL context versions less than 3.2 are not supported.
    
    (qemu:5978): Gdk-WARNING **: 16:19:01.537:
      gdk_gl_context_set_required_version -
      GL context versions less than 3.2 are not supported.
    
    (qemu:5978): Gdk-WARNING **: 16:19:01.554:
      gdk_gl_context_set_required_version -
      GL context versions less than 3.2 are not supported.
    vrend_renderer_fill_caps: Entering with stale GL error: 1282
    
    To reproduce this error, an OpenGL driver is required on the host
    that doesn't have the latest OpenGL extensions fully implemented.
    An example for this is the Intel i965 driver on a Haswell processor.
    
    Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
    Message-Id: <20220605085131.7711-2-vr_qemu@t-online.de>
    Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    09053670
    History
    ui/gtk-gl-area: create the requested GL context version
    Volker Rümelin authored
    
    Since about 2018 virglrenderer (commit fa835b0f88 "vrend: don't
    hardcode context version") tries to open the highest available GL
    context version. This is done by creating the known GL context
    versions from the highest to the lowest until (*create_gl_context)
    returns a context != NULL.
    
    This does not work properly with
    the current QEMU gd_gl_area_create_context() function, because
    gdk_gl_context_realize() on Wayland creates a version 3.0 legacy
    context if the requested GL context version can't be created.
    
    In order for virglrenderer to find the highest available GL
    context version, return NULL if the created context version is
    lower than the requested version.
    
    This fixes the following error:
    QEMU started with -device virtio-vga-gl -display gtk,gl=on.
    Under Wayland, the guest window remains black and the following
    information can be seen on the host.
    
    gl_version 30 - compat profile
    (qemu:5978): Gdk-WARNING **: 16:19:01.533:
      gdk_gl_context_set_required_version
      - GL context versions less than 3.2 are not supported.
    
    (qemu:5978): Gdk-WARNING **: 16:19:01.537:
      gdk_gl_context_set_required_version -
      GL context versions less than 3.2 are not supported.
    
    (qemu:5978): Gdk-WARNING **: 16:19:01.554:
      gdk_gl_context_set_required_version -
      GL context versions less than 3.2 are not supported.
    vrend_renderer_fill_caps: Entering with stale GL error: 1282
    
    To reproduce this error, an OpenGL driver is required on the host
    that doesn't have the latest OpenGL extensions fully implemented.
    An example for this is the Intel i965 driver on a Haswell processor.
    
    Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
    Message-Id: <20220605085131.7711-2-vr_qemu@t-online.de>
    Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
trace-events 10.97 KiB