diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/ThirdParty/ANGLE/src/libANGLE/renderer/angle_format.py | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/ThirdParty/ANGLE/src/libANGLE/renderer/angle_format.py')
-rw-r--r-- | Source/ThirdParty/ANGLE/src/libANGLE/renderer/angle_format.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/angle_format.py b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/angle_format.py new file mode 100644 index 000000000..e46bc7dba --- /dev/null +++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/angle_format.py @@ -0,0 +1,45 @@ +#!/usr/bin/python +# Copyright 2016 The ANGLE Project Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +# +# angle_format.py: +# Utils for ANGLE formats. + +import json +import os + +def reject_duplicate_keys(pairs): + found_keys = {} + for key, value in pairs: + if key in found_keys: + raise ValueError("duplicate key: %r" % (key,)) + else: + found_keys[key] = value + return found_keys + +def load_json(path): + with open(path) as map_file: + file_data = map_file.read() + map_file.close() + return json.loads(file_data, object_pairs_hook=reject_duplicate_keys) + +def load_forward_table(path): + pairs = load_json(path) + reject_duplicate_keys(pairs) + return { gl: angle for gl, angle in pairs } + +def load_inverse_table(path): + pairs = load_json(path) + reject_duplicate_keys(pairs) + return { angle: gl for gl, angle in pairs } + +def load_with_override(override_path): + map_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'angle_format_map.json') + results = load_forward_table(map_path) + overrides = load_json(override_path) + + for k, v in overrides.iteritems(): + results[k] = v + + return results |