anchor.diff:      }
       for (Attrib attribute in attributes) {
         final attribLocation = gl.getAttribLocation(program, attribute.name);
  +      if (attribLocation == -1) {
  +        throw new ArgumentError(
  +            'Attribute ${attribute.name} not found in shader $vShaderFile}');
  +      }
         gl
           ..vertexAttribPointer(
               attribLocation,
  
positive.code:       buffers[attribute] = buffer;
      }
      final attribLocation = gl.getAttribLocation(program, attribute);
      gl
        ..bindBuffer(RenderingContext.ARRAY_BUFFER, buffer)
        ..bufferData(RenderingContext.ARRAY_BUFFER, items, usage)
  
negative.code:     final compileSuccess =
          gl.getShaderParameter(shader, RenderingContext2.COMPILE_STATUS);
      if (!compileSuccess) {
        success = false;
        throw new ArgumentError(
            '$runtimeType - Error compiling shader $vShaderFile or $fShaderFile: ${gl.getShaderInfoLog(shader)}');
      }
      return shader;
    }
  