Forums » Bugs

Vulkan Driver Weirdness (AMD RX460)

Sep 29, 2018 Wind Employment link
Hi guys, I know it is considered a beta driver right now, so think this feedback may be important. When I run VO on my Windows 10 PC, and try the new Vulkan driver I get a flickering in the Interface. The 3D graphics seem fine, but the rest of the interface (HUD, station menu, login screen, etc) all seem to exhibit a strange flicker almost as if the interface (but not the 3D part) is not respecting my Vsync setting or framerate (I am not saying this is what is happening but it is the best way to describe the problem). Really hard to describe and when I shoot a video everything looks fine so this is also no help unfortunately.

My system specs are not the best, as I mainly play older games, but it does run perfectly fine on DX11:

AMD FX 6300 - Overclock 4.2Ghz
AMD RX460 - Factory overclock but not sure what this means lol
8GB DDR 3 (not sure of speed)

I run VO with the framerate capped to 60, VSync is on, but turning it off makes no difference. Here is the output of vulkaninfo.log:

[09/27/18 19:11:46] NAOS Engine version 1.0.1
[09/27/18 19:11:46] available layers: 3
[09/27/18 19:11:46] VK_LAYER_AMD_switchable_graphics
[09/27/18 19:11:46] VK_LAYER_VALVE_steam_overlay
[09/27/18 19:11:46] VK_LAYER_LUNARG_standard_validation
[09/27/18 19:11:46] available extensions: 10
[09/27/18 19:11:46] VK_KHR_surface
[09/27/18 19:11:46] VK_KHR_win32_surface
[09/27/18 19:11:46] VK_KHR_get_physical_device_properties2
[09/27/18 19:11:46] VK_KHR_get_surface_capabilities2
[09/27/18 19:11:46] VK_KHR_external_memory_capabilities
[09/27/18 19:11:46] VK_KHR_device_group_creation
[09/27/18 19:11:46] VK_KHR_external_semaphore_capabilities
[09/27/18 19:11:46] VK_KHR_external_fence_capabilities
[09/27/18 19:11:46] VK_EXT_debug_report
[09/27/18 19:11:46] VK_EXT_debug_utils
536870912 bytes total.
[09/27/18 19:11:46] GKVulkan is valid.
[09/27/18 19:11:46] Setting mode to: 9
[09/27/18 19:11:47] using device 'Radeon(TM) RX 460 Graphics' vendorID = 0x00001002, deviceID = 0x000067ef, deviceType = 2
[09/27/18 19:11:47] Vulkan driver version 2.0.33 API version 1.1.73
[09/27/18 19:11:47] available present modes: 2
[09/27/18 19:11:47] 0
[09/27/18 19:11:47] 2
[09/27/18 19:11:47] creating swapchain size 1920x1080, count 2 (min 1, max 16), present mode 0, format 44, colorspace 0
[09/27/18 19:11:47] count 2 actually created.
[09/27/18 19:11:47] msaa supported: 0000000f
[09/27/18 19:11:48] memory types (4)
heap index 0:
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
heap index 1:
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
heap index 2:
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
heap index 1:
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
VK_MEMORY_PROPERTY_HOST_CACHED_BIT
[09/27/18 19:11:48] memory heaps (3)
heap index 0: size 1879048192:
VK_MEMORY_HEAP_DEVICE_LOCAL_BIT
heap index 1: size 805306368:
VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX
heap index 2: size 268435456:
VK_MEMORY_HEAP_DEVICE_LOCAL_BIT
VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX
[09/27/18 19:11:48] creating new pipeline 0x0a599540 for 04037AB0: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000002d, topology = 4, sampleCount = 4
[09/27/18 19:11:57] creating new pipeline 0x337e95b0 for 04037AB0: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000002d, topology = 3, sampleCount = 4
[09/27/18 19:12:26] creating new pipeline 0x3a07d020 for 04037AB0: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000000c, topology = 4, sampleCount = 1
[09/27/18 19:12:26] creating new pipeline 0x382d0270 for 04037AB0: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000002d, topology = 3, sampleCount = 1
[09/27/18 19:12:28] creating new pipeline 0x3a71a8b0 for 3A232E30: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000000c, topology = 4, sampleCount = 1
[09/27/18 19:12:28] creating new pipeline 0x35f6baf0 for 3A235FF0: fvf = 0x0112 (vs fvf = 0x0112), state = 0x00000035, topology = 4, sampleCount = 1
[09/27/18 19:12:28] creating new pipeline 0x381ae030 for 3A232E30: fvf = 0x0142 (vs fvf = 0x0142), state = 0x00000017, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x38239e50 for 3A236130: fvf = 0x140312 (vs fvf = 0x140312), state = 0x00000200, topology = 4, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3827ac20 for 3A2361B0: fvf = 0x0042 (vs fvf = 0x0042), state = 0x0000000f, topology = 4, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x399f46c0 for 3A2361B0: fvf = 0x0042 (vs fvf = 0x0042), state = 0x00000007, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3ac53760 for 38129BB8: fvf = 0x0112 (vs fvf = 0x0012), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3a8c6ff0 for 38129BB8: fvf = 0x0212 (vs fvf = 0x0012), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3ac5b750 for 38129BB8: fvf = 0x140312 (vs fvf = 0x0012), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3a8c4cc0 for 38129BB8: fvf = 0x500412 (vs fvf = 0x0012), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x37ee6ce0 for 3A230730: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000000c, topology = 4, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x35d5beb0 for 3A231B70: fvf = 0x140312 (vs fvf = 0x0102), state = 0x00000200, topology = 4, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x35d5a1a0 for 3A235FF0: fvf = 0x0112 (vs fvf = 0x0112), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x35d5dbc0 for 33670880: fvf = 0x0212 (vs fvf = 0x0212), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3abd5fc0 for 33670B40: fvf = 0x0212 (vs fvf = 0x0212), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3abd5130 for 37E3FE00: fvf = 0x0212 (vs fvf = 0x0202), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3abd99e0 for 37E3F780: fvf = 0x140312 (vs fvf = 0x0102), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3abd6e40 for 37E3FA80: fvf = 0x500412 (vs fvf = 0x0202), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3abd8b50 for 37E3FA40: fvf = 0x500412 (vs fvf = 0x0202), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3abd3420 for 37E3FB40: fvf = 0x0112 (vs fvf = 0x0102), state = 0x00001000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3abd7cd0 for 37E3FE80: fvf = 0x0112 (vs fvf = 0x0102), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3abda860 for 37E3F740: fvf = 0x0112 (vs fvf = 0x0102), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3abd42b0 for 37E3F740: fvf = 0x0212 (vs fvf = 0x0102), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:29] creating new pipeline 0x3abdc570 for 37E3FCC0: fvf = 0x0112 (vs fvf = 0x0102), state = 0x00001000, topology = 3, sampleCount = 1
[09/27/18 19:12:30] creating new pipeline 0x3abe0e20 for 37E3F7C0: fvf = 0x0112 (vs fvf = 0x0102), state = 0x00000000, topology = 3, sampleCount = 1
[09/27/18 19:12:30] creating new pipeline 0x3abdff90 for 37E3FBC0: fvf = 0x0212 (vs fvf = 0x0212), state = 0x00000007, topology = 3, sampleCount = 1
[09/27/18 19:12:30] creating new pipeline 0x3abde280 for 3A235FF0: fvf = 0x0112 (vs fvf = 0x0112), state = 0x00000007, topology = 3, sampleCount = 1
[09/27/18 19:12:30] creating new pipeline 0x3abdd400 for 33670880: fvf = 0x0212 (vs fvf = 0x0212), state = 0x00000007, topology = 3, sampleCount = 1
[09/27/18 19:12:30] creating new pipeline 0x3abdf110 for 37E3F7C0: fvf = 0x0112 (vs fvf = 0x0102), state = 0x00000007, topology = 3, sampleCount = 1
[09/27/18 19:12:30] creating new pipeline 0x3abdb6f0 for 37E3F7C0: fvf = 0x0212 (vs fvf = 0x0102), state = 0x00000007, topology = 3, sampleCount = 1
[09/27/18 19:12:30] creating new pipeline 0x3abe1ca0 for 3A230730: fvf = 0x0142 (vs fvf = 0x0142), state = 0x00000007, topology = 3, sampleCount = 1
[09/27/18 19:12:30] creating new pipeline 0x42364c40 for 37E3FAC0: fvf = 0x0142 (vs fvf = 0x0102), state = 0x0000000c, topology = 4, sampleCount = 1
[09/27/18 19:12:30] creating new pipeline 0x423677d0 for 3A232E30: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000000c, topology = 4, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x42363db0 for 3A235FF0: fvf = 0x0112 (vs fvf = 0x0112), state = 0x00000035, topology = 4, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x42362f30 for 3A236130: fvf = 0x140312 (vs fvf = 0x140312), state = 0x00000200, topology = 4, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x42365ac0 for 3A2361B0: fvf = 0x0042 (vs fvf = 0x0042), state = 0x0000000f, topology = 4, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x42368660 for 3A2361B0: fvf = 0x0042 (vs fvf = 0x0042), state = 0x00000007, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x42366950 for 3A232E30: fvf = 0x0142 (vs fvf = 0x0142), state = 0x00000017, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x423620a0 for 3A235FF0: fvf = 0x0112 (vs fvf = 0x0112), state = 0x00000000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x4236ec10 for 33670880: fvf = 0x0212 (vs fvf = 0x0212), state = 0x00000000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x4236a370 for 33670B40: fvf = 0x0212 (vs fvf = 0x0212), state = 0x00000000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x4236faa0 for 37E3FB00: fvf = 0x0212 (vs fvf = 0x0212), state = 0x00000000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x4236b1f0 for 37E3FEC0: fvf = 0x140312 (vs fvf = 0x140312), state = 0x00000000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x4236c080 for 37E3F800: fvf = 0x500412 (vs fvf = 0x500412), state = 0x00000000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x4236cf00 for 37E3F840: fvf = 0x500412 (vs fvf = 0x500412), state = 0x00000000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x4236dd90 for 37E3FB80: fvf = 0x0112 (vs fvf = 0x0112), state = 0x00001000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x423694e0 for 37E3F880: fvf = 0x0112 (vs fvf = 0x0112), state = 0x00000000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x42370920 for 37E3FC00: fvf = 0x0112 (vs fvf = 0x0112), state = 0x00000000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x42771980 for 37E3FC00: fvf = 0x0212 (vs fvf = 0x0112), state = 0x00000000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x4276ede0 for 37E3F8C0: fvf = 0x0112 (vs fvf = 0x0112), state = 0x00001000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x42772800 for 37E3FC40: fvf = 0x0112 (vs fvf = 0x0102), state = 0x00000000, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x42773690 for 37E3FBC0: fvf = 0x0212 (vs fvf = 0x0212), state = 0x00000007, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x42770af0 for 3A235FF0: fvf = 0x0112 (vs fvf = 0x0112), state = 0x00000007, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x4276df60 for 33670880: fvf = 0x0212 (vs fvf = 0x0212), state = 0x00000007, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x4276d0d0 for 37E3FC40: fvf = 0x0112 (vs fvf = 0x0102), state = 0x00000007, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x42774510 for 37E3FC40: fvf = 0x0212 (vs fvf = 0x0102), state = 0x00000007, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x427753a0 for 3A230730: fvf = 0x0142 (vs fvf = 0x0142), state = 0x00000007, topology = 3, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x42776220 for 04037AB0: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000040d, topology = 4, sampleCount = 4
[09/27/18 19:12:30] creating new pipeline 0x4276fc70 for 04037AB0: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000000c, topology = 1, sampleCount = 4
[09/27/18 19:12:33] creating new pipeline 0x42779c40 for 04037AB0: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000000f, topology = 3, sampleCount = 4
[09/27/18 19:12:37] creating new pipeline 0x42778dc0 for 04037AB0: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000000c, topology = 3, sampleCount = 4
[09/27/18 19:12:37] creating new pipeline 0x427770b0 for 04037AB0: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000000c, topology = 4, sampleCount = 4
[09/27/18 19:12:39] creating new pipeline 0x42777f30 for 04037AB0: fvf = 0x0142 (vs fvf = 0x0142), state = 0x0000000f, topology = 4, sampleCount = 4

