Graphics Driver Issues
This page quickly summarizes graphics driver quirks and issues present in GPU drivers by different manufacturers.
» Intel (Proprietary)
» AMD (Proprietary)
» NVIDIA (Proprietary)
» AMD (Mesa)
» Intel (Mesa)
» Hall of Fame (List of fixed issues)
Intel (Proprietary)
OpenGL
-
GLSL compiler is very broken
» Workaround implemented: No
» Reported: No
» Note: Intel proprietary OpenGL drivers are unsupported by RPCS3 due to their poor state. -
There are likely other issues as well...
Vulkan
- No known problems at this time
AMD (Proprietary)
OpenGL
- glMultiDrawArrays is broken
» Workaround implemented: Yes
» Reported: Yes, on 2018-04-25. No replies.
» Note: This seems to be undefined behavior in the spec. The gl_VertexID propagation behavior across MultiDrawArrays is not defined, i.e whether it should continue incrementing of reset to 0 on a new instance. However, due to the comparison with a loop of [first, count] and implied functional equivalence, this may be interpreted as a bug. Either way, RPCS3 provides a workaround using index lookups.
Vulkan
-
Primitive restart is 'broken', this seems to be a GCN hardware bug as it affects both proprietary and open-source drivers
» Workaround implemented: Yes (automatic)
» Note: Confirmed, see eae8f49f@mesa3d/mesa -
MSAA with sample shading disabled does not work on NAVI when using Vulkan
» Workaround implemented: Yes (automatic)
» Note: Forcefully enabling sampleRateShading for all pipelines and calculating the minimum ratio works around this problem
NVIDIA (Proprietary)
OpenGL
- Floating point precision issues with Nan/Inf values
» Workaround implemented: Yes (automatic)
» Note: This is not a driver bug as it can be considered implementation-defined behavior.
Vulkan
-
Floating point precision issues with Nan/Inf values
» Workaround implemented: Yes (automatic)
» Note: This is not a driver bug as it can be considered implementation-defined behavior. -
Unexpectedly slower performance (-25%) when replacing VK_FORMAT_B8G8R8A8_UNORM with VK_FORMAT_R8G8B8A8_UNORM
» Workaround used: None
» Reported: Yes, on 2020-10-30. No replies.
AMD (Mesa)
OpenGL
- No known problems at this time
Vulkan
-
Primitive restart is 'broken', this seems to be a GCN hardware bug as it affects both proprietary and open-source drivers
» Workaround implemented: Yes (automatic)
» Note: Confirmed, see eae8f49f@mesa3d/mesa -
LLVM 8 generates broken code on Mesa
» Workaround implemented: No, use newer versions of Mesa that are based on LLVM 9 or above
» Reported: Yes, on 2019-06-22. Quick reply.
» Note: This is caused by a dependency (LLVM), and not a bug on the driver's implementation.
Intel (Mesa)
OpenGL
- i965 Driver: Not supported. Games won't render properly with it, it's very broken [1], [2], [3].
- iris Driver: No known problems at this time.
Vulkan
-
Missing
shaderStorageImageMultisample
Vulkan feature support on Intel iGPUs
» Workaround implemented: Yes, Anti-Aliasing (MSAA) will be disabled automatically by RPCS3
» Reported: Yes, on 2020-08-03. Feature unsupported by hardware. -
Missing
descriptorBindingUniformBufferUpdateAfterBind
support
» Workaround implemented: Yes, an alternative (slower) code path will be used instead
» Reported: Yes, on 2020-09-28.
Hall of Fame
List of reported graphics driver bugs that are now fixed. We'd like to thank the developers who fixed these!
-
CRITICAL: OpenGL no longer renders any game on any AMD GPU! (Windows)
» Affected drivers: Radeon Software Adrenalin 19.12.1, 19.12.2, 19.12.3, 20.1.1, 20.1.2, 20.1.3
» Workaround used: None, not possible
» Fixed on: Radeon Software Adrenalin 20.1.4 -
High: AMD RADV driver crash when using ACO due to unusual control flow (Mesa)
» Affected drivers: Mesa 20.0.2 and earlier
» Workaround used: None, using RADV with LLVM instead of ACO
» Fixed on: Mesa 20.0.3 -
High: Incorrectly rendered Vulkan shaders due to broken SPIR-V optimization on NVIDIA
» Affected drivers: NVIDIA Windows 452.06 and earlier, NVIDIA Linux 450.56.06 and earlier
» Workaround used: None
» Fixed on: NVIDIA Windows 452.28, NVIDIA Linux 450.56.11 -
High: Driver instability leading to crashes on NVIDIA Windows
» Affected drivers: NVIDIA Windows 526.XX
» Workaround used: None
» Fixed on: NVIDIA Windows 527.37 -
High: Performance regression on AMD Windows with very high submit and flip latency per frame
» Affected drivers: Radeon Software Adrenalin 23.3.2, 23.4.1, 23.4.2
» Workaround used: None
» Fixed on: Radeon Software Adrenalin 23.4.3 -
High: Graphical corruption on AMD Windows with RDNA3 GPUs when upscaling games
» Affected drivers: Radeon Software Adrenalin 24.1.1 and older
» Workaround used: None
» Fixed on: Radeon Software Adrenalin 24.2.1 -
Normal: OpenGL's glGetTexImage/glGetTextureImage/glGetTextureImageEXT do not work with immutable textures if pack/unpack byteswap is requested on any AMD GPU (Windows)
» Affected drivers: Radeon Software Adrenalin 19.4.2 and earlier
» Workaround used: Manually byteswap texel data (now removed)
» Fixed on: Radeon Software Adrenalin 19.4.3 -
Normal: Unnecessary implicit subpass dependencies caused performance regression on AMD RADV (Mesa)
» Affected drivers: Mesa 20.0.0, 20.0.1
» Workaround used: Explicitely injecting null subpass dependencies (now removed)
» Fixed on: Mesa 20.0.2 -
Normal: vkGetQueryPoolResults returns incorrect values when VK_QUERY_RESULT_PARTIAL_BIT is set on NVIDIA (Windows)
» Affected drivers: NVIDIA GeForce 442.59 and earlier
» Workaround used: Keeping NVIDIA driver from using partial results (now removed)
» Fixed on: ~NVIDIA GeForce 442.74 -
Normal: Missing
shaderStorageImageMultisample
Vulkan feature support on GCN1 GPUs (RPCS3 crashes if MSAA is enabled)
» Affected drivers: Mesa 20.0.8 and older
» Workaround used: None (disable MSAA on affected drivers)
» Fixed on: Mesa 20.1.0 -
Normal: Vertex explosion when using ACO shader compiler on AMD RADV (Mesa)
» Affected drivers: Mesa 20.2.1 and older
» Workaround used: None, not possible. Using the older shader compiler instead of ACO, which was the default prior to Mesa 20.2
» Fixed on: Mesa 20.2.2