What is correct way to use #extension in .fsh shader file?
TestShader.fsh:
#extension GL_EXT_shader_framebuffer_fetch : require
void main() {
lowp vec4 destColor = gl_LastFragData[0];
...
}
in Swift:
spriteNode.shader = SKShader(fileNamed: "TestShader.fsh")
By this way shader compilation fails with
error: invalid preprocessing directive
#extension GL_EXT_shader_framebuffer_fetch : require
error: use of undeclared identifier 'gl_LastFragData'
lowp vec4 destColor = gl_LastFragData[0];
Without extension the shader is compiled successfully.
I'm using Xcode 9.2, running on iphone SE iOS11, PrefersOpenGL is not setted in Info.plist.