#!/bin/sh # MESA_GLSL_VERSION_OVERRIDE # # changes the value returned by glGetString(GL_SHADING_LANGUAGE_VERSION). Valid # values are integers, such as "130". Mesa will not really implement all the # features of the given language version if it's higher than what's normally # reported. (for developers only) # MESA_GL_VERSION_OVERRIDE # # changes the value returned by glGetString(GL_VERSION) and possibly the GL API # type. The format should be MAJOR.MINOR[FC|COMPAT] # # FC is an optional suffix that indicates a forward compatible context. # This is only valid for versions >= 3.0. # # COMPAT is an optional suffix that indicates a compatibility context or # GL_ARB_compatibility support. This is only valid for versions >= 3.1. # # GL versions <= 3.0 are set to a compatibility (non-Core) profile # # GL versions = 3.1, depending on the driver, it may or may not have the # ARB_compatibility extension enabled. # # GL versions >= 3.2 are set to a Core profile # # Examples: 2.1, 3.0, 3.0FC, 3.1, 3.1FC, 3.1COMPAT, X.Y, X.YFC, X.YCOMPAT. # 2.1 - select a compatibility (non-Core) profile with GL version 2.1. # 3.0 - select a compatibility (non-Core) profile with GL version 3.0. # 3.0FC - select a Core+Forward Compatible profile with GL version 3.0. # 3.1 - select GL version 3.1 with GL_ARB_compatibility enabled per the driver default. # 3.1FC - select GL version 3.1 with forward compatibility and GL_ARB_compatibility disabled. # 3.1COMPAT - select GL version 3.1 with GL_ARB_compatibility enabled. # X.Y - override GL version to X.Y without changing the profile. # X.YFC - select a Core+Forward Compatible profile with GL version X.Y. # X.YCOMPAT - select a Compatibility profile with GL version X.Y. # # Mesa may not really implement all the features of the given version. (for # developers only) #cmd=gix cmd=meshsketch quiet() { "$@" >/dev/null 2>&1; } quiet which $cmd || quiet stack exec -- which $cmd || stack build [ -e .stack-work ] && run='stack run --' || run= if [ "$cmd" = meshsketch ]; then [ -e hello_obj2.json ] || $run lc hello_obj2.lc fi MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330 $run $cmd