xref: /aosp_15_r20/external/mesa3d/bin/renderdoc-update.py (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker#!/usr/bin/env python3
2*61046927SAndroid Build Coastguard Worker
3*61046927SAndroid Build Coastguard Workerimport base64
4*61046927SAndroid Build Coastguard Workerimport pathlib
5*61046927SAndroid Build Coastguard Workerimport requests
6*61046927SAndroid Build Coastguard Workerimport subprocess
7*61046927SAndroid Build Coastguard Worker
8*61046927SAndroid Build Coastguard Workerdef error(msg: str) -> None:
9*61046927SAndroid Build Coastguard Worker    print('\033[31m' + msg + '\033[0m')
10*61046927SAndroid Build Coastguard Worker
11*61046927SAndroid Build Coastguard Workerif __name__ == '__main__':
12*61046927SAndroid Build Coastguard Worker    git_toplevel = subprocess.check_output(['git', 'rev-parse', '--show-toplevel'],
13*61046927SAndroid Build Coastguard Worker                                           stderr=subprocess.DEVNULL).decode("ascii").strip()
14*61046927SAndroid Build Coastguard Worker    if not pathlib.Path(git_toplevel).resolve() == pathlib.Path('.').resolve():
15*61046927SAndroid Build Coastguard Worker        error('Please run this script from the root folder ({})'.format(git_toplevel))
16*61046927SAndroid Build Coastguard Worker        exit(1)
17*61046927SAndroid Build Coastguard Worker
18*61046927SAndroid Build Coastguard Worker    file = 'include/renderdoc_app.h'
19*61046927SAndroid Build Coastguard Worker    url = 'https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h'
20*61046927SAndroid Build Coastguard Worker
21*61046927SAndroid Build Coastguard Worker    print('Syncing {}...'.format(file), end=' ', flush=True)
22*61046927SAndroid Build Coastguard Worker    req = requests.get(url)
23*61046927SAndroid Build Coastguard Worker
24*61046927SAndroid Build Coastguard Worker    if not req.ok:
25*61046927SAndroid Build Coastguard Worker        error('Failed to retrieve file: {} {}'.format(req.status_code, req.reason))
26*61046927SAndroid Build Coastguard Worker        exit(1)
27*61046927SAndroid Build Coastguard Worker
28*61046927SAndroid Build Coastguard Worker    with open(file, 'wb') as f:
29*61046927SAndroid Build Coastguard Worker        f.write(req.content)
30*61046927SAndroid Build Coastguard Worker
31*61046927SAndroid Build Coastguard Worker    print('Done')
32