libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.37k stars 1.84k forks source link

Fast forward doesn't work with vulkan when run from a tty. #8362

Open orbea opened 5 years ago

orbea commented 5 years ago

Description

When using fast forward with a kms context and vulkan it has zero impact.

It works with vulkan with X11 and opengl with kms.

Expected behavior

The fast forward feature should work normally with vulkan with kms.

Actual behavior

Fast forward with vulkan with a kms context has zero effect.

Steps to reproduce the bug

  1. Start RetroArch with a kms context and vulkan.
  2. Start any core + content (i.e. snes9x-libretro).
  3. Toggle fast forward.

Bisect Results

N/A

Older RetroArch commits have other issues with kms and vulkan making a bisect not possible.

Version/Commit

You can find this information under Information/System Information

Environment information

inactive123 commented 5 years ago

What context are you talking about ? I don't believe we have a KMS context driver written for Vulkan, only VK_KHR_display?

orbea commented 5 years ago

You're right, its not KMS, I was mistaken. I mean when running RetroArch with vulkan from an unused tty.

[WARN] Failed to bind API (#9, version 1.0) on context driver "x-egl".
[WARN] Failed to bind API (#9, version 1.0) on context driver "kms".
[WARN] Failed to bind API (#9, version 1.0) on context driver "sdl_gl".
[INFO] Vulkan dynamic library loaded.
[INFO] [Vulkan]: Detecting screen resolution 0x0.
[INFO] [Vulkan]: Using GPU: AMD RADV VEGA10 (LLVM 7.0.1)
[INFO] [Vulkan]: Queue family 0 supports 1 sub-queues.
[INFO] [Vulkan]: Swapchain supports present mode: 2.
[INFO] [Vulkan]: Creating swapchain with present mode: 2
[INFO] [Vulkan]: Using swapchain size 1680 x 1050.
[INFO] [Vulkan]: Got 3 swapchain images.
[INFO] [Vulkan]: Using resolution 1680x1050
[INFO] [Vulkan]: Using RGB565 format.
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [Vulkan]: Loading stock shader.
[INFO] [slang]: Building pass #0 (N/A)
[INFO] [slang]: Reflection
[INFO] [slang]:   Textures:
[INFO] [slang]:      Source (#0)
[INFO] [slang]:
[INFO] [slang]:   Uniforms (Vertex: yes, Fragment: no):
[INFO] [slang]:   Push Constants (Vertex: no, Fragment: no):
[INFO] [slang]:      MVP (Offset: 0)
[INFO] [slang]:
[INFO] [slang]:   Parameters:
[INFO] [Vulkan filter chain]: Not using frame history.
[INFO] [Vulkan filter chain]: Not using framebuffer feedback.
hizzlekizzle commented 5 years ago

IIRC, this is a known issue with mesa drivers, as they don't support the mailbox feature. Nvidia drivers can fast-forward normally, I believe.

orbea commented 5 years ago

What's the mailbox feature? Would this be true if fast forward works normally with a X11 context?

hizzlekizzle commented 5 years ago

You can read about it here: http://themaister.net/blog/2018/07/02/improving-vk_khr_display-in-mesa-or-lets-make-drm-better/