Browse Source

Merge pull request #528 from molstar/safari-surf-fix

wrap gl_VertexID in int()
Alexander Rose 2 years ago
parent
commit
fb3accaa36
3 changed files with 4 additions and 6 deletions
  1. 1 1
      CHANGELOG.md
  2. 3 1
      src/mol-gl/shader/chunks/common-vert-params.glsl.ts
  3. 0 4
      src/mol-plugin/features.ts

+ 1 - 1
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)

+ 3 - 1
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)

+ 0 - 4
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;