If any further information is required please say and I will provide.
Sep 29, 2018 incarnate link
Thanks, these kinds of reports definitely help us improve the beta Vulkan renderer. I'll let Ray add any additional technical questions..
Sep 29, 2018 raybondo link
What AMD driver version do you have installed and is it the latest one?

Do you see the flickering at the login screen? Are there any UIs that don't flicker?

Does the UI render all the time and the flickering makes it look like old-school interlaced?
Sep 29, 2018 Wind Employment link
Hi Ray, I had driver version 18.5.2 installed when I first tried but updated to 18.9.3 (latest Adrenalin driver) but the problem still persists (Vulkan driver version changed to 2.0.49 API version 1.1.77 between these AMD updates). I have tried to capture a few videos to show the problem but Xbox Capture (Win+Alt+R) fails to record (not sure it can capture a Vulkan game yet).

I have tried to shoot a few videos with my phone, but due to the cameras lower 30FPS, the flicker is about half as fast as in reality. It almost looks like trying to make a video of an old CRT type display with a cine-film camera (but not black stripes).

I think the first video here shows it best but you will have to imagine it going twice as fast, but apart from the initial load screen, all of the interface has a very noticeable flicker. My screen is nothing fancy, just a 60Hz LED 1920x1080p (Benq GL2250 - it is connected on HDMI). It does not look interlaced per-se, more like it has a visible scanline/colour gun malfunction (of course I mean if it was CRT). The 3D graphics themselves look fine.

