xref: /aosp_15_r20/external/autotest/client/deps/glmark2/glmark2.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
1*9c5db199SXin Li#!/usr/bin/python3
2*9c5db199SXin Li
3*9c5db199SXin Li# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
4*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be
5*9c5db199SXin Li# found in the LICENSE file.
6*9c5db199SXin Li
7*9c5db199SXin Liimport common, os
8*9c5db199SXin Lifrom autotest_lib.client.bin import utils
9*9c5db199SXin Li
10*9c5db199SXin Liversion = 2
11*9c5db199SXin Li
12*9c5db199SXin Lidef setup(top_dir):
13*9c5db199SXin Li    dst_bin = top_dir + '/glmark2'
14*9c5db199SXin Li    dst_data = top_dir + '/data'
15*9c5db199SXin Li
16*9c5db199SXin Li    # Avoid writing on subsequent setup() calls
17*9c5db199SXin Li    if (os.path.exists(dst_bin)):
18*9c5db199SXin Li        return
19*9c5db199SXin Li
20*9c5db199SXin Li    # Look for an executable installed by app-benchmarks/glmark2
21*9c5db199SXin Li    for exe in 'glmark2', 'glmark2-es2', 'glmark2-waffle':
22*9c5db199SXin Li        src_bin = os.environ['SYSROOT'] + '/usr/bin/' + exe
23*9c5db199SXin Li        if os.path.exists(src_bin):
24*9c5db199SXin Li            break
25*9c5db199SXin Li    else:
26*9c5db199SXin Li        # TODO: throw an exception here?
27*9c5db199SXin Li        return
28*9c5db199SXin Li
29*9c5db199SXin Li    src_data = os.environ['SYSROOT'] + '/usr/share/glmark2'
30*9c5db199SXin Li
31*9c5db199SXin Li    utils.run('cp %s %s' % (src_bin, dst_bin))
32*9c5db199SXin Li    # Copy glmark2 models, shaders and textures
33*9c5db199SXin Li    utils.run('cp -R %s %s' % (src_data, dst_data))
34*9c5db199SXin Li
35*9c5db199SXin Lipwd = os.getcwd()
36*9c5db199SXin Liutils.update_version(pwd + '/src', False, version, setup, pwd)
37