Difference between revisions of "Known Driver Bugs"

(AMD)
(Rename Antartica to Antarctica)
 
Line 1: Line 1:
== Nvidia ==
+
Latest drivers are assumed in this page.
 +
 
 +
== Nvidia Drivers ==
  
 
* Some shader with loops with a long body like GI makes the shader compiler crash.
 
* Some shader with loops with a long body like GI makes the shader compiler crash.
Line 14: Line 16:
 
Workaround : Do not use atomics.
 
Workaround : Do not use atomics.
  
== AMD ==
+
== Catalyst ==
  
 
* Samplers object seems not to be properly unbound when dealing with depth test and array texture like for shadowedsunlight shader.
 
* Samplers object seems not to be properly unbound when dealing with depth test and array texture like for shadowedsunlight shader.
Line 28: Line 30:
 
* Float arrays in UBO (when there are 2 UBOs) are not correctly staticaly addressed by shaders although it compiles.
 
* Float arrays in UBO (when there are 2 UBOs) are not correctly staticaly addressed by shaders although it compiles.
 
Workaround : Names all field in the array manually.
 
Workaround : Names all field in the array manually.
 +
* "#extension GL_AMD_vertex_shader_layer : enable" statement is not recognised.
 +
Workaround :  GL_AMD_vertex_shader_layer behavior is enabled by default (ie you can write to gl_Layer in vertex shader) and it doesnt prevent the shader compilation so it's not an issue.
  
 
== Mesa ==
 
== Mesa ==
  
* DoF shaders make the compiler go into an infinite loop
+
* On intel srgb Texture compression is broken.
Workaround : Do not activate dof
+
Workaround : Do not use texture compression. This bug is also present on Intel Windows. Not sure it can be called a bug since texture compression is not part of the standard anyway.
  
== Intel ==
+
== Intel Windows ==
  
 
* On Sandy Bridge UBO are not properly updated
 
* On Sandy Bridge UBO are not properly updated
 
Workaround : Do not use UBO
 
Workaround : Do not use UBO
 
* srgb Texture compression is broken.
 
* srgb Texture compression is broken.
Workaround : Do not use texture compression.
+
Workaround : Do not use texture compression. Not sure it can be called a bug since texture compression is not part of the standard anyway.
* The terminal is flooded with warnings in debug buildsso the the fps gos down from 60 to 11.
+
 
Workaround: disable warnings
 
Solution: Modify the irrlicht Code so that it doesn't use old functions with modern hardware OR make the printing of warning configurable.
 
  
[[category:antartica]]
+
[[category:Antarctica]]

Latest revision as of 20:38, 17 September 2016

Latest drivers are assumed in this page.

Nvidia Drivers

  • Some shader with loops with a long body like GI makes the shader compiler crash.

Workaround : Manually unroll the loop.

  • Passing sampler2D as varying between vertex shader and geometry shader make compiler crash

Workaround : User uvec2 type instead.

  • Array of constants seem to be slower than normal when dynamic addressed.

Workaround : Use uniform arrays.

  • On linux depth texture array with depthcomponent16 does not work.

Workaround : Commit b376dcd6fef825edf14cbab09924efe262223aab

  • imageLoad() returns undefined values with out of bound index instead of 0 (as mentionned by the spec) on linux.

Workaround : Clamp indexes or use texture.

  • atomics on shared memory (and to global memory to a lesser extent) like atomicMax in compute shaders make the display server hang/crash on Windows and Linux.

Workaround : Do not use atomics.

Catalyst

  • Samplers object seems not to be properly unbound when dealing with depth test and array texture like for shadowedsunlight shader.

Workaround : Use a dedicated texture unit for such samplers

  • Bindless srgb textures are sampled like rgb textures

Workaround : Use #ifdefs and pow(., 2.2) to manually do the conversion

  • imageLoad() returns undefined values with out of bound index instead of 0 (as mentionned by the spec) on linux.

Workaround : Clamp indexes or use texture.

  • On linux libasan crash early because of overlapping memcpy addresses.

Workaround : Do not use libasan with catalyst

  • Array textures with MSAA make the display driver on Windows crash and/or generates visual glitches.

Workaround : Use atlases or avoid MSAA

  • Float arrays in UBO (when there are 2 UBOs) are not correctly staticaly addressed by shaders although it compiles.

Workaround : Names all field in the array manually.

  • "#extension GL_AMD_vertex_shader_layer : enable" statement is not recognised.

Workaround : GL_AMD_vertex_shader_layer behavior is enabled by default (ie you can write to gl_Layer in vertex shader) and it doesnt prevent the shader compilation so it's not an issue.

Mesa

  • On intel srgb Texture compression is broken.

Workaround : Do not use texture compression. This bug is also present on Intel Windows. Not sure it can be called a bug since texture compression is not part of the standard anyway.

Intel Windows

  • On Sandy Bridge UBO are not properly updated

Workaround : Do not use UBO

  • srgb Texture compression is broken.

Workaround : Do not use texture compression. Not sure it can be called a bug since texture compression is not part of the standard anyway.