Links: (Removed)
Sep 29, 2018 Wind Employment link
Info from AMD panel:

Radeon Settings Version - 2018.0925.2319.41966
Driver Packaging Version - 18.30.19.01-180925a-333764E-RadeonSoftwareAdrenalin
Provider - Advanced Micro Devices, Inc.
2D Driver Version - 8.1.1.1634
Direct3D® Version - 9.14.10.01359
OpenGL® Version - 24.20.11000.13541
OpenCL™ Version - 24.20.13019.1008
AMD Mantle Version - 9.1.10.0278
AMD Mantle API Version - 102400
AMD Audio Driver Version - 10.0.1.7
Vulkan™ Driver Version - 2.0.49
Vulkan™ API Version - 1.1.77

Graphics Card Manufacturer - Powered by AMD
Graphics Chipset - Radeon(TM) RX 460 Graphics
Device ID - 67EF
Vendor ID - 1002
SubSystem ID - 04B8
SubSystem Vendor ID - 1043
Revision ID - CF
Bus Type - PCI Express 3.0
Current Bus Settings - PCI Express 2.0 x8
BIOS Version - 015.050.000.000
BIOS Part Number - 115-C994PI00-100
BIOS Date - 2016/08/17 04:07
Memory Size - 2048 MB
Memory Type - GDDR5
Memory Clock - 1750 MHz
Core Clock - 1224 MHz
Total Memory Bandwidth - 112 GByte/s
Memory Bit Rate - 7.00 Gbps
2D Driver File Path - /REGISTRY/MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4d36e968-e325-11ce-bfc1-08002be10318}/0000

Horizontal Timing Total - 2200
Horizontal Timing Display - 1920
Horizontal Timing Front Porch - 88
Horizontal Timing Sync Width - 44
Vertical Timing Total - 1125
Vertical Timing Display - 1080
Vertical Timing Front Porch - 4
Vertical Timing Sync Width - 5
Horizontal Timing Polarity - Positive
Vertical Timing Polarity - Positive
Interlaced/Progressive - Progressive
G.Pixel Clock (KHz) - 148350
G.Refresh Rate (Hz) - 59.9394
Current HDCP Status - Enabled
Current Link Settings - Not Available
Sep 29, 2018 raybondo link
Thanks, yeah, that first video shows it the most.
I am able to reproduce the flickering on my AMD Radeon as well in fullscreen mode. In window mode the flicker is not present.
Sep 29, 2018 raybondo link
Found the problem and a fix will be in the next client update.
It was setting the fullscreen refresh rate to something other than default.
Sep 30, 2018 Wind Employment link
Cool, good stuff. I guess even knowing what a CRT colour gun is is showing my age :D but glad you found the problem. Once the update rolls out I will see if I can break it some more for you ;)

Love

EO