diff --git a/Graphics-Driver-Issues.md b/Graphics-Driver-Issues.md index c71884e..7bfada0 100644 --- a/Graphics-Driver-Issues.md +++ b/Graphics-Driver-Issues.md @@ -1,37 +1,48 @@ -## Overview +# Graphics Driver Issues This page quickly summarizes graphics driver quirks and issues present in GPU drivers by different manufacturers. -### Intel (proprietary) -**OpenGL.** -- GLSL compiler is broken. There are likely other issues as well. This driver is unsupported by RPCS3. +» [Intel (Proprietary)](#intel-proprietary)
+» [AMD (Proprietary)](#amd-proprietary)
+» [NVIDIA (Proprietary)](#nvidia-proprietary)
+» [AMD (Mesa)](#amd-proprietary) -**Vulkan.** -- No known problems at this time. -### AMD (proprietary) -**OpenGL.** +## Intel (Proprietary) +**OpenGL** _(This driver is unsupported by RPCS3)_ +- GLSL compiler is broken +- _There are likely other issues as well..._ + +**Vulkan** +- _No known problems at this time_ + + +## AMD (Proprietary) +**OpenGL** - glMultiDrawArrays is broken. Workaround implemented and problem reported to AMD. No replies yet. See [this report.](https://community.amd.com/message/2858799)
[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. - ~~glGetTexImage/glGetTextureImage/glGetTextureImageEXT do not work with immutable textures if pack/unpack byteswap is requested. Workaround implemented.~~ Fixed in driver version 19.4.3 - ~~Critical bug with Adrenalin 2020 drivers (since 19.12.x series). OpenGL no longer works with proprietary AMD drivers. Issue reported to AMD, we're waiting for action from their side.~~ Fixed in driver version 20.1.4 -**Vulkan.** +**Vulkan** - Primitive restart is 'broken'. This seems to be a GCN hardware bug as it also affects mesa drivers to some extent. Workaround implemented. (confirmed - see [this commit](https://github.com/mesa3d/mesa/commit/eae8f49fc65e6e625f5e05d38c3bf1b61b84bd3d)) -### NVIDIA (proprietary) -**OpenGL.** + +## NVIDIA (Proprietary)
+**OpenGL** - FP precision issues with Nan/Inf values. Workaround implemented.
NOTE: This is not a driver bug as it can be considered implementation-defined behavior. -**Vulkan.** +**Vulkan** - FP precision issues with Nan/Inf values. Workaround implemented.
NOTE: This is not a driver bug as it can be considered implementation-defined behavior. -### Mesa -**OpenGL.** -- No known problems at this time. +## AMD (Mesa)
+**OpenGL** +- _No known problems at this time_ -**Vulkan.** +**Vulkan** - Primitive restart is 'broken'. This seems to be a GCN hardware bug as it also affects proprietary drivers. Workaround implemented. (confirmed - see [this commit](https://github.com/mesa3d/mesa/commit/eae8f49fc65e6e625f5e05d38c3bf1b61b84bd3d)) - ~~LLVM8 codegen is broken. Use mesa with LLVM9 codegen to avoid this issue. Padoka PPA has the updated LLVM9 drivers for ubuntu users. See [this bug report.](https://bugs.freedesktop.org/show_bug.cgi?id=110970)~~ Fixed in newer versions of mesa based on later LLVM versions. -- If using the experimental Southern Islands amdgpu support, enabling MSAA may cause the emulator to crash. This is a limitation of the driver, disable MSAA to work around this issue. \ No newline at end of file +- If using the experimental Southern Islands amdgpu support, enabling MSAA may cause the emulator to crash. This is a limitation of the driver, disable MSAA to work around this issue. + +--- \ No newline at end of file