diff options
| author | Graham Linden <graham@lindenlab.com> | 2019-02-28 14:06:19 -0800 |
|---|---|---|
| committer | Graham Linden <graham@lindenlab.com> | 2019-02-28 14:06:19 -0800 |
| commit | c1d2416826406631807f153e7de9d2b790b0caa5 (patch) | |
| tree | e5092c0a9e6ff778d74cb13af44d9c61325fe20f /indra/newview/app_settings/shaders/class1/avatar | |
| parent | d7ad30a2d4dfd83f93b0150464214f2df776eb9c (diff) | |
EEP performance WIP
Mods to improve alpha obj render performance.
Removes hacky fix for HUD elements getting atmospherics.
Re-orders rendering of glow to remove ~10ms/frame of shader re-re-rebinding.
Fix up default classes and basic shader loading (remove unused shared modules).
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/avatar')
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl | 7 | ||||
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl | 7 |
2 files changed, 14 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 c4caed4d71..767fad016c 100644 --- a/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl +++ b/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl @@ -38,5 +38,12 @@ mat4 getSkinnedTransform() ret[1] = mix(matrixPalette[i+15],matrixPalette[i+16], x); ret[2] = mix(matrixPalette[i+30],matrixPalette[i+31], x); 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 94de2f7b53..90bf2851c9 100644 --- a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl +++ b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl @@ -61,5 +61,12 @@ 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. + mat3x4 dummy1 = matrixPalette[0]; + mat3x4 dummy2 = matrixPalette[MAX_JOINTS_PER_MESH_OBJECT-1]; +#endif + } |
