-
Notifications
You must be signed in to change notification settings - Fork 55
Description
When running a Supermodel build compiled on my Linux machine, I get this error at runtime:
0:110(14): error: no function with name 'texture2DLod'
0:111(14): error: no function with name 'texture2DLod'
0:112(14): error: no function with name 'texture2DLod'
0:113(14): error: no function with name 'texture2DLod'
0:116(5): warning: `p0q0' used uninitialized
0:116(14): warning: `p1q0' used uninitialized
0:116(35): warning: `p0q0' used uninitialized
0:117(5): warning: `p0q0' used uninitialized
0:117(14): warning: `p0q1' used uninitialized
0:117(35): warning: `p0q0' used uninitialized
0:119(14): warning: `p0q0' used uninitialized
0:120(14): warning: `p1q1' used uninitialized
error: linking with uncompiled/unspecialized shader
From there, as expected, there's no 3D output but the rest of the game runs.
It seems like newer GLSL versions have this function included, and when messing with OpenGL ES porting it worked fine after changing the vertexShaderR3D and fragmentShaderR3D's versions to 300 es (not accounting for the other changes that had to be made to get that to work), but there also seem to be extensions like GL_EXT_EGL_image_storage and GL_EXT_shader_texture_lod which might work without a version change if added to fragmentShaderR3D and changing texture2DLod calls to texture2DLodEXT but I couldn't get this solution to work. I'd get this error message from attempting to use the latter extension in particular:
warning: extension `GL_EXT_shader_texture_lod' unsupported in fragment shader
The OpenGL version Supermodel is being ran with appears to be 4.6.