ISF, Metal, and VDMX6 upgrade transpilation

Does ISF support metal? I find no mention of metal in the ISF docs.

When I run VDMX6 and my ISFs are transpiled to Metal, do they become metal ISFs? Can I presume that my original ISFs will remain in place and untouched? Where do the transpiled versions go?

Is the vision going forward that the ISF format will support metal, or that ISFs will continue to be GLSL but should ideally be written in a transpile-friendly way?

If I update an ISF which has been transpiled, will it be automatically re-transpiled? Should I delete the metal version to trigger a re-transpile?

Hey Geoff!

Great questions!

  1. ISF v2 itself is still completely GLSL based. The draft specification we’ve started for the next generation of ISF, among other things, allows for writing Metal based shaders, but this is a ways off from being finalized and put into action.
    (You can find the draft of v3 here, https://github.com/mrRay/ISF_Spec/tree/Draft-v3)

  2. Transpiled shaders are cached on disk, and yes, your original GLSL shaders stay in place, totally untouched. You should not modify the transpiled / cached MSL files, for the time being you should write (as you so well put it) transpile-friendly GLSL code.

  3. VDMX6 should automatically check the modification dates on files and re-transpile them to Metal as needed behind the scenes (if you run into any problems with this, please send us a bug report!). If you go into the Workspace Inspector under Assets you should see a warning icon next to any effects that fail to compile / transpile. However, do note that VDMX will not try automatically reload any effects / sources that are actively in use, eg you would need to re-trigger an ISF source to get the updated shader on a layer.

  4. Another note is that when ISFs fail to compile, as of VDMX6 there are now error logs produced to help you debug. You can get to this folder via the “Show Assets Folder in Finder” option from the Help menu. If the shader failed to convert to Metal for some reason the error log will contain the transpiled MSL for you to review.

3 Likes