diff options
author | Oz Linden <oz@lindenlab.com> | 2014-10-14 11:22:39 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2014-10-14 11:22:39 -0400 |
commit | 7ffa456683ed7babd8abf16d48f0871a7001f3e6 (patch) | |
tree | 0ca61fabcce55de740da7105b22d439456d77f2e /indra/newview/app_settings/shaders/class1/avatar | |
parent | e271fe7091e76373c277625ffcb2cba0c9a02746 (diff) |
STORM-2080: correct fitted mesh rendering on some ATI cards
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/avatar')
-rwxr-xr-x | indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl | 6 | ||||
-rwxr-xr-x | indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl b/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl index bc63d07d72..767fad016c 100755 --- a/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl +++ b/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl @@ -40,4 +40,10 @@ mat4 getSkinnedTransform() ret[3] = vec4(0,0,0,1); return ret; + +#ifdef IS_AMD_CARD + // If it's AMD make sure the GLSL compiler sees the arrays referenced once by static index. Otherwise it seems to optimise the storage awawy which leads to unfun crashes and artifacts. + vec4 dummy1 = matrixPalette[0]; + vec4 dummy2 = matrixPalette[44]; +#endif } diff --git a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl index 57129c3bd1..6cd38d8ef5 100755 --- a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl +++ b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl @@ -63,5 +63,14 @@ mat4 getObjectSkinnedTransform() ret[3] = vec4(trans, 1.0); return ret; + +#ifdef IS_AMD_CARD + // If it's AMD make sure the GLSL compiler sees the arrays referenced once by static index. Otherwise it seems to optimise the storage awawy which leads to unfun crashes and artifacts. + mat3 dummy1 = matrixPalette[0]; + vec3 dummy2 = translationPalette[0]; + mat3 dummy3 = matrixPalette[51]; + vec3 dummy4 = translationPalette[51]; +#endif + } |