wrench_with_renderer.py (1578B)
1 #!/usr/bin/python 2 3 # This Source Code Form is subject to the terms of the Mozilla Public 4 # License, v. 2.0. If a copy of the MPL was not distributed with this 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7 import os 8 import subprocess 9 import sys 10 11 12 def is_linux(): 13 return sys.platform.startswith('linux') 14 15 16 if is_linux(): 17 requested_renderer = sys.argv[1] 18 renderer = "default" 19 20 if requested_renderer == 'hardware': 21 pass 22 elif requested_renderer == 'llvmpipe': 23 os.environ["LIBGL_ALWAYS_SOFTWARE"] = "1" 24 os.environ["GALLIUM_DRIVER"] = "llvmpipe" 25 elif requested_renderer == 'softpipe': 26 os.environ["LIBGL_ALWAYS_SOFTWARE"] = "1" 27 os.environ["GALLIUM_DRIVER"] = "softpipe" 28 elif requested_renderer == 'swiftshader': 29 # TODO: Set up LD_LIBRARY_PATH to SwiftShader libraries automatically. 30 renderer = 'es3' 31 else: 32 print('Unknown renderer ' + requested_renderer) 33 sys.exit(1) 34 35 cmd = [ 36 'cargo', 37 'run', 38 '--release', 39 '--', 40 '--no-block', # Run as fast as possible, for benchmarking 41 '--no-picture-caching', # Disable picture caching, to test rasterization performance 42 '--no-subpixel-aa', # SwiftShader doesn't support dual source blending 43 '--renderer', # Select GL3/ES3 renderer API 44 renderer, 45 'load' 46 ] 47 48 cmd += sys.argv[2:] 49 print('Running: ' + ' '.join(cmd)) 50 subprocess.check_call(cmd) 51 else: 52 print('This script is only supported on Linux')