diff --git a/CHANGELOG.md b/CHANGELOG.md index 2713e0fad49b8f35dd4b260ee2ed5ec3a7edf8de..baead67420e40ca97abb5c7da5c30bef0c940ce2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ Note that since we don't clearly distinguish between a public and private interf - Add support for download of gzipped files - Don't filter IndexPairBonds by element-based rules in MOL/SDF and MOL2 (without symmetry) models - Fix Glycam Saccharide Names used by default -- Prefer WebGL1 for more Safari versions to avoid broken GPU surfaces rendering +- Fix GPU surfaces rendering in Safari with WebGL2 - Add ``fov`` (Field of View) Canvas3D parameter - Add ``sceneRadiusFactor`` Canvas3D parameter - Add background pass (skybox, image, horizontal/radial gradient) diff --git a/src/mol-gl/shader/chunks/common-vert-params.glsl.ts b/src/mol-gl/shader/chunks/common-vert-params.glsl.ts index 10a7c27ed698a4cd83be892f31bbd34dcc78e5ef..4589093a99daffa056212e269b990bda4e3b3665 100644 --- a/src/mol-gl/shader/chunks/common-vert-params.glsl.ts +++ b/src/mol-gl/shader/chunks/common-vert-params.glsl.ts @@ -44,7 +44,9 @@ varying vec3 vModelPosition; varying vec3 vViewPosition; #if defined(noNonInstancedActiveAttribs) - #define VertexID gl_VertexID + // int() is needed for some Safari versions + // see https://bugs.webkit.org/show_bug.cgi?id=244152 + #define VertexID int(gl_VertexID) #else attribute float aVertex; #define VertexID int(aVertex) diff --git a/src/mol-plugin/features.ts b/src/mol-plugin/features.ts index df2c7f2e3371cfd5a82ce5c71dfc7230e98838f7..41937333e54555624ff2474c6008d973c78d2857 100644 --- a/src/mol-plugin/features.ts +++ b/src/mol-plugin/features.ts @@ -15,10 +15,6 @@ export const PluginFeatureDetection = { 'Version/15.1 Safari', 'Version/15.2 Safari', 'Version/15.3 Safari', - // the following 'only' break GPU surfaces - 'Version/15.4 Safari', - 'Version/15.5 Safari', - 'Version/16.0 Safari', ]; if (unpportedSafariVersions.some(v => navigator.userAgent.indexOf(v) > 0)) { return true;