Browse Source

ignore active attribute/uniform checks with gl.shim

Alexander Rose 6 years ago
parent
commit
e899042a48
2 changed files with 10 additions and 4 deletions
  1. 2 4
      src/mol-gl/_spec/gl.shim.ts
  2. 8 0
      src/mol-gl/webgl/program.ts

+ 2 - 4
src/mol-gl/_spec/gl.shim.ts

@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
  *
@@ -679,14 +677,14 @@ export function createGl(width: number, height: number, contextAttributes: WebGL
             return {
                 size: 1,
                 type: gl.INT_VEC3,
-                name: `activeUniform${index}`,
+                name: `__activeUniform${index}`,
             };
         },
         getActiveAttrib: function (program: WebGLProgram, index: number) {
             return {
                 size: 1,
                 type: gl.FLOAT,
-                name: `activeAttrib${index}`
+                name: `__activeAttrib${index}`
             };
         },
         clear: function () { },

+ 8 - 0
src/mol-gl/webgl/program.ts

@@ -55,6 +55,10 @@ function checkActiveAttributes(ctx: WebGLContext, program: WebGLProgram, schema:
         const info = gl.getActiveAttrib(program, i);
         if (info) {
             const { name, type } = info
+            if (name.startsWith('__activeAttribute')) {
+                // name assigned by `gl.shim.ts`, ignore for checks
+                continue
+            }
             const spec = schema[name]
             if (spec === undefined) {
                 throw new Error(`missing 'uniform' or 'texture' with name '${name}' in schema`)
@@ -77,6 +81,10 @@ function checkActiveUniforms(ctx: WebGLContext, program: WebGLProgram, schema: R
         const info = gl.getActiveUniform(program, i);
         if (info) {
             const { name, type } = info
+            if (name.startsWith('__activeUniform')) {
+                // name assigned by `gl.shim.ts`, ignore for checks
+                continue
+            }
             const spec = schema[name]
             if (spec === undefined) {
                 throw new Error(`missing 'uniform' or 'texture' with name '${name}' in schema`)